Apache2 가상호스트
#
Find similar titles
- (rev. 4)
- lca
Structured data
- Category
- Programming
아파치(Jakarta Apache)2 가상호스트 설정 #
- 2개 이상의 도메인을 동일 서버에서 제공하고자 하는 경우 아파치 웹 서버 가상호스트 설정방법
- mode JK를 통한 Apache Tomcat WAS(Web Application Server)서버와 연동 방법
설치 전 설치환경 및 설치파일 다운로드 #
- 직접 컴파일한 후 설치를 위해 설치 전 gcc 설치 확인 필요
- 아파치 설치파일 다운로드 URL : http://httpd.apache.org/download.cgi
- 버전 : 2.2.29
- 파일명 : httpd-2.2.29.tar.gz
- mode_jk 다운로드 URL : http://tomcat.apache.org/download-connectors.cgi
- 버전 : 1.2.40
- 파일명 : tomcat-connectors-1.2.40-src.tar.gz
- Apache Tomcat 6+ 이상 설치
- 설치경로 : /usr/local/tomcat6
1. 아파치 설치 파일 컴파일
[root@localhost ~]# tar -xzvf httpd-2.2.29.tar.gz
[root@localhost ~]# tar -xzvf httpd-2.2.29.tar.gz
[root@localhost httpd-2.2.29]# ./configure -prefix=/usr/local/apache2
[root@localhost httpd-2.2.29]# make
[root@localhost httpd-2.2.29]# make install
2. mod_jk 설치
[root@localhost ~]# cd tomcat-connectors-1.2.40-src/native
[root@localhost native]# LDFLAGS=-L/usr/local/apache2/lib CPPFLAGS=-I/usr/local/apache2/include ./configure --with-apxs=/usr/local/apache2/bin/apxs
[root@localhost native]# make
[root@localhost native]# libtool --finish /usr/local/apache2/modules
[root@localhost native]# make install
[root@localhost native]# ls /usr/local/apache2/modules
httpd.exp mod_jk.so
3. mod_proxy, mod_proxy_ajp 설치
[root@localhost httpd-2.2.29]# cd modules/proxy
[root@localhost proxy]# /usr/local/apache2/bin/apxs -i -a -c mod_proxy.c proxy_util.c
[root@localhost proxy]# /usr/local/apache2/bin/apxs -i -a -c mod_proxy_http.c proxy_util.c
[root@localhost proxy]# /usr/local/apache2/bin/apxs -i -a -c mod_proxy_connect.c proxy_util.c
[root@localhost proxy]# /usr/local/apache2/bin/apxs -i -a -c mod_proxy_ajp.c proxy_util.c ajp_header.c ajp_utils.c ajp_link.c ajp_msg.c
[root@localhost proxy]# cd /usr/local/apache2/modules
[root@localhost modules]# ls
httpd.exp mod_jk.so mod_proxy.so mod_proxy_ajp.so mod_proxy_connect.so mod_proxy_http.so
4. Apache 설정파일 변경
LoadModule jk_module modules/mod_jk.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
#JK Connection Configuration
include conf/mod_jk.conf
5. mod_jk 설정파일 편집
1) uriworkermap.properties 편집
[root@localhost ~]# cd /usr/local/apache2/conf
[root@localhost conf]# vi uriworkermap.properties
/*.jsp=ajp13
/*.do=ajp13
/servlet/*=ajp13
2) workers.properties 편집
[root@localhost conf]# vi workers.properties
workers.tomcat_home=/usr/local/tomcat6
workers.java_home=/usr # RPM으로 JDK가 설치된 경우
ps=/
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.worker1.socket_timeout=120
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker1
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)
i386$(ps)classic$(ps)libjvm.so
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
3) mod_jk.conf 편집
[root@localhost conf]# vi mod_jk.conf
<IfModule mod_jk.c>
JkWorkersFile "/usr/local/apache2/conf/workers.properties"
JkLogFile "/usr/local/tomcat6/logs/mod_jk.log"
JkLogLevel info
JkMountFile "/usr/local/apache2/conf/uriworkermap.properties"
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
</IfModule>
6. 아파치 가상호스트 설정
ProxyRequests On
<VirtualHost *>
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ServerName www.domain1.com
# 서비스용 아파치 서버가 8011에서 서비스 하는 경우
RedirectMatch /$ http://localhost:8011/
ProxyPass / http://localhost:8011/
ProxyPassReverse / http://localhost:8011/
</VirtualHost>
<VirtualHost *>
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ServerName www.domain2.com
# domain2 로 들어오는 경우 Tomcat 으로 서비스를 연결하는 경우
RedirectMatch /$ http://localhost:8009/
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>
설정이 완료된 후 톰캣과 아파치 서버를 재가동한 후 웹 브라우저에 각각의 도메인을 입력하고 접속하면 각각의 서비스로 분기된 것을 확인할 수 있다.