다음 이전 차례

11. Tomcat 3.2.1 설치

Tomcat 3.2 버젼은 크게 두가지 방법으로 설치될 수 있다. mod_jserv 를 이용한 설치와 mod_jk 를 이용한 설치가 있다. 두가지 모두 허용된 설치는 불가하며 각각 따로 설치되어야 한다.

11.1 Tomcat 3.2.1(mod_jserv,Ajpv12)

A. 설치 환경 및 주의 사항

 - wow linux 6.2 
 - Tomcat 3.2.1 
 - Apache 1.3.14
 - JDK 1.2.2 
 - 아래는 주의 사항이다. 
   a. Apache 와 JDK 는 먼저 설치되어 있어야 한다.
   b. 아래의 설치는 mod_jserv에 의한 설치이다.
   c. 톰캣 3.2 버젼대와 3.1버젼대의 설치가 다를 수 있다.
   d. 또한 릴리즈될 톰캣 4.0 버젼과의 설치가 다를 수 있다.
   

B. 설치


B-1 

 -Tomcat 3.2.1 의 바이너리 버젼과 소스 버젼 모두 다움 받는다. 
 -http://jakarta.apache.org 에서 다운받는다. 

B-2
 
 -톰캣 바이너리 버젼은 /usr/local 에 ..
 -소스 버젼은 /usr/local/src 디렉토리에 압축을 푼다. 
 -jakarata-tomcat-3.2.1.tar.gz 의 경우는 아래처럼 ..
 - "tar -zxvf jakarta-tomcat-3.2.1.tar.gz"하여 압축 해제 

B-3

 -/usr/local/src/jakarta-tomcat-3.2.1-src/src/native/apache/jserv로 이동 
 - "apxs -c -o mod_jserv.so *.c" 하여 mod_jserv.so 생성.
  
B-4

 -생성된 mod_jserv.so를 APACHE_HOME/libexec 로 copy 한다. 
 -주의 : "APACHE_HOME" 은 설치된 아파치 디렉토리임

B-5

 -APACHE_HOME/conf/httpd.conf 파일의 마지막 라인에 다음 라인 추가 
 - Include /usr/local/jakarata-tomcat/conf/tomcat.conf 

B-6

 -/etc/profile 에 JAVA_HOME 및 TOMCAT_HOME 환경 변수 설정. 
 -Tomcat 의 bin 도 환경 변수 PATH 에 등록함.
 -다음은 설정 예이다. 
 - JAVA_HOME=/usr/local/jdk
 - TOMCAT_HOME=/usr/local/tomcat 
 - PATH=$PATH:/usr/local/tomcat/bin
 - export JAVA_HOME TOMCAT_HOME PATH
 
B-7

 -/etc/profile 을 재실해하던지 (예: . /etc/profile)
 -로그아웃 후 다시 로그인 

B-8

 -tomcat.sh start 하여 톰캑을 기동한다. 
 -아파치보다 먼저 톰캣이 기동하여 함. 
B-9
 
 -TOMCAT_HOME/conf/tomcat.conf를 다른 이름으로 적절히 백업 혹은 copy
 -TOMCAT_HOME/conf/tomcat-apache.conf 를 tomcat.conf로 copy 한다. 

B-10

 - apachectl start 하여 아파치를 기동한다.
 -아파치가 기동하면서 httpd.conf의 마지막 라인을 읽고 tomcat.conf를 
  참조하게 된다. 
 -아파치 기동 후 브라우져를 뛰우고 다음을 테스트한다. 
 - http://MY-URL/examples/jsp
 - http://MY-URL/examples/servlets

11.2 tomcat.conf 예제 (Tomcat 3.2.1)

TOMCAT_HOME/conf 에 존재하는 tomcat.conf 와 톰캣이 기동할 때 자동적으로 생성되는 tomcat-apache.conf는 함께 동작하는 아파치 및 톰캣에 대한 환경 설정 부분을 담담한다.

기본적으로 jserv 에 대한 환경 설정 지시어가 사용되므로 web-server-plugin 중에 mod_jserv 만을 허용하며 디폴트 프로토콜로는 Ajpv12 를 사용하며 디폴트 포트로는 8007을 사용한다.

Tomcat 기동시 overwrite 되어 자동 생성되는 tomcat-apache.conf는 커스터마이징에 부적절하므로 생성된 tomcat-apache.conf를 tomcat.conf로 복사하여 tomcat.conf를 계속 수정하며 사용하는 것이 좋을 듯 하다. 하지만 tomcat-apache.conf를 사용하여도 큰 문제는 없을 듯 ...


################################################
#                                              #
#  TOMCAT_HOME/conf/tomcat.conf (2001,01,08)   #
#                                              #
################################################

#tomcat.conf 파일은 아파치의 httpd.conf에 설정에 
#의해 아파치에 의해 읽혀짐.
#아파치가 mod_jserv를 인식하도록..
LoadModule jserv_module libexec/mod_jserv.so 

#mod_jserv 모듈에 대한 설정사항 
<IfModule mod_jserv.c>

#mod_jserv 설정사항 
############################
# Do not Edit!
############################
#아파치가 톰캣을 자동 실행 못하므로 manual on으로 
ApJServManual on

#아파치와 톰캣간 통신에 쓰일 디폴트 프로토콜 설정(ajpv12)
ApJServDefaultProtocol ajpv12

#mod_jserv 는 보안키 지원안됨 DISABLED 로 ..
ApJServSecretKey DISABLED

#가상 호스팅 마운트 지원 
ApJServMountCopy on

#Log Level (다른 레벨 : emerg,warn,crit,debug,,)
ApJServLogLevel notice
############################

#디폴트호스트 및 포트 설정 
#아파치와 동일한 호스트(The same machine)이면 localhost
ApJServDefaultHost localhost

#아파치와 톰캣이 통신할 디폴트 포트 설정 
ApJServDefaultPort 8007

#아파치에게 jsp 확장자를 인식시키고 ..
AddType test/jsp .jsp

#jsp 확장자에 대한 처리는 톰캣으로 ..
AddHandler jserv-servlet .jsp

#Alias 는 아파치가 사용할 가상 디렉토리 정의 .
#Static file(HTML,Image 파일)은 아파치가 처리하도록 설정.
#http://MY-URL/examples는 톰캣이 아닌 아파치가 처리 
Alias /examples "/usr/local/tomcat/webapps/examples"

#아파치가 처리할 가상 디렉토리의 실제 디렉토리에 대한 설정사항
<Directory "/usr/local/tomcat/webapps/examples">
 Options Indexes FollowSymLinks
</Directory>

#톰캣이 사용할 URL-PATH를 위한 마운팅 설정 옵션 
#http://MY-URL/examples/servlet/my_classes
#또한 아래의 마운트옵션과 다은은 등가일 것이다. 
#ApJServMount /examples/servlet ajpv12://localhost:8007/examples
ApJServMount /examples/servlet /examples

#보안상 중요한 WEB-INF 디렉토리에 대한 보호 설정 
#마찬가지로 META-INF도 똑같이 설정하면 좋을듯..
<Location "/examples/WEB-INF/">
 AllowOverride None
 deny from all
</Location>

..........
..........
</IfModule>
</verb></tscreen>

11.3 Tomcat 3.2.1 (mod_jk.so, Ajp13)

mod_jk.so는 mod_jserv.so 를 완전히 재작성한 web-server-plugin이다. web-server-plugin이란 아파치등의 웹서버와 톰캣사이의 통신을 당담하는 모듈로서 제공된 포트와 특정 프로토콜을 이용하여 웹서버와 톰캣간 통신을 지원한다.

웹 브라우져를 통해 아파치 서버등의 웹서버로 전달된 클라이언트측의 사용자 요청은 톰캣으로 전달될 수 있으며 톰캣에서 처리된 결과를 아파치 서버로 전달할 수 있게 한다.

웹서버와 톰캣사이에서의 통신을 위해 요구되는 것은 포트번호와 프로토콜 및 기타 호스트에 대한 정보등이다. 호스트에 대한 것은 위의 tomcat.conf의 ApJServDefaultHost를 보라.

mod_jk에서 사용하는 프로토콜로는 크게 두가지가 있으며 Ajpv12Ajpv13 이 있다.

A. 설치환경 및 주의사항

 - wow linux 6.2 
 - Tomcat 3.2.1 
 - Apache 1.3.14
 - JDK 1.2.2 
 - 다음은 주의사항이다. 
   a. Apache 와 JDK 는 먼저 설치되어 있어야 한다.
   b. 아래의 설치는 mod_jk에 의한 설치이다.
   c. 톰캣 3.2 버젼대와 3.1버젼대의 설치가 다를 수 있다.
   d. 또한 릴리즈될 톰캣 4.0 버젼과의 설치가 다를 수 있다.

B. 설치

B-1
 
 -톰캣 3.2.1 바이너리 버젼과 소스 버젼 모두 다운받는다.  
 -http://jakarta.apache.org 에서 다운받는다. 

B-2 
 
 -이전에 톰캣을 mod_jserv로 설치했다면 
 -mod_jserv에 대한 모든 사항은 모두 삭제 
 -httpd.conf 의 Include /usr/local/tomcat/conf/tomcat.conf등의 항 제거  
 
B-3 

 -톰캣 바이너리 버젼은 /usr/local/ 에 
 -소스 버젼은 /usr/local/src/ 에 압축을 푼다. 
 -jakarata-tomcat-3.2.1.tar.gz 의 경우는 아래처럼 .. 
 -"tar -zxvf jakarta-tomcat-3.2.1.tar.gz"하여 압축 해제 
 
B-4 
 
 -mod_jk.so 를 생성하기 위해 다음처럼  소스 디렉토리로 이동. 
 -"cd /usr/local/src/jakarta-tomcat-3.2.1-src/src/native/apache1.3" 
   (or apache2.0)
 -"apxs -o mod_jk.so -I../jk -I/usr/local/jdk/include 
   -I/usr/local/jdk/include/linux -c *.c ../jk/*.c" 
 -위의 라인을 모두 한줄에서 입력 후 실행. 
 -JDK PATH 는 자신의 JDK 경로에 맞게..
 -생성된 mod_jserv.so 를 APACHE_HOME/libexec/에 copy 한다. 
 -APACHE_HOME 자신의 아파치 디렉토리 경로임.
 
B-5 
 
 -/etc/profile에 TOMCAT_HOME 과 JAVA_HOME 및 톰캣의 bin 경로 설정 
 -다음은 설정 예이다. 
 - JAVA_HOME=/usr/local/jdk
 - TOMCAT_HOME=/usr/local/tomcat 
 - PATH=$PATH:/usr/local/tomcat/bin
 - export JAVA_HOME TOMCAT_HOME PATH

B-6 

 -/etc/profile 을 재실해하던지 (예: . /etc/profile)
 -로그아웃 후 다시 로그인 

B-7

 -Ajpv13 설정 
 -TOMCAT_HOME/conf/server.xml 에 다음 내용을 Ajp12 설정 다음 부분에 추가 
 -<Connector className="org.apache.tomcat.service.PoolTcpConnector">
    <Parameter name="handler"
    value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/>
    <Parameter name="port" value="8009">
  </Connector>
 -참고로 Ajpv12 에 대한 설정 부분은 그대로 나둔다. 
 -Ajpv12 설정 부분은 톰캣의 종료에 대한 부분을 관여하기 때문이다. 
 -대신 stand-alone 모드가 아니므로 http 에 대한 부분은 주석처리 가능하다. 
 
B-8 

 -아파치의 httpd.conf에 다음라인 추가 
 -Include /usr/local/jakarta-tomcat/conf/mod_jk.conf-auto
 
B-9 

 -TOMCAT_HOME/conf/workers.properties 수정하기 
 -수정되어질 항목은 다음의 3개이다.
 -workers.tomcat_home, workers.java_home, ps
 -workers.tomcat_home 을 다음처럼 
 -workers.tomcat_home=/usr/local/jakarta_tomcat
 -workers.java_home을 다음처럼 
 -workers.java_home-/usr/local/jdk
 -ps 를 다음처럼 
 -ps=/
 -각각 위의 예를 보며 자신에 맞게 적절히 수정한다. 
 
 
B-10 

 -실행 후 확인한다. 
 -tomcat.sh start
 -apachectl start 
 -브라우져를 뛰우고 URL 창에 다음처럼 입력 
 -http://MY-URL/examples/jsp

11.4 stand-alone 제거

server.xml 파일을 수정하여 stand-alone 동작을 위한 connector 부분은 주석 처리하거나 삭제하여도 무방하다. 아니 삭제하는 것이 더 좋을 듯하다. 하지만 AJPV13 을 사용하더라도 AJPV12 에 대한 Connector 설정부분은 삭제를 하면 안된다. Ajpv12 Connector 부분은 Tomcat 의 Shutdown 에 관여하기 때문이다.

다음은 server.xml 내의 stand-alone 의 operation을 위한 HTTP Connection 설정부분이다. 그냥 참고하기 바란다.

<Connector className="org.apache.tomcat.service.PoolTcpConnector">
 <Parameter name="handler"
   value="org.apache.tomcat.service.http.HttpConnectionHandler"/>
 <Parameter name="port"
   value="8080"/>
</Connector>


다음 이전 차례