60.Unix2009. 4. 13. 14:11
반응형

Solaris 8에서 Apache 1.3.27과 Tomcat 4.1.24 연동하기
4일동안 꼬박 헤메이다가 지금에야 연동 성공했다.
1. 고생한 이유
A. Unix를 잘 몰라서
B. Java 버전 문제
C. Unix에서 사용하는 프로그램 버전이 낮아서
2. 계정 만들기 (apcss)
A. useradd –d /data02 apcss
3. tar 다운로드
A. 기존 Solaris 8에 있는 tar는 z option이 없다. Gunzip 과 tar를 이용하여 풀면 나중에 에러가 발생할 수 있으니 www.sunfreeware.com에서 Solaris8 버전의 tar를 Download 받는다.
B. Download 받은 tar 파일은 root 권한으로 들어가 “pkgadd -d 파일명”으로 설치한다. 설치후 해당 계정에 path를 잡아주면 사용할 수 있다.
4. 아파치 설치
A. apache 다운로드 (apache.org)
i. www.apache.kr.net나 www.apache.org에서 apache를 다운 받는다.
B. apache 압축 풀기
i. “tar xvfz 파일명”으로 압축을 풀어준다.
C. ./configure
i. 아파치의 압축을 풀면 생긴 디렉토리로 들어가서 ./configure를 해준다. 이때 여러 옵션을 줄 수 있는데, 예제에 적힌 enable로 시작하는 3가지 옵션은 주어야 한다. 그래야 나중에 톰캣과 연동할 때 LoadModule를 사용할 수 있다. (이를 몰라서 무척 헤멨었음.) prefix이후는 아파치를 설치할 디렉토리명을 적어주면 된다.
ii. <예제> “./configure --prefix=/data02/apache --enable-shared=max --enable-rule=SHARED_CORE --enable-module=so”
iii. 만일 gcc가 설치되지 않았거나 path 잡혀있지 않다면 에러가 발생하니, www.sunfreeware.com에서 다운받거나 패스를 잡아주도록 한다.
D. apache make
i. configure가 이상없이 실행되면 “make”를 실행한다.
ii. 이때 ar이나 ranlib가 설치되지 않았거나 path 잡혀있지 않다면 에러가 발생하니, www.sunfreeware.com에서 다운받거나 패스를 잡아주도록 한다.
E. apache make install
i. make가 이상없이 실행되면 “make install”을 실행하면 해당 디렉토리에 apache가 설치된다.
F. apache/conf/httpd.conf
i. 우리 Site의 경우에는 기존에 apache가 설치되어 사용하고 있어서 port를 변경했다. $apache_home/conf에 들어가 “vi httpd.conf”를 한후 “/80”으로 포트를 찾은 후 80  90으로 변경한다. 그리고 ServerName을 해당 도메인이 있다면 주고 아니라면 “127.0.0.1” 로 준후 저장하여 닫는다.
ii. $apache_home/bin에 들어가 “apachectl start”를 실행 후 브라우저를 띄워서 “해당 IP:90”또는 “127.0.0.1:90”을 실행하여 index.html.xx가 적힌 화면이 나오면 설치 완료.
5. Tomcat 설치
A. JDK 설치
i. Tomcat 4.1.24 스팩에는 JDK 1.2이상이면 된다고 되어 있으나, 우리 SITE의 경우 JDK 1.2를 깔아 사용하니 톰캣이 작동을 안함. (솔라리스 내부 문제인지 잘 모르겠음) 그래서 JDK 1.3 이상을 깔기를 권장함.
B. 환경변수 JAVA_HOME
i. JDK를 설치하였다면 해당 계정의 .profile에 export JAVA_HOME=JDK Path를 적고 저장하여 닫는다.
C. tomcat 다운로드 (apache.org)
i. www.apache.org에서 Tomcat 4.1.24를 다운로드 받는다.
ii. “Tar xvfz 톰캣파일명”으로 압축을 푼다.
iii. 풀려서 생성된 디렉토리는 그대로 사용이 가능하다. 이를 원하는 곳으로 mv명령어를 이용하여 옮긴다.
D. 환경변수 CATALINA_HOME
i. “.profile에 export CATALINA_HOME=Tomcat 설치 디렉토리”를 적고 저장한다.
ii. 변경된 .profile을 다시 적용한후 $tomcat_home/bin에 들어가 startup.sh을 구동한후 Browser에서 “해당 IP:8080” 또는 “127.0.0.1:8080”을 실행하여 수코양이가 보이면 설치 완료
6. Apache와 Tomcat 설치
A. http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.0/bin/solaris8/에서 해당되는 mod_jk.so파일을 다운 받는다. (우리 Site의 경우 mod_ssl을 같이 안 깔았아서 mod_jk-1.3-noeapi.so을 다운 받음. 그리고 jk가 v.2.X버전도 나와 있다고 들었으나 참조한 레퍼런스에서 불안정하다하여 1.2.0버전으로 설치함)
B. 받은 파일을 mod_jk.so로 이름을 변경하여 $apache_home/libexec/밑에 저장한다.
C. mod_jk.conf
i. www.jongsclub.com/pds/mod_jk.conf에서 다운 받은 후 $tomcat_home/conf 밑에 저장한다.
D. workers.properties
i. www.jongsclub.com/pds/workers.properties에서 다운 받은 후 $tomcat_home/conf 밑에 저장한다.
E. Apache 설정 파일 수정
i. $apache_home/conf/httpd.conf 수정
<IfModule mod_dir.c>

DirectoryIndex index.html index.php index.jsp

</IfModule>


우선 DirectoryIndex 부분에 index.jsp 를 추가해넣습니다.
( esc키를 누른후 /DirectoryIndex 엔터 하시면 쉽게 찾을수 있습니다. )

그리고 아래처럼 DocumentRoot 라고 된 부분을 톰캣의 /webapps/ROOT 경로로 잡아놓습니다.
DocumentRoot “/data02/tomcat/webapps/ROOT”

ROOT 어플리케이션은 톰캣에서 최상위 즉 http://hostname/ 으로 매핑되기 때문에 디렉토리 패턴으로 매핑 하기위해서는 반드시 설정해주셔야 합니다

( /jsp-examples/* 이런형태를 ajp로 매핑했을경우 루뜨에서 부터 찾아나가기 때문에 결국 /톰캣/webapps/jsp-examples/ 로 찾아갈수 있습니다. )

다음으로 맨 밑줄로 이동한후 ( esc 키를 누른뒤 Shift+g ) 아래와 같이 mod_jk.conf 를 인클루드 시켜줍니다
Include “/data02/tomcat/conf/mod_jk.conr”

(톰캣의 경로는 자신의 설치경로로 정확히 입력해주세요 )

ii. $Tomcat_home/conf/mod_jk.conf 수정
LoadModule jk_module libexec/mod_jk.so
JkWorkersFile /usr/local/tomcat-5.0.1/conf/workers.properties
JkLogFile logs/jk.log
JkLogLevel error
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /jsp-examples/* ajp13

JkMount /디렉토리패턴 ajp13 ,,, 즉 해당 패턴의 url 요청이 들어오면 연동포트인 ajp로 보내라는 소립니다. 별로 어려운 내용이 없습니다. ^^
iii. $Tomcat_home/conf/workers.properties 수정
tomcat 이 실행될 환경을 지정하는 workers.properties 파일을 수정합니다. 다음과 같은 곳을 수정해줍니다. 필요에 따라 localhost 를 도메인으로 바꿔주시면 됩니다. 주석(#)을 잘 보시면서 설정을 해주시면 됩니다.

C:\tomcat4\conf\workers.properties
...
workers.tomcat_home=c:\tomcat4
...
workers.java_home=c:\jdk1.3
...
worker.list=ajp12, ajp13
...
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13

위로서 모든 설정이 끝났음

$Tomcat_home/bin/startup.sh
$apache_home/bin/./apachectl start

실행후
웹브라우저로 http://ip 혹은 도메인/ 을 입력하고 고양이 로고가 그려진 톰캣 첫화면을 띄운뒤
jsp-examples 메뉴를 클릭해서 잘돌아가는지 테스트 합니다.
다른 메뉴도 테스트 해보시려면 mod_jk.conf 에서 패턴 매핑을 시켜줘야 합니다..


관련 자료.
1. http://okjsp.pe.kr/lecture/lec01/mod_jk01.html
2. http://www.jongsclub.com/webedit/studyView.jsp?num=3
3. 아리샘 자료중

Posted by 1010