리눅스/apache

아파치 2.2.x + 톰캣 7.0.x 연동하기

Rohin 2014. 11. 23. 10:42
반응형

아파치 및 PHP 는 설치되어있다는 가정하에 설명합니다.

jdk 및 tomcat 은 작성일자 (2013. 10. 08) 최신버전입니다.

 

[설치 버전]

http 2.2.17

jdk 1.7.0_40

tomcat 7.0.42

 

 

1. jdk 다운로드 및 설치

http://java.sun.com 사이트의 'Java SE' 메뉴에서 최신버전의 JDK를 다운로드 받아 서버에 올려놓습니다.

올려놓은 파일을 rpm 명령어로 설치합니다.

 

# rpm -Uvh jdk-7u40-linux-x64.rpm

 

설치가 완료되었으면 환경변수 설정을 합니다.

 

# vi /etc/profile

JAVA_HOME=/usr/java/jdk1.7.0_40

CATALINA_HOME=/usr/local/tomcat

PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

 

저장후 적용을 위해 아래 명령을 실행합니다.

# source /etc/profile

 

java가 정상적으로 설치되었는지 버전을 확인해봅니다.

# java -version

 

java version "1.7.0_40"

Java(TM) SE Runtime Environment (build 1.7.0_40-b43)

Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

 

 

2. tomcat 다운로드 및 설치

# cd /usr/local/src

# wget http://apache.tt.co.kr/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz

# tar xvzf apache-tomcat-7.0.42.tar.gz

# mv apache-tomcat-7.0.42 /usr/local/tomcat

 

tomcat 이 정상적으로 설치 되었는지 실행을 통해 확인해봅니다.

# startup.sh

 

Using CATALINA_BASE:   /usr/local/tomcat

Using CATALINA_HOME:   /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME:        /usr/java/jdk1.7.0_42

Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

 

 

3. mod_jk 설치

연동에 필요한 커넥터를 다운로드 하고 mod_jk.so 파일을 생성합니다.

 

# wget http://apache.tt.co.kr//tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.37-src.tar.gz

# tar xvzf tomcat-connectors-1.2.37-src.tar.gz

cd tomcat-connectors-1.2.37-src/native

# ./buildconf.sh

# ./configure --with-apxs=/usr/local/apache/bin/apxs

# make

# cp -arp apache-2.0/mod_jk.so /usr/local/apache/modules

 

------ 또다른 방법 ----------

연동에 필요한 커넥터를 다운로드 합니다.

OS bit 수 나 아파치의 버전이 틀리다면 아래 URL 에서 파일명을 제외하고 접속한 뒤

사용하는 버전 디렉토리를 찾아가 다운로드를 하면 됩니다.


# wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.31/x86_64/mod_jk-1.2.31-httpd-2.2.x.so

# cp -arp mod_jk-1.2.31-httpd-2.2.x.so /usr/local/apache/modules/mod_jk.so

# chmod 755 /usr/local/apache/modules/mod_jk.so

----------------------------

 

 

4. http + tomcat 연동 설정

아파치 설정 파일을 열어 아파치 구동시 모듈이 불어와지도록 아래 내용을 추가해줍니다.

# vi /usr/local/apache/conf/httpd.conf

LoadModule jk_module modules/mod_jk.so 

 

DirectoryIndex index.html index.htm index.php index.jsp

 

AddType application/x-httpd-php .html .htm .php .inc .jsp

 

<IfModule jk_module>

JkWorkersFile conf/workers.properties

JkShmFile logs/mod_jk.shm

JkLogFile logs/mod_jk.log

JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

</ifModule>


# vi /usr/local/apache/conf/workers.properties

workers.tomcat_home=/usr/local/tomcat        // tomcat 설치 디렉토리

workers.java_home=/usr/java/jdk1.7.0_40       // java  설치 디렉토리

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13 



5. 사이트 설정 (virtualhost)

아파치 설정파일에 사이트를 추가합니다.

# vi /usr/local/apache/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>

    DocumentRoot "/home/neulwon/public_html"

    ServerName neulwon.com

    ServerAlias www.neulwon.com

    JkMount /*.jsp ajp13                 // 각 virtualhost 마다 추가

</VirtualHost> 


톰캣 설정 파일에 사이트를 추가합니다.

# vi /usr/local/tomcat/conf/server.xml

<Host name="neulwon.com" appBase="/home/neulwon/public_html" unpackWARs="true" autoDeploy="true">

    <Context path="" docBase="/home/neulwon/public_html" crossContext="true" debug="0" reloadable="true"/>

    <Alias>www.neulwon.com</Alias>

</Host>


아파치와 톰캣을 재시작하여 적용하도록 합니다.

jsp 가 잘 불러와지는지 확인을 위해 소스 기본 디렉토리에 index.jsp 라는 샘플 파일을 만들어 넣습니다.

 

# vi /home/neulwon/public_html/index.jsp

<html>

<body>

<%

String str = request.getParameter("name");

if(str == null)

{ str = "JSP"; }

%>

Hello, <%= str %>!!!

</body>

</html> 

 

저장한 뒤, 사이트 접속을 하여 정상 출력되는지 확인합니다.

 

접속 URL : http://neulwon.com/index.jsp

 

정상일 경우 출력 내용 : Hello, JSP!!!

잘못된 경우 출력 내용 : Hello, !!!  또는 소스 내용 출력