태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

[CentOS] J2SDK + TOMCAT 5 + JK2

┃ Linux 2008.09.07 23:35
[CentOS] J2SDK + TOMCAT 5 + JK2 리눅스

2007/12/14 11:20

http://blog.naver.com/gikimirane/130025565556

여기선 Java2 1.5 + Tomcat 5 + JK2 를 설치해보겠다.


사실상 JK2를 설치하지 않아도 Tomcat 만으로도 웹서버의 기능을 할 수는 있지만..

별로 성능이 좋지 않은 관계로 JK2를 이용하여 아파치와 연동하여 사용할 수 있도록 하겠다.


###### JDK (J2SDK) 1.5.0.05 Install ####

http://archive.apache.org/dist/jakarta/tomcat-5

홈페이지에 들어가 필요한 파일을 다운로드 받는다.

https://jsecom15c.sun.com/ECom/EComActionServlet;jsessionid=AB62367CF76050E1F73DF92AB70C3FDC#


리눅스용 RPM BIN 파일을 다운로드 받아 /usr/local/src에 옮겨놓자.

파일명 : jdk-1_5_0_05-linux-i586-rpm.bin


설치하기 전에 기존에 설치되어 있는 RPM을 삭제하도록 하자.
# rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-27jpp
# rpm -e --nodeps gcc-java-3.4.3-22.1


설치한다.

# cd /usr/local/src
# chmod 755 jdk-1_5_0_05-linux-i586-rpm.bin

# ./jdk-1_5_0_05-linux-i586-rpm.bin


사용상의 license 에 대해서 줄줄히 설명이 나온다. yes를 입력하자.

자동으로 설치가 끝난다.


환경설정 파일을 다시 열어 아래 부분을 추가하자.

php를 설치할 때 추가한 부분도 참고삼아 넣어두었다.


# vi /etc/profile
=======================================================================================
JAVA_HOME=/usr/java/jdk1.5.0_05
APACHE_HOME=/usr/local/apache
ORACLE_HOME=/usr/lib/oracle
LD_LIBRARY_PATH=/usr/lib/oracle
PATH=$PATH:$JAVA_HOME/bin:$APACHE_HOME/bin:$ORACLE_HOME
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH APACHE_HOME ORACLE_HOME LD_LIBRARY_PATH
export NLS_LANG=.KO16KSC5601
=======================================================================================

# source /etc/profile

# javac 라고 입력해서 뭔가 설명이 쭈욱~ 나온다면.. 설치는 성공이다.




###### TOMCAT 5.5.9 Install ####

톰켓 역시 홈페이지를 방문하여 다운로드 받아 /usr/local/src 로 옮겨놓자.

http://tomcat.apache.org


필자는 5.5.9 버전을 설치했는데 이 글을 쓰고 있는 동안 12로 빌드업이 되어버렸다.

지금 여기서는 빌드 9에 대해서 설명 하겠지만.. 설치방법이 별로 다르지 않으니 최신버전을 설치하도록 하자.


# cd /usr/local/src
# tar xvzf jakarta-tomcat-5.5.9.tar.gz
# mv jakarta-tomcat-5.5.9 /usr/local/tomcat


... 끝났다 ....


하지만 톰캣의 진정한 어려움은 설치가 아니라 세팅파일의 변경이다.

우선 가장 간단한 jk2.properties 파일부터 살펴보자.


vi /usr/local/tomcat/conf/jk2.properties

=======================================================================================

## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.

## COMMENTS WILL BE _LOST_

## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.

# Set the desired handler list
# handler.list=apr,request,channelJni
#
# Override the default port for the socketChannel
channelSocket.port=8009
# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config is working
shm.file=/usr/local/apache/logs/jk2.shm

# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:

# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so

# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
apr.jniModeSo=inprocess

=======================================================================================

필자의 파일내용이다. 변경해야 할 부분을 붉게 표시했으니 참고 바란다.



다음은 web.xml 파일이다.

내용이 너무 긴 관계로 중간에 주석을 풀어야만 하는 부분에 대해서만 표시하도록 하겠다.

# vi /usr/local/tomcat/conf/web.xml

=======================================================================================

-- 중략 --



invoker

org.apache.catalina.servlets.InvokerServlet


debug
0

2


-- 중략 --



invoker
/servlet/*

=======================================================================================

위의 부분이 기본적으론 주석처리되어 있는데.. 주석을 풀도록 한다.



마지막으로 server.xml 파일이다.

vi /usr/local/tomcat/conf/server.xml
=======================================================================================












/home/free/html" unpackWARs="true"

autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">



/home/free/html
" unpackWars="true"

autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

www.test.net



=======================================================================================

불필요한 부분은 모두 제거하고 알맹이만 정리해 보았다.

붉은 부분이 역시나 중요한 부분으로 tomcat이 실행될 때 참조하는 디렉토리이다.

도메인을 참조하기 위해서 2번 반복되지만 사실상 위의 localhost 부분은 지워도 된다.

참고로 필자의 홈페이지는 /home/free/html 에 위치하고 있기 때문에 이렇게 표기했다.

하지만 테스트를 해보기 위해선 아래와 같이 바꿔보자.


test.net" debug="0" appBase="webapps" unpackWARs="true"

autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
ROOT" reloadable="true"/>


이젠 tomcat은 /usr/local/tomcat/webapps/ROOT 디렉토리를 메인으로 실행하게 된다.

하지만 아직 apache와 연동되지 않았으므로 정상적으로 실행되지는 않을 것이다.

아파치와의 연동에 대해서 알아보자..




###### JK2 Connector 2.0.2 Install ####

홈페이지를 방문하여.. 다운로드 받아 /usr/local/src 에 옮겨놓자.. (이제 이 멘트도 지겨워진다.)

http://ftp.apache-kr.org/tomcat/tomcat-connectors/jk2/

(필자는 2.0.4에서 소스컴파일이 되지 않아 2.0.2를 설치했었다.)


# cd /usr/local/src
# tar xvfz jakarta-tomcat-connectors-jk2-2.0.2-src.tar.gz
# cd /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2
# chmod 755 buildconf.sh
# ./buildconf.sh
# ./configure --with-apxs2=/usr/local/apache/bin/apxs
# make
# cp /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/build/jk2/apache2/mod_jk2.so /usr/local/apache/modules/mod_jk2.so

# cp /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/conf/workers2.properties /usr/local/apache/conf


아파치에서 사용하는 workers2.properties 파일을 수정하도록 하자.

apache와 tomcat은 서로 workers2.properties 와 jk2.properties 에 의한 8009 포트인 apr 1.3을 통해서 연동이 된다.


# vi /usr/local/apache/conf workers2.properties

=======================================================================================

[config:]
file=${serverRoot}/conf/workers2.properties
debug=0
debugEnv=0


[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=${serverRoot}/logs/jk2.shm
size=1048576
debug=0
disabled=00


# Uri mapping
[uri:/servlet/*]
worker=ajp13:localhost:8009

[uri:/*.jsp]
worker=ajp13:localhost:8009

=======================================================================================

${serverRoot}는 아파치의 설치경로를 뜻한다. 즉 /usr/local/apache 이다.

shm파일의 경로와 하단의 Uri mapping 부분만 추가/수정 하면 될 것이다.



# vi /usr/local/apache/conf/httpd.conf
=======================================================================================
LoadModule jk2_module modules/mod_jk2.so

DocumentRoot "/usr/local/tomcat/webapps/ROOT"

/usr/local/tomcat/webapps/ROOT">

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

=======================================================================================

tomcat 의 server.xml 에서 지정한 경로와 동일하게 입력하도록 한다.



환경변수 파일을 수정한다.

# vi /etc/profile
=======================================================================================
JAVA_HOME=/usr/java/jdk1.5.0_05

CATALINA_HOME=/usr/local/tomcat
CATALINA_LIB=$CATALINA_HOME/common/lib
APACHE_HOME=/usr/local/apache
ORACLE_HOME=/usr/lib/oracle
LD_LIBRARY_PATH=/usr/lib/oracle
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$APACHE_HOME/bin:$ORACLE_HOME
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$CATALINA_LIB/servlet-api.jar:$CATALINA_LIB/jsp-api.jar
export JAVA_HOME CATALINA_HOME CLASSPATH APACHE_HOME ORACLE_HOME LD_LIBRARY_PATH
export NLS_LANG=.KO16KSC5601
=======================================================================================

# source /etc/profile


아파치를 재시동한다.

#apachectl stop

#apachectl start


이제 톰켓을 시동해보자.

# catalina.sh stop

# catalina.sh start


브라우저에 입력한다.

http://www.test.com/index.jsp


톰캣의 그림이 나오면 성공이다.

jsp와 servlet 테스트를 해보도록 하자.

tags :
Trackbacks 0 : Comments 0

Write a comment