본문 바로가기

서버/Fedora core X Linux

APM(httpd 2.x + mysql 5.x + php 5.x) + Tomcat5 + mod_jk.so 설치

머리가 나쁜관계로 기록하지 않으면 금방까먹어서.ㅠㅠ 기록으로 남길까 합니다.
분명히 대한민국이나 지구상에 저와 같은 문제로 인하여 곤란을 겪는 분들이 단 한분이라도 있으실지 모르니...
그럼 시작하겟습니다.

일단 저는 fedora core 11 버젼을 사용하구 있고요.
Apm 부터 tomcat5 까지 yum 명령어를 통하여 설치하였습니다.
물론 네임서버도 yum 으로 설치해서 설정까지 끝냇구요

1. APM + TOMCAT5 설치하기

APM을 YUM 명령어로 설치하는것에 대하여 자세한 설명은
http://wiki.kldp.org/wiki.php/Apache2Tomcat5Howto2
http://blog.naver.com/wc23?Redirect=Log&logNo=90085546042
참조하시면 쉽게 APM을 설치하실수 있습니다.

httpd 보안설정 관련된 pdf 파일의 경로도 올리니 참고하시기 바랍니다~
http://pds13.egloos.com/pds/200901/13/55/Fedora9_chap4c_apache_web_server_(sy.kim).pdf
DDOS 관련 설정및 보안 점검
http://cafe.naver.com/linuxihd.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=477


2. mod_jk.so 를 이용하여 apm + tomcat 연동

이부분부터는 yum 으로 설치가 불가능하다.
즉 직접 설치해야한다는 것!!! 하지만 그렇게 어렵진 않습니다!!
왜냐! 나두 햇으니깐..;; 머리나쁜 나도 햇으면 말 다한거죠머... 머 암튼 mod_jk.so 모듈을 설치하기 위해 알아둬야 할 경로가 하나 있습니다. apxs 파일의 경로를 알아야 합니다.

이것의 경우 find 명령어로 찾아내서 알아두도록 합시다!!
[root@ns ~ ]# find / -name "apxs"


이렇게 하면 yum으로 설치하신 경우 /usr/sbin/apxs 라는 경로가 나올것입니다.

그럼 이제 apxs 경로도 찾았으니 이젠 mod_jk를 설치할 차례군요.

tomcat-connectors-1.2.30-src.tar.gz
전 위파일을 바탕으로 설치하였습니다.
[root@ns ~ ]# tar xzvf tomcat-connectors-1.2.30-src.tar.gz


이렇게 압출을 푼다음
[root@ns ~ ]# cd tomcat-connectors-1.2.30-src/native


[root@ns native ]# ./configure --width-apxs=/usr/sbin/apxs


여기서 제일 중요한 노란색 부분 아까 제가 apxs 경로 알아두라고 하셨죠?? 저 노란색 부분을 아까 알아둔 경로로 바꾸시면 됩니다.

저렇게 지정을 안하고 ./configure할경우 make 파일이 생성되기 전에 웹 서버를 찾을수 없다는 메시지가 뜨게 됩니다.
저렇게 하고 난뒤
[root@ns native ]# make


make 명령어로 mod_jk.so 파일을 생성하도록 합시다~
make 작업이 다 끝나면 native/apache-2.0 폴더로 들어가시면 mod_jk.so 파일이 있습니다~

우리가 사용할것은 mod_jk.so 하나뿐이니 저것만 /etc/httpd/modules 폴더로 cp 해 주도록 합시다~
[root@ns apache-2.0 ]# cp mod_jk.so /etc/httpd/modules/mod_jk.so


이렇게 하면 일단 1차관문은 끝!! 이제 제일 중요한 설정부분만 남았네요~

yum 으로 설치하신경우 /etc/httpd 에 보시면 conf.d 라는 폴더가 있습니다 여기에 *.conf 확장자로 파일을 생성하면 자동으로 httpd.conf에 적용이 됩니다. 따로 httpd.conf에 Include 해줄 필요가 없습니다!!

이렇게 설정파일을 하나 만듭시다~
tomcat.conf
내용은

LoadModule jk_module modules/mod_jk.so
# worker File Setting
JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile /etc/httpd/logs/mod_jk.log
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkRequestLogFormat "%w %V %T"
# Send Tomcat Controller
JkMount /*.jsp ajp13

내용은 이렇게!! 머 설명은 네이버에 검색해 보시면 쫙!! 나오니 (몰라서 못해요)안하겟습니다.

보통 tomcat을 yum 명령어로 설치하시면 경로가 /usr/share/tomcat5 이렇게 됩니다.
이 곳의 conf 폴더의 workers.properties 파일을 /etc/httpd/conf.d/workers.properties 로 복사해 줍시다.

workers.properties 파일을 설정하는 것은 위쪽에 명시한
http://wiki.kldp.org/wiki.php/Apache2Tomcat5Howto2
경로를 참조하시면 됩니다.

이렇게 해준뒤 httpd, tomcat5를 재시작(시작) 해주시면 끝~


3. VirtualHost - httpd.conf, server.xml 설정


httpd.conf 파일에는 아래와 같이 설정을 추가해 줍니다

<VirtualHost 아이피:포트>
     DocumentRoot /home/username/public_html
     ServerName www.abc.co.kr
     ErrorLog logs/error_log
     CustomLog logs/access_log
     JkMount /*.jsp ajp13
</VirtualHost>


server.xml파일에는 다음과 같이 추가해 줍니다
 <Host name="www.abc.com">
     <Context path="" docBase="/home/username/public_html" reloadable="true"/>
     <Alias>www.abc.com</Alias>
</Host>

이렇게 하면 tomcat의 DocumentRoot 경로가 server.xml에서 설정한 docBase의 경로가 됩니다.
만약 server.xml파일을 위에 처럼 수정을 하지 않을경우 tomcat은 (yum install 기준)/usr/share/tomcat5/webapps/ROOT 을 DocumentRoot로 참조하게 됩니다.
또한 JkMount /*.jsp ajp13 이부분은 jsp 확장자만 tomcat에서 처리하도록 하는 구문입니다.

이렇게 하시면 /home/username/public_html 이 경로에 있는 html, php, jsp 모두 실행이 가능합니다.
즉 아래와 같은 파일들이 있으면

/home/username/public_html/index.html
/home/username/public_html/index.php
/home/username/public_html/index.jsp

웹 브라우져에서 www.abc.com/index.html, www.abc.com/index.php, www.abc.com/index.jsp 를 클릭할 경우 정상적으로 페이지가 실행되면 성공입니다.

물론 jsp의 경우 jsp코드가 실행이 되어야하구 php의 경우 php코드가 실행이 되어야 합니다 그것도 같은 폴더 안에서!!

'서버 > Fedora core X Linux' 카테고리의 다른 글

Apache 403 Forbidden  (0) 2013.05.22
네임서버.... 삽질..  (0) 2010.04.29
tcp, 80번포트 접속불가..  (0) 2010.04.26
apm + jsp + selinux 설정기  (0) 2010.04.22