Apache Httpd + Tomcat 설치 및 연동

# apache.org 에서 최신 버전의 httpd 다운 받아 압축 풀고 컴파일 하기
tar jxvf httpd-2.2.19.tar.bz2
cd httpd-2.2.19
./configure --prefix=/home/ysoftman/httpd/

# root 권한에서
make && make install

# httpd 설정 파일 수정
vi  /home/ysoftman/httpd/conf/httpd.conf

# 웹서버 의 root 경로(httpd 가 설치된 경로들 뜻한다.)
ServerRoot "/home/ysoftman/httpd/"

# 웹서버가 바인딩하여 작동할 포트번호
Listen 80

# 웹서버는 다음의 명시된 사용자/그룹으로 동작된다.
# 따라서 서비스 되는 디렉토리는 아래 명시된 사용자/그룹으로 권한이 설정되어야 웹서버에서 접근이 가능하다.
User ysoftman
Group ysoftman

# 웹서버의 기본 다큐먼트 디렉토리
# 웹서버 ip 로 접속했을때 기본적으로 보여지는 페이지가 있는 경로이다.
DocumentRoot "/home/ysoftman/httpd//htdocs"

# 디렉토리에서 기본적으로 서비스할 파일
DirectoryIndex index.html

# mime_module 이라는 모듈이 로드되었다면
# .cgi 확장자는 cgi-script 로 처리한다.
<IfModule mime_module>
AddHandler cgi-script .cgi
</IfModule>

# /web 별명으로 /home/ysoftman/web/를 사용
Alias /web "/home/ysoftman/web/"


# 지정 디렉토리 /home/ysoftman/web/ 에 대한 설정
Options ExecCGI 로 이 디렉토리에서는 CGI 를 사용할 수 있도록 한다.
AllowOverride None 로 .htaccess(디렉토리별 설정파일)을 오버라이드 하지 않는다.
Order allow,deny 로 allow 지시자와 deny 지시자가 있을때 allow 지시자를 우선하도록 한다.
Allow from all 로 모든 ip 로 부터의 접속을 허용한다.
# (만약 Allow from 10.10.10.11 라 하면 10.10.10.11 ip 로부터의 요청만 허용한다.)
# (만약 Deny from 10.10.10.11 라 하면 10.10.10.11 ip 로부터의 요청을 거부한다.)
<Directory "/home/ysoftman/web/">
    Options ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

# 아파치 시작/정지 등은 apachectl 스크립트를 사용해야 안전한다.
/home/ysoftman/httpd/bin/apachectl start

# 참고
# httpd.conf 파일 위치가 변경되었을때 apachectl 파일을 다음과 같이 수정하여 바뀐 경로를 httpd 에 알려주도록 한다.
HTTPD='/home/ysoftman/httpd/bin/httpd -f /home/ysoftman/web/httpd.conf'


#####


# apache.org 에서 최신 버전의 tomcat 다운 받아 압축 풀기
tar zxvf apache-tomcat-7.0.23.tar.gz

# apache.org 에서 최신 버전의 tomcat Connector 다운 받아 압축 풀고 컴파일하기
tar zxvf tomcat-connectors-1.2.32-src.tar.gz
cd tomcat-connectors-1.2.32-src/native
./buildconf.sh
./configure --with-apxs=/home/ysoftman/httpd/bin/apxs
make && make install

# 그럼 apache httpd 에 모듈 파일이 추가된것을 볼 수 있다.
ls /home/ysoftman/httpd/modules/mod_jk.so

# 아래와 같이 작성(vi /home/ysoftman/httpd/conf/workers.properties )
worker.list=testworker
worker.testworker.port=8009
worker.testworker.host=localhost
worker.testworker.type=ajp13
worker.testworker.lbfactor=1

# httpd.conf 수정(vi /home/ysoftman/httpd/conf/httpd.conf)
DocumentRoot "/home/ysoftman/apache-tomcat-7.0.23/webapps"
<Directory "/home/ysoftman/apache-tomcat-7.0.23/webapps/">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
LoadModules jk_module modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile /home/ysoftman/httpd/conf/workers.properties
JkShmFile /var/log/httpd/mod_jk.shm
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel info

# JkMount 로 특정 패턴을 톰캣으로 넘긴다.
JkMount /*.jsp testworker
JkMount /examples/servlets/servlet/* testworker
</IfModule>

# tomcat 실행
/home/ysoftman/apache-tomcat-7.0.23/bin/startup.sh

# tomcat 끝내기
/home/ysoftman/apache-tomcat-7.0.23/bin/shutdown.sh

http://호스트/examples/index.html 으로 동작 확인
# 참고로 웹서비스할 대상 디렉토리의 WEB-INF/web.xml 설정을 통해 Servlet(컴파일된 java class)을 실행한다.

comments:

댓글 쓰기