>> Delete No. 3017 article
No. RedHat8.0에서 Apache2.0.40+Tomcat4.1.12 연동

등록 2002-11-05 10:58:00     조회 8
이름 jinuxer    

		Apache2.0.40 + Tomcat4.1.12 on RedHat8.0
  
 구경탁 jinuxer at koug.net 1차수정 : 2002년 11월 01일
 2차수정 : 2002년 11월 05일
  
  -----------------------------------------------------------------------
---------
 본 문서는 LINUX에서 Apache와 Tomcat의 연동을 시도하였으나, 매번 삽질만
하다가 끝내는 포기하고 하위버전을 사용하거나, Tomcat 단독으로 사용하여
Test를 하시는 분들을 위하여 조금이나마 도움이 되라고 작성한 문서입니
다. 본문의 내용은 존칭은 생략토록 하겠습니다.(__)
   -----------------------------------------------------------------------
---------
  
 1. 작업환경
 OS : RedHat8.0
Apache : 2.0.40
Tomcat : 4.1.12
Java : 1.4.1
2. 다운로드목록
 http://java.sun.com/j2se/1.4.1/download.html http://www.apache.kr.net/dist/httpd-2.0.40.tar.gz http://jakarta.apache.or
g/builds/jakarta-tomcat- 4.0/release/v4.1.12/bin/jakarta-tomcat-4.1.12.tar.gz http://jakarta.apache.org/builds/jakarta-t
omcat- 4.0/release/v4.1.12/src/jakarta-tomcat-connectors-4.1.12-src.tar.gz 주, httpd-2.0.40.tar.gz와, jakarta-tomcat-c
onnectors-4.1.12-src.tar.gz 는 mod_jk.so가 Apache2.0.40에 맞춰진것이 없어서 직접 생성을 해야하므
로, 받아야 할 것이다. 생성하면되지 왜안되냐?라고 묻는다면 눈씻고 찾아봐
두 mod_jk.so생성에 필요한 apxs가 없다. 그래서 편법(일명 잔머리)을 사용
했다.
  
 3. 작업디렉토리 및 설치경로
 /tmp => 소스다운로드 디렉토리
/usr/local/apache => Apache 설치디렉토리
/usr/local/tomcat => Tomcat 설치디렉토리
/usr/local/java => Java 설치디렉토리
 4. 간략한 설치과정 소개
 Apache를 compile하여 install을 한다.
mod_jk.so를 생성한다.
Java를 설치한다.
Tomcat을 설치한다.
Apache와 Tomcat을 연동한다.
Context 추가 및 ROOT 디렉토리 변경한다.
맘껏 Test를 해본다.
5. Apache 설치
  
 이부분은 서두에서두 언급했지만 mod_jk.so를 생성하기위한것이다. 허나,
default로 인스톨되어 있는 Apache를 사용하지않고 Apache를 직접 compile
및 install하여 사용하겠다면 적당한 디렉토리에 인스톨을 하면 되겠다.
  
 # cd /tmp
# tar xzvf httpd-2.0.40.tar.gz
# cd /tmp/httpd-2.0.40
# ./configure --prefix= /usr/local/apache --enable-rule=SHARED_CORE --
enable-module= so
   
 주, httpd-2.0.40/INSTALL 문서를 한번쯤 읽어보자.
   
 # make
# make install
# httpd -l
  
 mod.so.c 이 리스트에 보이면 성공!
  
 부록 : 부팅시 자동으로 Apache 시동하기
  
 이 내용은 default 로 install 되어 있는 Apache를 사용할 경우는 상관없다.
setup 에서 check만으로 되기때문이다. 새로 compile하여 install을 한 경우
만 해당한다.
  
 # cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
# cd /etc/rc.d/rc5.d
# ln -s /etc/rc.d/init.d/httpd S86httpd
# cd /etc/rc.d/rc6.d
# ln -s /etc/rc.d/init.d/httpd K86httpd
  
 4. mod_jk.so 생성
   
 # cd /tmp
# tar xzvf jakarta-tomcat-connectors-4.1.12-src.tar.gz
# cd /tmp/jakarta-tomcat-connectors-4.1.12-src/jk/native
# ./buildconf.sh
# ./configure --with-apxs=/tmp/apache/bin/apxs
   
 주, jakarta-tomcat-connectors-4.1.12-src/jk/native/BUILDING 문서를 한번
쯤 읽어보자.
   
 # make
# make install
# ll /usr/local/apache/modules
  
 mod_jk.so 이 있으면 성공!
  
 5. 환경변수설정
  
 Java와 Tomcat을 위한 환경변수를 설정하는 부분이다.
  # vi /etc/profile
  
  -----------------------------------------------------------------------
---------
  ...
JAVA_HOME=/usr/local/java
CATALINA_HOME=/usr/local/tomcat
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
 export JAVA_HOME CATALINA_HOME
...
   -----------------------------------------------------------------------
---------
  
 # source /etc/profile
  
 편집 후 환경변수를 적용시킨다.
  
 6. Java 설치
  # cd /tmp
# ./j2sdk-1_4_1-linux-i586.bin
# mv /tmp/j2sdk1.4.1 /usr/local
# cd /usr/local
# ln -s j2sdk1.4.1 java
# java
  
 먼가 좌르륵 나오면 성공! 넘 간단하지 않은가!
  
 7. Tomcat 설치
  # cd /tmp
# tar xzvf jakarta-tomcat-4.1.12.tar.gz
# mv jakarta-tomcat-4.1.12 /usr/local
# cd /usr/local
# ln -s jakarta-tomcat-4.1.12 tomcat
# catalina.sh start
  
 http://localhost:8080 으로 접속하여 고양이가 보이면 성공!
  
 부록 : 부팅시 자동으로 Tomcat 시동하기
  
 # vi /etc/rc.d/init.d/tomcat
  
  -----------------------------------------------------------------------
---------
 #!/bin/sh
#
# Startup script for Tomcat, the Apache Servlet Engine
#
# chkconfig: - 85 15
# description: Start Tomcat
#
# processname: tomcat
#
# Source function library.
. /etc/rc.d/init.d/functions
 export JAVA_HOME=/usr/local/java
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
 # See how we were called.
case "$1" in
  start)
        echo -n "Starting tomcat: "
        daemon $CATALINA_HOME/bin/startup.sh
        touch /var/lock/subsys/tomcat
        echo
        ;;
  stop)
        echo -n "Shutting down tomcat: "
        daemon $CATALINA_HOME/bin/shutdown.sh
        rm -f /var/lock/subsys/tomcat
        echo
        ;;
  restart)
        $0 stop
        sleep 2
        $0 start
        ;;
  *)
        echo "Usage:$0 {start|stop|restart}"
        exit 1
esac
 exit 0
   -----------------------------------------------------------------------
---------
   
 # chkconfig --add tomcat
 # chkconfig --level 3 tomcat on
  
 8. Apache와 Tomcat의 연동을 위한 작업
  
 # vi /usr/local/tomcat/conf/server.xml
  
  -----------------------------------------------------------------------
---------
  내용중 다음을 찾아서
<Server port="8005" shutdown="SHUTDOWN" debug="0">
밑줄에 다음을 입력한다.
<Listener className="org.apache.ajp.tomcat4.config.ApacheConfig" />
  
 내용중 다음을 찾아서
<Host name="localhost" debug="0" appbase="webapps">
밑줄에 다음을 입력한다.
<Listener className="org.apache.ajp.tomcat4.config.ApacheConfig"
append="true" />
   -----------------------------------------------------------------------
---------
  
 # catalina.sh start
  Tomcat 을 재시작하면,
/usr/local/tomcat/conf 디렉토리 아래에
auto 디렉토리와 jk 디렉토리가 생겼을 것이고, auto 아래에 mod_jk.conf가
생겼을것이다.
마술일까? Listener 태그를 추가했기때문이다.^0^
  
 # cd /usr/local/tomcat/conf/jk
# vi workers.properties
  
 아래 내용은 없는 것이니 아래내용을 복사해서 생성을 하면 된다.
   -----------------------------------------------------------------------
---------
  # Start setup file
#
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/java
ps=/
worker.list=ajp12, ajp13
 # Definition for Ajp13 worker
#
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
#
# End setup file
   -----------------------------------------------------------------------
---------
  
 # vi /etc/httpd/conf/httpd.conf
  
 제일 아래 부분에 아래와 같이 추가해준다.
default로 인스톨되어 있는 Apache말고 새로 compile하여 install을 한
Apache인 경우도 마찬가지이다.
   -----------------------------------------------------------------------
---------
 #
#Load mod_jk
#
LoadModule jk_module modules/mod_jk.so
#
#Configure mod_jk
#
JkWorkersFile /usr/local/tomcat/conf/jk/workers.properties
JkLogFile /usr/local/tomcat/logs/mod_jk.log
JkLogLevel emerg
#
# Root context
JkMount  /*.jsp ajp13
JkMount  /servlet/* ajp13
 Include /usr/local/tomcat/conf/auto/mod_jk.conf
   -----------------------------------------------------------------------
---------
   
 9. Context 추가 및 ROOT 디렉토리 변경
  
 koug 라는 컨텍스트를 추가해 보겠다.
/var/www/ 디렉토리에 koug 디렉토리를 만든다.
  
 주, 원하는 아무 디렉토리에 원하는 이름으로 생성하면 된다.
  
 # cd /var/www
# mkdir koug
 # vi /usr/local/tomcat/conf/server.xml
  
   -----------------------------------------------------------------------
---------
   ...
         <!-- Define properties for each web application.  This is only
needed
             if you want to set non-default properties, or have web
application
             document roots in places other than the virtual host's
appBase
             directory.  -->
         <!-- Tomcat Root Context -->
        <!--
          <Context path="" docBase="ROOT" debug="0"/>
        -->
         <!-- Tomcat koug Context -->
        <Context path="/koug" docBase="/var/www/koug" debug="0"
                 reloadable="true"/>
         <!-- Tomcat Examples Context -->
        <Context path="/examples" docBase="examples" debug="0"
                 reloadable="true" crossContext="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
                     prefix="localhost_examples_log." suffix=".txt"
           timestamp="true"/>
...
   -----------------------------------------------------------------------
---------
   
 제대로 연동이 되는지 Test를 해보자.
  
 # cp -r /usr/local/tomcat/webapps/examples/* /var/www/koug
  Tomcat과 Apache를 재시동한다.
  
 http://localhost/koug/jsp/
http://localhost/koug/servlets/
  
 어랏! 포트번호가 빠졌다. 눈치를 챘으리라. -.-+
 Apache와 Tomcat가 연동이 되었다는 증거가 여기서 나오는 것이다.
  
 물론, 아래처럼
  
 http://localhost:8080/koug/jsp/
http://localhost:8080/koug/servlets/
  
 접속을 해도 결과는 마찬가지다. 속이 시원하지 않은가? 으햐햐햣 -0-
 그렇다면, ROOT 의 디렉토리는 어떻게 하면 될까?
 그렇다. 별문제없이 되리라고 생각이 될것이다. 별반차이가 없다는것이다.
  
 # vi /usr/local/tomcat/conf/server.xml
  
   -----------------------------------------------------------------------
---------
  ...
         <!-- Define properties for each web application.  This is only
needed
             if you want to set non-default properties, or have web
application
             document roots in places other than the virtual host's
appBase
             directory.  -->
         <!-- Tomcat Root Context -->
          <Context path="" docBase="/var/www/html" debug="0"
reloadable="true" />
         <!-- Tomcat Examples Context -->
        <Context path="/examples" docBase="examples" debug="0"
                 reloadable="true" crossContext="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
                     prefix="localhost_examples_log." suffix=".txt"
           timestamp="true"/>
...
   -----------------------------------------------------------------------
---------
  
 # cp -r /usr/local/tomcat/webapps/examples/* /var/www/html
   
 Tomcat과 Apache를 재시동한다.
  
 http://localhost/jsp/
http://localhost/servlets/
  
 원하는 결과가 나왔는가?
  
 이곳까지 왔는데도 안된다면 자신의 손과 눈을 의심해보고 첨부터 깔끔하게
재시도하기 바란다. -_-;;
  
 참고URL
http://linux.sarang.net/board/?p=read&table=tip&no=7161&page=&o[at]=s&o
[sc]=t&o[ss]=tomcat&o[st]=a
http://www.javaservice.net/~java/bbs/read.cgi? m=appserver&b=engine&c=r_p&n=1034684803&p=1&s=t#1034684803
http://www.javaservice.net/~java/bbs/read.cgi? m=appserver&b=engine&c=r_p&n=1030719705&p=2&s=t#1030719705
http://okjsp.pe.kr/lecture/lec01/tomcat4directory.xml   
 ======================================
Visit to KOUG(Korea Oracle User Group)
http://www.koug.net jinuxer at koug.net ======================================
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved