RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
centos 5
apache 2.2.6
tomcat 6.0.14
php 4.4.7
jdk 1.6
mysql 5.1.22 rc
 
스펙은 대충 저러하다. 전부 최신 버전이지만 php만 4점대 버전인것은... 회사에서 요구한거라.
뭐 php 버전은 그다지 중요하지 않으니 상관이 없다.

가장 먼저 각 configure 옵션이다.

* mysql
./configure --prefix=/usr/local/mysql \
--with-unix-socket-path=/usr/local/mysql/tmp \
--with-charset=euckr \
--localstatedir=/usr/local/mysql/data

* apache
./configure --prefix=/usr/local/apache --enable-MODULE=shared --enable-so \
--enable-rewrite --with-mpm=worker
※ 추 후 모듈 올릴 것을 대비하여 DSO방식으로 올리고 mpm를 worker로 사용하였다.

* freetds (mssql과 연동하기 위한 데몬)
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 \
--enable-msdblib --enable-dbmfix --with-gnu-ld \
--enable-shared --enable-static

* php
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/apache/conf \
--with-mysql=/usr/local/mysql \
--with-mssql=/usr/local/freetds --with-sybase=/usr/local/freetds \
--with-mod-charset --with-language=korean --with-charset=euc_kr \
--disable-debug --with-xml --enable-magic-quotes --with-gettext --enable-ftp \
--enable-sockets --with-gnu-ld --enable-track-vars \
--enable-module=so

* java
자바의 경우는 그냥 chmod 700으로 주고 실행을 시키면 자동으로 설치가 된다.
/usr/java/jdk1.6.0_03에 설치가 되며 /etc/profile에 환경변수를 넣어주자.

JAVA_HOME=/usr/java/jdk1.6.0_03
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
export PATH

환경변수 입력수 source /etc/profile 해주는 센스 정도는 챙기자.

* tomcat
압축을 풀고 난뒤에 /usr/local/tomcat 으로 옮기면 설치 완료. 역시나 간단간단.
사실 설치시 중요한건 php설치시 mysql과 mssql을 집어넣는 것 정도이다.
apache와 tomcat을 연동하려면 설치 후에 작업을 해주어야 한다.

[연동 시작]
위와 같이 설치가 끝나면 이제 apache와 tomcat을 연동시켜 보자.
apache와 tomcat을 연동시키기 위해서는 특별한 모듈이하나 필요하다.

http://tomcat.apache.org/download-connectors.cgi

에서 다운을 받는다. 내가 사용한 버전은 jakarta-tomcat-connectors-jk2-src-current.tar.gz
참고로 JK2 Connector 는 2004.11월 이후 개발이 중지되었다. 그리고 보안을 위해 JK1.2.23이상을 사용
하는것이 좋다.(최신버전 1.2.25)

tar xzvf tomcat-connectors-1.2.25-src.tar.gz
cd tomcat-connectors-1.2.25-src/native
./configure --with-apxs=/usr/local/apache/bin/apxs
make
cp apache-2.0/mod_jk.so /usr/local/apache/modules/

httpd.conf 설정

# JK Connection
LoadModule jk_module modules/mod_jk.so
JkWorkerProperty worker.list=ajp13
JkWorkerProperty worker.ajp13.type=ajp13
JkWorkerProperty worker.ajp13.host=localhost
JkWorkerProperty worker.ajp13.port=8009
JkLogFile "logs/mod_jk.log"
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkMount /*.jsp ajp13
JkMount /*.XXX ajp13

*.XXX는 JSP 파일 확장자를 추가하는 부분으로 web.xml를 수정하는 것이다. 굳이 할 필요는 없다.

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.XXX</url-pattern>
</servlet-mapping>

자 이것으로 apache와 tomcat 연동은 끝이났다.

이제 mssql 연동
/etc/ld.so.conf에
/usr/local/freetds/lib 추가 후 ldconfig를 실행해서 라이브러리를 올려주자.

# vi /usr/local/freetds/etc/freetds.conf
[MyServer70]
        host = 서버아이피
        port = 1433
        tds version = 8.0

만 추가해주면 끝.


!! 추가상황 발생

apache 2.2.6
tomcat 6.0.14

상황은 www.uzoogom.com을 virtual host로 잡았는데 하위 디렉토리의 jsp를 제대로 읽어들이지 못한다.

이전에 말한 apache+tomcat중 2번째 방법으로 연동하였을때,
# JK Connection
LoadModule jk_module modules/mod_jk.so
JkWorkerProperty worker.list=ajp13
JkWorkerProperty worker.ajp13.type=ajp13
JkWorkerProperty worker.ajp13.host=localhost
JkWorkerProperty worker.ajp13.port=8009
JkLogFile "logs/mod_jk.log"
JkLogLevel info
JkMount /*.jsp ajp13

이렇게만 하면 www.uzoogom.com/index.jsp까지는 먹힐지언정
www.uzoogom.com/home/a.jsp같은 경우에는 jsp가 제대로 인식이 안되라.

먼저 httpd.conf에
# JK Connection
LoadModule jk_module modules/mod_jk.so
JkWorkerProperty worker.list=ajp13
JkWorkerProperty worker.ajp13.type=ajp13
JkWorkerProperty worker.ajp13.host=localhost
JkWorkerProperty worker.ajp13.port=8009
JkLogFile "logs/mod_jk.log"
JkLogLevel info

까지만 집어 넣는다.
그리고 httpd-vhosts.conf파일을 열어 virtual host설정부분을 수정한다.
<VirtualHost 211.***.***.***:80>
    ServerAdmin network@dunet.co.kr
    DocumentRoot /usr/local/apache/htdocs/uzoogom
    ServerName www.uzoogom.com
    ErrorLog logs/uzoogom-error_log
    CustomLog logs/uzoogom-access_log common
    JkMount /*.jsp ajp13
    JkMount /abc/*.jsp ajp13
    JkMount /abc/efg/*.jsp ajp13
</VirtualHost>

JKMount부분을 여기에 집어넣는 것이 정답이었다. 여기에서는 /abc/하위 디릭토리의 *.jsp 파일과 /abc/efg/*.jsp의 파일을 읽어들이게 만들었다.

급해서 정규식이 먹히는지는 확인 해보지 않았다.
이걸 적구 테스트 하니 정규식도 잘 먹힌다.

저 3줄때문에 몇 시간을 삽질했는지.....

Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2024/04   »
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