호딩이 2008. 7. 2. 09:49
지금 보시는 글은 http://javacan.madvirus.net/ 를 따라한 것입니다.

설치환경 Fedora core 8
톰캣은 이미 설치되어있던 상태.

먼저 설치되어있던 아파치, mysql, php 를
$yum remove httpd
$yum remove mysql
$yum remove php
로 제거
++++ 아파치 설치 ++++
http://httpd.apache.org 사이트에서 아파치 다운로드
httpd-2.2.8.tar.gz 다운
$tar zxvf httpd-2.2.8.tar.gz
$cd httpd-2.2.8
$./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite
$make
$make install
설치 후 아파치 폴더로 이동후 실행
$cd /usr/local/apache2/bin
$./apachectl start
입력 후 브라우져에서 http://localhost/ 입력후 내용이 뜨면 성공.
확인 후 아파치 종료
$./apachectl stop
아파치 자동실행을 위해 /etc/rc.d/rc.local 젤 아마지막 줄에 다음 내용 추가
$vi /etc/rc.d/rc.local
/bin/sh -c '/usr/local/apache2/bin/apachectl start'
저장 후 빠져나옴

++++ MySQL 설치 ++++
www.mysql.com 에서 mysql-5.0.51b 다운로드
$tar zxvf mysql-5.0.51b
$cd mysql-5.0.51b
$./configure --prefix=/usr/local/mysql --with-charset=utf8
$make
$make install
$cd /usr/local/mysql/bin
$./mysql_install_db
// 여기서 부터는 http://test.blogmeme.com/blog/index.php?blog_code=home&article_id=3255 글 참조
// 08년 6월 9일 추가 http://cusee.net/179 참고하기 << 여기가 더 좋음..;;
mysql 부분 참조...

++++ PHP설치 ++++
http://www.php.net 에서 php-5.2.6.tar.gz 다운로드
$tar zxvf php-5.2.6.tar.gz
$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
$ make
$ make install
$ cp php.ini-dist /usr/local/lib/php.ini

./configure 수행 시 에러가 발생하면 libxml2-2.6설치

다음은 아파치 설정 확인 또는 변경
libphp5.so 모듈이 제대로 입력되어있는지 확인 후 없으면추가
$vi /usr/local/apache2/conf/httpd.conf
아래 내용이 있는지 확인하고 없다면 추가
LoadModule php5_module        modules/libphp5.so

AddType 라인을 찾아서 php 확장자를 php가 처리 하도록 아래 내용 추가
AddType application/x-httpd-php .php .phtml
저장 후 종료
아파치 재시작
$/usr/local/apache2/bin/apachectl restart 혹은 start

제대로 설치되었는지 확인하기 위해 phpinfo.php 파일 작성
$cd /usr/local/apache2/htdocs/
$vi phpinfo.php
내용 작성
<? phpinfo() ?>
저장 후 종료

브라우져 실행 후 localhost/phpinfo.php 입력
phpinfo 내용이 보이면 성공

+++++++++++++ 연동을 위한 준비 시작 ++++++++++++
mod_jk.so 생성하기

http://tomcat.apache.org/download-connectors.cgi 사이트에서
tomcat-connectors-1.2.26-src.tar.gz 소스버전 다운로드
$ tar zxvf tomcat-connectors-1.2.26-src.tar.gz
$ cd tomcat-connectors-1.2.26-src
$ cd native
$ ./configure --with-apxs=/usr/local/apache2/bin/apxs
$ make
$ cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules

다음으로 /usr/local/apache2/conf에 workers.properties 파일을 만든다.

$vi /usr/local/apache2/conf/workers.properties

# 사용할 worker 목록을 지정한다. 아래는 local worker만 지정하였으며, 여러 개를 지정해야 할 경우 콤마로 구분
worker.list=local

# local worker에 대한 설정: 톰캣 5.x는 ajp13을 기본적으로 제공한다.
worker.local.type=ajp13
worker.local.host=localhost
worker.local.port=8009

저장 후 종료

다음은 아파치 설정파일에 톰캣 연동 정보 추가히기.

# tomcat 연동 모듈인 mod_jk를 로딩

LoadModule 부분 찾아서 아래 내용 추가


$vi /usr/local/apache2/conf/httpd.conf

LoadModule    jk_module  modules/mod_jk.so


# worker 정보가 설정된 파일의 경로 지정
JkWorkersFile /usr/local/apache2/conf/workers.properties

JkLogFile  /usr/local/apache2/logs/mod_jk.log
JkLogLevel    error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat     "%w %V %T"


# 어떤 요청을 톰캣으로 보낼 지 지정한다.
JkMount /*.jsp local
JkMount /servlet/* local

저장 후 종료

/ 에서 요청된 jsp 파일과 /servlet/ 로 들어오는 요청들은 톰캣이 처리하게 된다.


/usr/local/apache2/bin/apachectl restart 혹은 start 후에 작동하는지 확인
브라우저 실행 후 http://localhost/test.jsp
입력하면 톰캣에서 에러메시지 띄움
http://localhost/test.html
입력하면 아파치가 에러메시지 띄움.


여기까지입니다. 아파치랑 톰캣이랑 연동하는데 왜이렇게 힘들죠 -_-? 어쨋든 mod_jk 이용해서 성공했네요.