본문으로 바로가기

APM, Tomcat, JSP 설치 및 연동

category 웹/웹.리눅스.SQL 2008. 4. 17. 15:10

APM, Tomcat, JSP 설치 연동

 

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

작성일 : 2005 4 6 수요일
이메일 : f405@naver.com


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

 

설치환경

Red Hat Linux (Kernel 2.6.9-5.EL)

 

설치 패키지 구성(필요한 파일) //다음 파일들을 다운 받고 설치 시작

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)

 

다음 사이트에서 필요한 파일들을 다운받을 있다.

[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권한으로 진행하며 작업에 필요한 다운로드 파일들은 모두 /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`

 

프로세스를 확인하여 현재 Apache 웹데몬이 실행되고 있는지 확인한다.

#> ps –ef |grep httpd

작동중인 Httpd 데몬이 목록에 나타나면 종료 시킵니다.

#> /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 파일을 만들어주는 binary 파일과 배포파일이 있는 위치에서 압축을 풀어서 설치하는 바이너리 파일이다. 여기서는 바이너리 파일 배포본을 다운로드 받아서 설치한다.

 

- binary 배포본 설치

 

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

 

설치할 위치는 사용자가 임의로 정할 있으며, 여기서는 /usr/local/ 설치한다.

처음에 다운받았을 때에는 실행권한이 없으므로 실행이 가능하도록 권한을 설정한다.

 

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

 

파일을 실행시켜서 J2SE 설치한다.

 

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

 

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

 

 

설치 경로는 /usr/local/j2sdk1.4.2_08 이다. 설치된 폴더에 심볼릭 링크를 걸어준다.

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

 

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

# vi /etc/profile

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME=/usr/local/j2sdk

export PATH=$PATH:$JAVA_HOME/bin:

 

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

# source /etc/profile

 

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

# java

 

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

버전을 확인하면 설치한 버전이 맞게 출력된다. 다른 버전이 출력되면 설치가 실패한 것이거나 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 명령을 이용하여 실행레벨에서 httpd데몬이 자동 실행되도록 설정할 있다.

# chkconfig --level 35 httpd on

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

#ServerName www.example.com:80 부분 아래에

ServerName localhost:80 혹은

ServerName 127.0.0.1:80 추가한다. 자기의 도메인 네임을 적어주어도 좋다..

 

설치 확인

# /usr/local/apache2/bin/httpd -t
Syntax OK  
라고 출력된 프롬프트가 떨어지면 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 필요로 하므로 낮은 버전을 받아야 한다.

 

- 바이너리 설치

다운파일의 저장위치인 /usr/local/ 에서 압축을 풀어준다.

 

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

 

Jakarta-tomcat-5.0.28 디렉토리가 생성되면 Link 이용하여 tomcat 경로를 지정.

 

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

 

실행파일이 들어있는 디렉토리로 이동하여 Tomcat실행.

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

 

# 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

 

위의 메시지가 나오면 Tomcat 정상적으로 작동하는 것이다. 웹브라우저를 통해 다음의 주소로 접속한다.

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

 

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

 

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

 

Tomcat Shut down catalina.sh 또는 shutdown.sh 파일을 이용한다.

 

# ./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:.

 

  

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

# source /etc/profile

 

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

 

설치 완료!!


  

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

 

Apache Tomcat연동

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

 

JK2 connector 소스를 컴파일 하면 mod_jk2.so 모듈을 얻는다.

Apache 웹서버와 Tomcat 연동할 mod_jk2.so 모듈을 얻는 것이 컴파일의 목적이라 있겠다.

# 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 파일의 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

 

.

연동이 됐는지 확인을 하려면 톰캣을 먼저 띄우고 아파치를 띄운다.

 

추가적으로 관리자 모드를 접속하기 위해서는  /톰캣경로/conf/tomcat-users.xml 파일에 유저를 추가한다. 버전마다 약간씩 틀릴 수도 있겠지만 방식은 거의 대동소이하다. 아래 설정파일을 참고해서 관리자 id 패스워드를 추가하자.

 

# /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 ( 셧다운)

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

왼쪽 메뉴중 admin 클릭해서 위에서 설정한 id,pass 넣고 관리자 모드 접속이 잘되는지도 확인해 본다.