# 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)을 실행한다.