Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- tomcat
- Apache
- Powermockup
- CentOS6
- subversion
- 지름신
- 연동
- trac
- 삽질
- 보드
- 이클립스
- svn
- tagx
- NEXUS
- yum
- CentOS
- 파워목업
- Find
- Babel
- Java
- resin
- eclipse
- 권한변경
- egrep
- netstate
- SSL
- 3.5
- linux
- Galileo
- 갈릴레오
Archives
- Today
- Total
....
Apache와 Tomcat 연동 설정.. 본문
이 글은 이전 CentOS 5.3에서 Java와 Tomcat 설치 - Tomcat을 서비스로 관리하기 와 연결된다.
기본적으로 SVN을 설치했고..
Trac을 설치했고..
Apache를 yum으로 설치했고..
Apache를 통해서 SVN과 Trac을 사용하도록 했고...
OpenSSL을 이용해서 SVN, Trac을 사용하도록 감싸고...
이 Apache에 Tomcat까지 연동시키고자 한다...
mod_jk를 이용한 방법과 proxy를 이용한 방법이 있는데..
mod_jk를 이용한 방법으로 설치하고자 한다.
Apache Tomcat Connector를 다운 받는다. (http://tomcat.apache.org/connectors-doc/)
마침 새로나온 JK-Connector가 1.2.28이다...
binaries - linux - jk-1.2.28 - i586 - mod_jk-1.2.28-httpd-2.2.X.so 를 다운 받았다. ( 다운받기 )
cd /etc/httpd/modules
wget http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.28/i586/mod_jk-1.2.28-httpd-2.2.X.so
ln -s mod_jk-1.2.28-httpd-2.2.X.so mod_jk.so
wget http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.28/i586/mod_jk-1.2.28-httpd-2.2.X.so
ln -s mod_jk-1.2.28-httpd-2.2.X.so mod_jk.so
파일명에 포함된 버젼 정보를 제거하는건 정말 안좋아한다.
그렇다고.. 버젼이 바뀔따마다 설정파일을 찾아다니면서 바꾸는것도 안좋아한다.
그래서 버젼이 포함된 파일을 두고.. 그 파일을 심볼릭링크로 설정하는 방식을 선호한다.
아래 내용을 /etc/httpd/conf/httpd.conf 에 추가한다.
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile conf.d/workers.properties
JkMountFile conf.d/workers_uri.properties
JkShmFile logs/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
</IfModule>
<IfModule jk_module>
JkWorkersFile conf.d/workers.properties
JkMountFile conf.d/workers_uri.properties
JkShmFile logs/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
</IfModule>
httpd.conf에서 SSL서비스를 담당하고 있는 VritualHost 태그 내부에 JkMount를 이용하면 Tomcat의 어플리케이션 관리 페이지들을 SSL만을 이용해서 접속할 수 있도록 숨길 수 있다.
<VirtualHost *:443>
....
JkMount /manager ajp
JkMount /manager/* ajp
JkMount /host-manager ajp
JkMount /host-manager/* ajp
JkMount /docs ajp
JkMount /docs/* ajp
....
</VirtualHost>
....
JkMount /manager ajp
JkMount /manager/* ajp
JkMount /host-manager ajp
JkMount /host-manager/* ajp
JkMount /docs ajp
JkMount /docs/* ajp
....
</VirtualHost>
아파치에서 처음 Welcome페이지 설정 부분에 jsp 확장자도 추가한다.
이 부분을 설정하지 않으면 index.jsp 페이지를 web.xml 에서만 설정하고 왜 안뜨냐고 투덜대는 자신을 발견하게 된다.
하는 김에 apache의 기본 홈 경로도 /var/www/html 에서 톰캣의 루트 경로로 바꿔본다.
DirectoryIndex index.jsp index.html index.html.var
#DocumentRoot "/var/www/html"
DocumentRoot "/usr/local/tomcat/webapps/ROOT"
#DocumentRoot "/var/www/html"
DocumentRoot "/usr/local/tomcat/webapps/ROOT"
workers.properties 파일도 만든다.
vi /etc/httpd/conf.d/workers.properties
### 파일 내용 시작
worker.list=ajp
worker.ajp.port=8009
worker.ajp.host=localhost
worker.ajp.type=ajp13
worker.ajp.lbfactor=1
worker.ajp.socket_timeout=10
#worker.ajp.cachesize=1 #취향따라... 선택
### 파일 내용 끝
### 파일 내용 시작
worker.list=ajp
worker.ajp.port=8009
worker.ajp.host=localhost
worker.ajp.type=ajp13
worker.ajp.lbfactor=1
worker.ajp.socket_timeout=10
#worker.ajp.cachesize=1 #취향따라... 선택
### 파일 내용 끝
workers_uri.properties 파일도 만든다.
vi /etc/httpd/conf.d/workers_uri.properties
### 파일 내용 시작
/*.do=ajp
/*.jsp=ajp
### 파일 내용 끝
### 파일 내용 시작
/*.do=ajp
/*.jsp=ajp
### 파일 내용 끝
tomcat의 메니져 페이지에 접속할 계정을 추가한다.
vi $CATALINA_HOME/conf/tomcat-users.xml
### 파일 내용 시작
<tomcat-users>
<user name="admin" password="사용할 암호" roles="admin,manager" />
.....
</tomcat-users>
### 파일 내용 끝
### 파일 내용 시작
<tomcat-users>
<user name="admin" password="사용할 암호" roles="admin,manager" />
.....
</tomcat-users>
### 파일 내용 끝
아파치를 재시작할때 mod_jk가 잘 올라오는지 확인해볼 차례다..
아파치와 톰캣을 재시작 하고 페이지에 접속해본다.
service httpd restart
service tomcat restart
service tomcat restart
https://localhost 페이지에 접속하면 아파치 시작화면이 아닌 톰캣의 시작화면이 반겨준다..
좌측의 Manager 링크를 클릭해서 추가한 관리자 계정으로 로그인까지 된다면.. 무사히 설정이 완료된 것..
형상관리 서버에 tomcat을 연동할려고 악을 쓴 이유는...
이곳에 Nexus서버도 올리기 위해서다... ㅎㅎ
Comments