Programming/JSP2007/09/25 11:42

작성자 : f405(ccotti22)
작성일 : 2005년 4월 6일 수요일
이메일 : f405@naver.com

저작권 : 이 문서는 자유롭게 수정 및 배포가 가능합니다. 단 상업적 용도로 사용할 수 없습니다. 수정 및 배포 시 작성자의 이름 및 출처를 꼭 명시하기 바랍니다.

이 문서는 공부하는 입장에서 작성되었으므로 틀린 부분을 다소 포함할 수 있으며, 저는 그에 대한 책임을 지지 않겠습니다. 부족하지만 다른 분들도 공부하는데 도움이 되길 바랍니다. 그리고 이 문서를 작성하기 전 참고한 리눅스 문서들을 작성하신 많은 선배님들에게 감사의 말씀을 드립니다.

그리고 이 후부터는 경어는 생략하였습니다. 양해의 말씀을...

설치환경

Red Hat Linux (Kernel 2.6.9-5.EL)

설치 Package 구성 (필요한 File) //다음 File들을 Download 받고 설치 시작

httpd-2.0.53 (httpd-2.0.53.tar.gz)
php-5.0.3 (php-5.0.3.tar.tar)
mysql-standard-4.1.10a-pc-linux-gnu-i686 (mysql-standard-4.1.10a-pc-linux-gnu-i686.tar.gz)
j2sdk1.4.2_08 (j2sdk-1_4_2_08-linux-i586.bin)
jakarta-tomcat-5.0.28 (jakarta-tomcat-5.0.28.tar.gz)
jakarta-tomcat-connectors-jk2-2.0.4-src (jakarta-tomcat-connectors-jk2-src-current.tar.gz)

다음 Site에서 필요한 File들을 Download 받을 수 있다.

[Apache] http://httpd.apache.org/download.cgi
[MySQL] http://dev.mysql.com/downloads
[PHP] http://www.php.net/downloads.php
[J2SE] http://java.sun.com/j2se/1.4.2/download.html
[Tomcat] http://jakarta.apache.org/site/binindex.cgi
[Tomcat-connector] http://jakarta.apache.org/site/downloads/downloads_tomcat.html


설치는 MySQL, J2SE, Apache2, PHP, Tomcat, Tomcat-connector의 순서대로 진행한다.

모든 설치는 root권한으로 진행하며 작업에 필요한 Download File들은 모두 /usr/local/ 에 저장한다.

// 기존의 rpm을 검색하여 삭제한 후 설치를 시작하도록 한다.
rpm -e --nodeps `rpm -qa | grep -i mysql`
rpm -e --nodeps `rpm -qa | grep -i php`
rpm -e --nodeps `rpm -qa | grep -i apache`
rpm -e --nodeps `rpm -qa | grep -i httpd`

Process를 확인하여 현재 Apache Web Daemon이 실행되고 있는지 확인한다.

#> ps –ef |grep httpd

작동중인 httpd Daemon이 목록에 나타나면 종료 시킵니다.

#> /etc/init.d/httpd stop

- MySQL 설치

# groupadd mysql
# useradd -g mysql -s /bin/false mysql
# tar -xvzf mysql-standard-4.1.10a-pc-linux-gnu-i686.tar.gz
# ln -s /usr/local/mysql-standard-4.1.10a-pc-linux-gnu-i686 /usr/local/mysql
# cd /usr/local/mysql
# ./scripts/mysql_install_db
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .
# cp ./support-files/my-medium.cnf   /etc/my.cnf
# cp ./support-files/mysql.server   /etc/init.d/mysqld
# vi /etc/init.d/mysqld

// 154 줄을 다음과 같이 수정한다. // 버전에 따라 다름.. 다음 부분을 잘 찾아서 고칠 것

$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file --user=mysql >/dev/null 2>&1 &

# chmod 700 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
# /etc/init.d/mysqld start

- J2SE 설치

배포본 형태는 2가지이다.

RPM File을 만들어주는 Binary File과 배포 File이 있는 위치에서 압축을 풀어서 설치하는 Binary File 이다. 여기서는 Binary File 배포본을 Download 받아서 설치한다.

- Binary 배포본 설치

배포파일 : j2sdk-1_4_2_08-linux-i586.bin

설치할 위치는 사용자가 임의로 정할 수 있으며, 여기서는 /usr/local/ 에 설치한다. 처음에 Download 받았을 때에는 실행권한이 없으므로 실행이 가능하도록 권한을 설정한다.

# chmod 755 j2sdk-1_4_2_08-linux-i586.bin

File을 실행시켜서 J2SE를 설치한다.

# ./ j2sdk-1_4_2_08-linux-i586.bin

화면에 출력되는 사용권 계약에 동의하면 압축이 풀리면서 SDK가 설치된다.

설치 경로는 /usr/local/j2sdk1.4.2_08 이다. 설치된 Folder에 Symbolic Link를 걸어준다.

# ln –s /usr/local/j2sdk1.4.2_08 /usr/local/j2sdk

PATH를 설정한다. PATH 설정을 위해 /etc/profile을 열어서 File 첫 부분에 다음을 추가한다.

# vi /etc/profile

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME=/usr/local/j2sdk
export PATH=$PATH:$JAVA_HOME/bin:

변경된 설정을 System에 적용시킵니다.

# source /etc/profile

임의의 위치에서 java를 실행시킵니다.

# java

JAVA Option들이 화면에 출력되면 성공적으로 설치가 이루어진 것이다.

Version을 확인하면 설치한 Version이 맞게 출력된다. 다른 Version이 출력되면 설치가 실패한 것이거나 PATH 설정 부분에 문제가 있는 것이니 확인해 보길 권한다.

# java -version

java version "1.4.2_08"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)

- apache2 설치

# tar -xvzf httpd-2.0.53.tar.gz
# cd httpd-2.0.53
# ./configure    --prefix=/usr/local/apache2 \
--enable-rule=SHARED_CORE \
--enable-modules=so \
--enable-so

# make
# make install

# vi /usr/local/apache2/conf/httpd.conf 수정한다. AddType 부분에 아래 두 줄 추가...

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

chkconfig 명령을 이용하여 각 실행 Level에서 httpd Daemon이 자동 실행되도록 설정할 수 있다.

# chkconfig --level 35 httpd on

마지막으로 /usr/local/apache2/conf/httpd.conf File의 설정을 변경한다.

#ServerName www.example.com:80 부분 아래에 ServerName localhost:80 혹은 ServerName 127.0.0.1:80 을 추가한다. 자기의 Domain Name을 적어주어도 좋다..

설치 확인

# /usr/local/apache2/bin/httpd -t

Syntax OK   …라고 출력된 후 Prompt가 떨어지면 OK!!

- PHP 설치

# vi /etc/ld.so.conf

다음 라인 추가  

/lib    
/usr/lib   
/usr/local/lib  
/usr/local/mysql/lib  

# ldconfig
# tar -xvzf  php-5.0.3.tar.tar
# cd php-5.0.3
LIBS="-L/usr/local/mysql/lib -lmysqlclient" ./configure \
--prefix=/usr/local/php5 \
--with-config-file-path=/usr/local/php5/lib \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-dom=/usr \
--with-zlib-dir=/usr \
--enable-dio \
--enable-mbstring=all \
--enable-mbstr-enc-trans \
--enable-mbregex
# make
# make install
# cp ./php.ini-dist /usr/local/php5/lib/php.ini

- Tomcat 설치

5.5.0 은 j2se5.0 을 필요로 하므로 낮은 Version을 받아야 한다.

- Binary 설치

Download File의 저장 위치인 /usr/local/ 에서 압축을 풀어준다.

# tar -zxvf jakarta-tomcat-5.0.28.tar.gz

Jakarta-tomcat-5.0.28 Directory가 생성되면 Link를 이용하여 tomcat 의 경로를 지정.

# ln –s /usr/local/Jakarta-tomcat-5.0.28 /usr/local/tomcat

실행 File이 들어있는 Directory로 이동하여 Tomcat 실행.

/usr/local/bin/의 catalina.sh 또는 startup.sh File을 실행시킨다.

# cd  /usr/local/tomcat/bin
# ./catalina.sh start 또는 # ./startup.sh

Using CATALINA_BASE:     /usr/local/tomcat
Using CATALINA_HOME:    /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME:            /usr/local/j2dk

위의 Message가 나오면 Tomcat이 정상적으로 작동하는 것이다. Web Browser를 통해 다음의 주소로 접속한다.

http://localhost:8080 또는 http://설치한서버의주소:8080

정상적으로 Tomcat이 작동하고 있다면 Tomcat 관련 문서가 나타난다. 말로만 듣던 못생긴 고양이가 정말 못생겼다..

만일, 정상적으로 작동하지 않는다면 J2SE가 제대로 설치되지 않았거나 PATH 설정이 올바르지 않았기 때문이므로 /etc/profile을 열어  PATH 설정 부분을 확인한다.

Tomcat의 Shut down은 catalina.sh 또는 shutdown.sh File을 이용한다.

# ./catalina.sh stop 또는 # ./shutdown.sh

/etc/profile에서 J2SE 설치 시 PATH 설정한 부분에 다음을 추가한다.

# vi /etc/profile

export JAVA_HOME=/usr/local/j2sdk
export APACHE2_HOME=/usr/local/apache2
export CATALINA_HOME=/usr/local/tomcat
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/activation.jar:

$JAVA_HOME/lib/mail.jar:$CATALINA_HOME/common/lib/servlet.jar

export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$APACHE2_HOME/bin:.

변경된 설정을 System에 적용시킨다.

# source /etc/profile

PATH를 설정해주었으므로 임의의 위치에서 Tomcat을 실행시킬 수 있다.

설치 완료!!

- Tomcat Web Server Connector, JK2를 이용한 Apache2와 Tomcat5의 연동

Apache와 Tomcat연동

배포파일 : jakarta-tomcat-connectors-jk2-src-current.tar.gz

JK2 connector Source를 Compile 하면 mod_jk2.so Module을 얻는다. Apache Web Server와 Tomcat을 연동할 mod_jk2.so Module을 얻는 것이 Compile의 목적이라 활 수 있겠다.

# cd /usr/local/
# tar -zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
# cd  /usr/local/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs
# make
# cd ../build/jk2/apache2
# pwd

/usr/local/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2

# ls (mod_jk2.so 파일 확인)
# cp mod_jk2.so  /usr/local/apache2/lib
#  cd  /usr/local/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf
# cp workers2.properties  /usr/local/apache2/conf/

/usr/local/apache2/conf/httpd.conf File의 LoadModule 부분을 찾아서 아래와 같이 추가하고, DirectoryIndex 부분을 찾아서 index.jsp를 추가한다.

LoadModule jk2_module /usr/local/apache2/lib/mod_jk2.so



DirectoryIndex             index.html index.html.var index.php index.phtml index.jsp

#> vi /usr/local/apache2/conf/worker2.properties 에서 다음 부분을 맨 아래에 추가
# Shared memory handling. Needs to be set.

[shm]

file=/usr/local/apache2/logs/jk2.shm
size=1048576

# Example socket channel, explicitly set port and host.

[channel.socket:localhost:8009]

port=8009
host=127.0.0.1

# Define The Worker

[ajp13:localhost:8009]

channel=channel.socket:localhost:8009

# Anounce Status Worker
# [status:status]
# Announce Uri mapping

[uri:/examples/*]

worker=ajp13:localhost:8009

# Uri mapping

[uri:/*]

worker=ajp13:localhost:8009

# Uri status

[uri:/status/*]

worker=status:status

jk2.properties 에서 다음을 추가

# vi /usr/local/apache2/conf/jk2.properties

channelSocket.port=8009
shm.file=/usr/local/apache2/logs/jk2.shm
apr.jniModeSo=inprocess

끝.

연동이 됐는지 확인을 하려면 Tomcat을 먼저 띄우고 Apache를 띄운다.

추가적으로 관리자 모드를 접속하기 위해서는  /톰캣경로/conf/tomcat-users.xml File에 User를 추가한다. Version마다 약간씩 틀릴 수도 있겠지만 방식은 거의 대동소이하다. 아래 설정 File을 참고해서 관리자 ID와 Password를 추가하자.

# /usr/local/tomcat/conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>

  <role rolename="admin"/>
  <role rolename="manager"/>
  <role rolename="tomcat"/>
  <role rolename="role1"/>

  <user username="admin" password="********" roles="admin,manager"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>

</tomcat-users>

이제 톰캣을 시동해 본다.

# ./startup.sh  (시동)
# ./shutdown.sh ( 셧다운)

시동 후 Browser로 http://ip or domain/ 했을때 고양이 그림이 나타나면 성공이다.

왼쪽 Menu 중 admin을 Click해서 위에서 설정한 ID, Password를 넣고 관리자 모드 접속이 잘되는지도 확인해 본다.

저작자 표시 비영리 변경 금지
Creative Commons License

'Programming > JSP' 카테고리의 다른 글

JSP에서의 File Upload  (4) 2007/09/27
JSP, Servlet, Database 한글문제 총정리  (1) 2007/09/26
APM, Tomcat, JSP 설치 및 연동  (0) 2007/09/25
Posted by BLUEDAY™