linux, apache2.2, mysql5.0, php5.2, tomcat5.5 설치 연동.(5) _tomcat

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으로 매핑된것임.
수고하셨습니다.ㅋ (다음은 포트를 이용한 가상호스트 )

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by -레- | 2008/05/23 12:49 | Linux | 트랙백 | 덧글(0)
트랙백 주소 : http://zubilan.egloos.com/tb/4375662
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글



< 이전페이지 다음페이지 >