20th Anniversary
  회원가입   회원찾기
  ID PW
 
  설치/초보
  시스템 관리
  네트워크
  어플리케이션
  기타
  이전 솔라리스 설치 관련
  이전 어플리케이션 관련
  이전 네트웍 관련
  이전 기타
 

   제 목 : 가능합니다.
   작성자 : 김기태 날짜 : 2003-02-10
   분류 : 설치/초보 조회수 : 1533

설치 방법은 리눅스와 동일하구요..
여기 리눅스상에서 설치하는 문서입니다.
어디서 퍼왔는지 기억이 안나네요.. ㅜ,.ㅜ;;

그리고 여기 게시판 문제로 태그 부분에서 > , < 를 모두 %로 처리했습니다.

그럼~~


-PS- 전에 저도 이문서를 참고로 솔라8에서 설치를 했는데 약간 다르게 해준걸로 기억이 납니다. 그런데 관련 문서를 만들어 놓지 않아서 어디였는지 기억이 안나네요.. 만약 이대로 해서 안되면 그 부분은 직접 노력해서 성공하시길..






본 문서는 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.org/builds/jakarta-tomcat-4.0/release/v4.1.12/bin/jakarta-tomcat-4.1.12.tar.gz
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.12/src/jakarta-tomcat-connectors-4.1.12-src.tar.gz
주, httpd-2.0.40.tar.gz와, jakarta-tomcat-connectors-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


http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/aphowto.html
여기서 솔라리스용 mod_jk를 다운 받을 수 있다.


주, 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/



접속을 해도 결과는 마찬가지다. 속이 시원하지 않은가? 으햐햐&#54691; -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@koug.net
======================================



유저 디렉토리에서 서블릿 실행할 수 있도록 하려면 /tomcat/conf/web.xml에서 servlet invoker부분에서 주석을
제거한다.

[목록보기]  [출력]  


[ 관련글 보기 ]
번호 제목 작성자 등록일 조회수
1    솔라리스에 톱켓을 깔수있을까요ㅜㅜ 꼭꼭꼭 2003-02-08 1078
2    가능합니다. 김기태 2003-02-10 1533
  사이트 소개  |  연락처  |  사이트 맵  |  이메일주소 무단 수집 거부 Copyright (c) 2020 Solaris School. All rights reserved.