환경 : centos 5.3
APACHE : 2.2
PHP :’ 5.2.5
MYSQL : 4.0
관련파일 다운로드
[root@localhost ~]# wget http://mirror.koreaidc.com/java/jdk-1_5_0_15-linux-i586.bin
[root@localhost ~]# wget http://mirror.koreaidc.com/tomcat/jakarta-tomcat-4.1.30.tar.gz
[root@localhost ~]# wget http://mirror.koreaidc.com/tomcat/tomcat-connectors-current-src.tar.gz
[root@localhost ~]# wget http://mirror.koreaidc.com/tomcat/mm.mysql-2.0.4-bin.jar
[root@localhost ~]# wget http://mirror.koreaidc.com/tomcat/pop3.jar
1. JAVA 설치
받은 jdk bin 파일을 실행할 수 있게 퍼미션을 변경 합니다
[root@localhost ~]# chmod 755 jdk-1_5_0_15-linux-i586.bin
파일을 실행합니다.
[root@localhost ~]# ./jdk-1_5_0_15-linux-i586.bin
스페이스를 눌러 아래 문구처럼 yes를 입력합니다
Do you agree to the above license terms? [yes or no]
yes
작업이 왼료되면 jdk1.5.0_15 디렉토리가 생성이 됩니다
이 디렉토리를 java 디렉토리로 변경합니다 작업에 파서 /usr/local/java 라는 디렉토리를 생성합니다.
[root@localhost ~]# mkdir /usr/local/java
[root@localhost ~]# mv jdk1.5.0_15/* /usr/local/java
JAVA가 잘 설치되었는지 명령어로 확인합니다
[root@localhost bin]# ./java
위 실행 후 java 옵션관련 내용이 나타나면 java는 정상적으로 설치가 완료 되었습니다.
2. TOMCAT 설치
[root@localhost ~]# tar xzvf jakarta-tomcat-4.1.30.tar.gz
[root@localhost ~]# mkdir /usr/local/tomcat
[root@localhost ~]# mv jakarta-tomcat-4.1.30/* /usr/local/tomcat
[root@localhost ~]# vi /etc/profile
JAVA_HOME=/usr/local/java
CATALINA_HOME=/usr/local/tomcat
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
CLASSPATH=.:/usr/local/tomcat/common/lib/servlet.jar:/usr/local/tomcat/common/lib/activation.jar:/usr/local/tomcat/common/lib/mail.jar
export JAVA_HOME CATALINA_HOME CLASSPATH
[root@localhost ~]# source /etc/profile
정상적으로 프로세서가 올라오는지 확인 한다
[root@localhost ~]# ps -ef | grep tomcat
root 22693 1 1 16:55 pts/0 00:00:04 /usr/local/java/bin/java -Djava.endorsed.dirs=/usr/local/tomcat/common/endorsed -classpath /usr/local/java/lib/tools.jar:/usr/local/tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
서버 시작시 tomcat 구동 스크립트 작성
[root@localhost ~]# cd /etc/rc.d/init.d/
[root@localhost init.d]# wget http://mirror.koreaidc.com/tomcat/tomcat
[root@localhost init.d]# chmod 700 tomcat
[root@localhost init.d]# chkconfig –add tomcat
[root@localhost init.d]# chkconfig –level 3 tomcat on
Apache와 Tomcat의 연동을 위한 작업
[root@localhost ~]# vi /usr/local/tomcat/conf/server.xml
내용중 다음을 찾아서
<Server port=”8005″ shutdown=”SHUTDOWN” debug=”0″>
밑줄에 다음을 입력한다.
<Listener className=”org.apache.ajp.tomcat4.config.ApacheConfig” />
*************************************************************************************
내용중 다음을 찾아서
<Host name=”localhost” debug=”0″ appBase=”webapps” unpackWARs=”true” autoDeploy=”true”>
밑줄에 다음을 입력한다.
<Listener className=”org.apache.ajp.tomcat4.config.ApacheConfig” append=”true” />
java를 종료하고 다시 재 시작합니다
[root@localhost ~]# killall -9 java
[root@localhost ~]# killall -9 java
[root@localhost ~]# catalina.sh start
재 시작한 후 프로세서를 확인 해 보고 java 프로세서가 실행됐을 경우 아래와 같이 tocat 설치된
디렉토리의 conf폴더를 확인 해 보면 처음에 없던 auto, jk 디렉토리가 생성되어 있을 것이다.
이 디렉토리가 생성 되었다면 apache와 tomcat 연결설정이 제대로 이루어졌다고 보면 된다.
[root@localhost ~]# ll /usr/local/tomcat/conf/
drwxr-xr-x 2 root root 4096 1월 13 17:08 auto
-rw-r–r– 1 root root 7496 1월 25 2004 catalina.policy
drwxr-xr-x 2 root root 4096 1월 13 17:08 jk
-rw-r–r– 1 root root 778 1월 25 2004 jk2.properties
-rw-r–r– 1 root root 11713 1월 25 2004 server-noexamples.xml.config
-rw-r–r– 1 root root 18166 1월 13 17:06 server.xml
-rw-r–r– 1 root root 310 1월 13 17:08 tomcat-users.xml
-rw-r–r– 1 root root 35668 1월 25 2004 web.xml
3. 아파치와 JSP 연동
[root@localhost ~]# tar xvfz tomcat-connectors-current-src.tar.gz
[root@localhost ~]# cd tomcat-connectors-1.2.28-src/native/
[root@localhost native]# ./configure –with-apxs=/usr/local/apache/bin/apxs
[root@localhost native]# make
make 작업을 완료하고 나면 apache-2.0 에 mod_jk.so 가 생성되었음을 확인 할 수 있습니다.
아팟치 모듈폴더에 카피합니다.
[root@localhost native]# ll apache-2.0/mod_jk.so
-rwxr-xr-x 1 root root 952290 1월 12 10:19 apache-2.0/mod_jk.so
[root@localhost native]# cp apache-2.0/mod_jk.so /usr/local/apache/modules/
아파치 conf 파일 모듈 추가 작업
[root@localhost jk]# vi /usr/local/apache/conf/httpd.conf
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /usr/local/apache/conf/workers.properties
JkLogFile /usr/local/apache/logs/mod_jk.log
JkLogLevel info
아피치와 tomcat 연동을 하기 위해 환경 설정 파일 작성
[root@jsp1 ~]# vi /usr/local/apache/conf/workers.properties
# Start setup file
#
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/java
ps=/
worker.list=ajp12, ajp13
# Definition for Ajp13 worker
#
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
#
# End setup file
4. JSP와 MYSQL 연동 작업
[root@localhost ~]# cp -a mm.mysql-2.0.4-bin.jar /usr/local/tomcat/common/lib/
[root@localhost ~]# cp -a pop3.jar /usr/local/tomcat/common/lib/
mysql을 연동하기 위해서 /etc/hosts 파일을 수정 합니다
[root@localhost ~]# vi /etc/hosts
127.0.0.1 localhost loccalhost.localdomain
218.145.71.133 jsp1.nayana.kr jsp1
위와 같이 수정 후 재부팅을 꼭 해야 합니다.
[root@localhost ~]# init 6
5.테스트
아파치 가상호스트 추가
[root@localhost jk]# vi /usr/local/apache/conf/virtual.conf
<VirtualHost 218.145.71.133:80>
DocumentRoot /free/home/test/html
JkMount /*.jsp ajp13
JkMount /webapps/* ajp13
JkMount /ROOT/* ajp13
JkMount /servlet/* ajp13
JkMount /manager ajp13
JkMount /manager/* ajp13
ServerName test.com
ServerAlias www.test.com
CustomLog logs/access_log combined env=!filter
</VirtualHost>
tomcat 가상호스트 추가
[root@localhost jk]# vi /usr/local/tomcat/conf/server.xml
<!–test.com–>
<Host name=”test.com” debug=”0″ appBase=”/free/home/test/html” unpackWars=”true”>
<Context path=”/webapps” docBase=”webapps” reloadable=”true”/>
<Context path=”/ROOT” docBase=”ROOT” reloadable=”true”/>
<Context path=”/manager” docBase=”/free/home/test/html/webapps/manager” debug=”0″ privileged=”true”></Context>
<Alias>www.test.com</Alias>
</Host>
tomcat 및 아파치 재시작
[root@localhost jk]# killall -9 httpd
[root@localhost jk]# killall -9 java
위와 같이 모든 설정이 완료되면 APACHE / PHP / MYSQL / TOMCAT / JAVA 가
모두 한 서버에서 동작이 됩니다
팁 MYSQL 연동 테스트
JSP 파일을 아래와 같이 생성한 후 웹에서 실행해 본다
<!– mysql+jdbc 연동 테스트 – from http://okjsp.pe.kr/ –>
<%@ page import=”java.sql.*” contentType=”text/html; charset=euc-kr” %>
<%
String DB_URL = “jdbc:mysql://localhost/db명”;
String DB_USER = “db명”;
String DB_PASSWORD= “db패스워드”;
Connection conn;
Statement stmt;
try
{
Class.forName(”org.gjt.mm.mysql.Driver”);
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
stmt = conn.createStatement();
conn.close();
out.println(”mysql jdbc test: connect ok!!”);
}
catch(Exception e)
{
out.println(e.getMessage());
}
%>
실제 웹페이지에서 아래와 같이 나타나면 이상없이 연결이 된 것이다.
mysql jdbc test: connect ok!!