tracked http://wiki.kldp.org/wiki.php/Apache2Tomcat5Howto2
(참고 블로그)
tomcat5 apache2 mod_jk.so 연동 http://kldp.org/node/71058 (worker.properties부분)
여러 옵션들은 인터넷을 뒤져가면서 메모한것임.
문제가 된다면 삭제하겠음.
----------------------------------------------------------------
Apache 2.2.8
Mysql 5.0.51
php 5.2.6
j2se 6(jdk 1.6)
tomcat 5.5.12 <--
5. tomcat
apache-tomcat-5.5.12.tar.gz
http://archive.apache.org/dist/jakarta/
여기 들어가서 최신 stable다운받음. binary 배포본설치.
src설치보다 binary로 설치하도록 함.
# tar xvfz apache-tomcat-5.5.12.tar.gz -C /usr/local
# cd /usr/local
(apache와의 본인의 접근성문제로 폴더이름 변경.
- cd [tab]으로 접근시 apache와 겹침: 두번눌러야 감)
# mv apache-tomcat-5.5.12 tomcat-5.5.12
# ln -s /usr/local/tomcat-5.5.12 /usr/local/tomcat
환경설정
# vi /etc/profile
(java 설치시 설정)
# /etc/profile
JAVA_HOME=/usr/local/jdk
CATALINA_HOME=/usr/local/tomcat (추가)
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin (수정)
export JAVA_HOME
export CATALINA_HOME (추가)
적용
# source /etc/profile
worker.properties
# cd /usr/local/tomcat/conf
# vi worker.properties (없으면 생성)
(다음을 typing)
workers.tomcat_home=/usr/local/tomcat (설치 dir)
workers.java_home=/usr/javalocal/jdk (설치 dir) (local의 오타인것으로 추정,-_- 설치 디렉을 적으면 됨-> local)
ps=/
worker.list=ajp12, ajp13
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
(5.5에서 tomcat/common/lib/servlet-api.jar로 바뀐것으로 추정)
worker.inprocess.cmd_line=start
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
(오타수정 strer 을 strerr로 수정)
(find로 정확한 path를 찾아서 적어주면 될듯.)
worker.inprocess.jvm_lib=$(workers.tomcatjava_home)$(ps)jre$(ps)lib$(ps)i386$(ps)server$(ps)libjvm.so
(tomcat이 아닌 java가 맞음)
(저장)
tomcat5 admin툴에서 사용되는 계정 정보 수정
( adminpassword 부분에 패스워드 입력 )
# vi tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="adminpassword" roles="admin,manager,tomcat"/>
</tomcat-users>
(저장)
(tomcat 5 에 들어있는 어드민 페이지에 대한것임. 5.5엔 없는것으로 확인)
사용자 계정을 지원
# vi server.xml
<Host name="localhost" ...>
...
<Listener className="org.apache.catalina.startup.UserConfig"
directoryName="public_html"
userClass="org.apache.catalina.startup.PasswdUserDatabase"/>
...
</Host>
mod_proxy_ajp 사용 설정
# cd /usr/local/apache/conf
# vi httpd.conf
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so (있는지 확인)
(맨밑에 추가)
Include conf/proxy_ajp.conf
(저장)
# vi proxy_ajp.conf (rpm의 경우 conf.d에 있음)
(맨밑에 추가 - virtual host관련 설정 참조)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .jsp
RewriteRule (.*) ajp://localhost:8009$1 [P]
(저장)
tomcat doc ROOT와 apache doc root를 연결
-> /var/www/html로 변경
# cd /var
# mkdir www
# cd www
# mkdir html
# cd html
#vi /usr/local/apache/conf/httpd.conf
"/usr/local/apache/htdocs" -> "/var/www/html" (변경)
DocumentRoot "/var/www/html" (찾아서 수정)
<Directory "/var/www/html"> (찾아서 수정)
(저장)
# cd /usr/local/tomcat/webapps
# mv ROOT ROOT_old
# ln -s /var/www/html /usr/share/tomcat5/webapps/ROOT
(# cp -r ROOT_old/WEB-INF ROOT )
<- index.jsp를 제대로 읽지 않는 문제 발생. class 사용 테스트 안해봄.
test code 작성
# cd /var/www/html
# vi index.jsp
<%@ page contentType="text/html; Charset=EUC-KR" %>
<%
out.println("Hello");
%>
(저장)
재시작 및 확인.
tomcat
# startup.sh 또는 catalina.sh start
(종료는 shutdown.sh 또는 catalina.sh stop)
apache
# httpd restart
http://localhost 로 접속하여 Hello 나오면 정상
제대로 연동 되는가?
url에 없는 파일을 요청하면 어디서 처리하는지 알수 있음.
ex) http://localhost/a (a는 없는 파일)
apache 에서 에러가 오면 정상
http://localhost/a.jsp (a.jsp는 없는 파일)
apache tomcat 이라고 에러가 오면 정상
http://localhost/~abc/a (abc계정의 a는 없는 파일)
apache 에서 에러가 오면 정상
http://localhost/~abc/a.jsp (abc계정의 a.jsp는 없는 파일)
apache tomcat 이라고 에러가 오면 정상
이상. 8080->80으로 매핑된것임.
수고하셨습니다.ㅋ (다음은 포트를 이용한 가상호스트 )
이 글과 관련있는 글을 자동검색한 결과입니다 [?]