CentOS(64Bit)에 yum을 이용하여 Apache+Tomcat+JSP 연동

Language/JSP 2012. 10. 11. 16:03

OS : CentOS 5.5 64bit

Apache : 2.2.3-43 64bit

Tomcat 5.5 : 5.5.23 64bit

Java : 1.6.0_17 64bit

Connector : 1.2.31 64bit

 

 

I. Apache 설치

1, 먼저 root로 로그인 합니다.

2. yum list | grep httpd 를 입력하여 결과를 확인합니다.

 

[root@www ~]# yum list | grep httpd
httpd.x86_64                               2.2.3-43.el5.centos.3       updates  
httpd-devel.i386                           2.2.3-43.el5.centos.3       updates  
httpd-devel.x86_64                         2.2.3-43.el5.centos.3       updates  
httpd-manual.x86_64                        2.2.3-43.el5.centos.3       updates  
system-config-httpd.noarch                 5:1.3.3.3-1.el5             base    

 

저는 OS가 64bit 이므로ㅛ

 

yum -y install httpd.x86_64

 

라고 입력하시면 설치됩니다.

 

3. 설치가 완료되면 vi /etc/httpd/conf/httpd.conf 하여 일부 내용을 편집합니다.

 

먼저 언어 우선순위를 정합니다. 아래와 같이 ko를 맨 앞으로 옮겨 주시면 됩니다.

 

LanguagePriority ko en ca cs da de el eo es et fr he hr it ja ltz nl nn no pl pt
 pt-BR ru sv zh-CN zh-TW

 

다음으로 인코딩 방식입니다. 기본은 UTF-8로 되어 있습니다.

 

AddDefaultCharset UTF-8


만약 한글 전용으로 하실 경우에는

 

AddDefaultCharset EUC-KR

 

로 고쳐주세요.
이제 저장하고 나갑니다.

 

4. 다음으로 방화벽에서 80번 포트를 열어줍니다. vi /etc/sysconfig/iptables 라고 입력합니다. 아래는 제 장비의 설정입니다.

 

=========================================================================================

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
==============================================================================================


-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 다음에

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

라고 입력합니다. (복사해서 넣으셔도 됩니다.)

저장하고 나갑니다.

 

[root@www ~]# service iptables restart

 

하여 방화벽을 재시작 합니다.

 

 

5. 이제 Apache 데몬을 올립니다.

[root@www ~]# service httpd start
httpd (을)를 시작 중:                                      [  OK  ]

안되는 분은

[root@www ~]# /sbin/service httpd start  하시면 됩니다.

(일반 계정으로 로그인 후 su로 root 변경 하신분은 위 방법을 사용하세요. 그런분들은 계정 디렉토리에서 .bash_profile(bash 일경우입니다)를 열어서 PATH=/usr/sbin:$PATH; export PATH 추가해서 패스를 추가해주시기 바랍니다.)

 

6. 이제 서비스를 확인합니다. 웹브라우저에서 http://xxx.xxx.xxx.xxx/주소 를 입력하여 아래와 같이 정상적으로 화면이 나오면 됩니다.

 

II. JDK 설치

1. 이번에는 Java를 설치합니다.  yum list | grep java 라고 칩니다.

[root@www ~]# yum list | grep java
adaptx-javadoc.x86_64                      0.9.13-3jpp.1               base     
ant-javadoc.x86_64                         1.6.5-2jpp.2                base     
ant-javamail.x86_64                        1.6.5-2jpp.2                base     
antlr-javadoc.x86_64                       2.7.6-4jpp.2                base     
....

java-1.4.2-gcj-compat-src.x86_64           1.4.2.0-40jpp.115           base     
java-1.6.0-openjdk.x86_64                  1:1.6.0.0-1.16.b17.el5      updates  
java-1.6.0-openjdk-demo.x86_64             1:1.6.0.0-1.16.b17.el5      updates  
java-1.6.0-openjdk-devel.x86_64            1:1.6.0.0-1.16.b17.el5      updates  
java-1.6.0-openjdk-javadoc.x86_64          1:1.6.0.0-1.16.b17.el5      updates  
java-1.6.0-openjdk-src.x86_64              1:1.6.0.0-1.16.b17.el5      updates 


저의 경우에는  java-1.6.0-openjdk.x86_64를 설치하면 됩니다. 

 

2. java를 설치합니다.

[root@www ~]# yum -y install java-1.6.0-openjdk.x86_64

라고 입력하여 설치합니다. 의존성에 의해 필요한 몇개의 패키지가 설치됩니다.

 

3. 설치가 완료되면  아래와 같이 java -version 을 입력하여 내용을 확인합니다.

 

[root@www ~]# java -version
java version "1.6.0_17"
OpenJDK Runtime Environment (IcedTea6 1.7.5) (rhel-1.16.b17.el5-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

 

III. Tomcat 설치

1. 이제 Tomcat을 설치해 보겠습니다. yum list | grep tomcat 을 입력하여 설치여부를 확인합니다.

[root@www ~]# yum list | grep tomcat
jakarta-commons-collections-tomcat5.x86_64 3.2-2jpp.3                  base     
struts-webapps-tomcat5.x86_64              1.2.9-4jpp.5                base     
tomcat5.x86_64                             5.5.23-0jpp.11.el5_5        updates  
tomcat5-admin-webapps.x86_64               5.5.23-0jpp.11.el5_5        updates  
tomcat5-common-lib.x86_64                  5.5.23-0jpp.11.el5_5        updates  
tomcat5-jasper.x86_64                      5.5.23-0jpp.11.el5_5        updates  
tomcat5-jasper-javadoc.x86_64              5.5.23-0jpp.11.el5_5        updates  
tomcat5-jsp-2.0-api.x86_64                 5.5.23-0jpp.11.el5_5        updates  
tomcat5-jsp-2.0-api-javadoc.x86_64         5.5.23-0jpp.11.el5_5        updates  
tomcat5-server-lib.x86_64                  5.5.23-0jpp.11.el5_5        updates  
tomcat5-servlet-2.4-api.x86_64             5.5.23-0jpp.11.el5_5        updates  
tomcat5-servlet-2.4-api-javadoc.x86_64     5.5.23-0jpp.11.el5_5        updates  
tomcat5-webapps.x86_64                     5.5.23-0jpp.11.el5_5        updates 

 

2. 저의 경우는 tomcat5.x86_64를 설치하면 됩니다.

 

[root@www ~]# yum -y install tomcat5.x86_64
라고 입력하여 설치합니다. 의존성에 의해 필요한 패키지는 자동으로 설치됩니다.

 

3. 방화벽에서 8080포트를 열어줍니다. 앞에 Apache 설치때와 같습니다.

[root@www ~]# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

저장하고 나가서 서비스를 재시작합니다.

[root@www ~]# service iptables restart

4. 설정 파일을 확인합니다. 아래와 같이 입력하여 파일을 오픈한 후 파란색으로 표시된 부분과 같이 설정되어 있는지 확인합니다.

 

[root@www ~]# vi /usr/share/tomcat5/bin/relink

 

for webapp in $(find $CATALINA_HOME/webapps -mindepth 1 -maxdepth 2 -type d) ; do
    [ -d "$webapp/WEB-INF/lib" ] && rebuild-jar-repository $webapp/WEB-INF/lib
done

만약 설정되어 있지 않다면 똑같이 수정해 줍니다.

저장 후 나갑니다.

 

5. 아래와 같이 파일을 열어서 파란색 부분과 같이 설정해 줍니다.

[root@www ~]# vi /usr/share/tomcat5/conf/workers.properties

 

#workers.tomcat_home=/var/tomcat3
workers.tomcat_home=/usr/share/tomcat5

 

#workers.java_home=/opt/IBMJava2-13
workers.java_home=/usr/lib/jvm/java

 

위 2부분을 수정한 후 저장하고 나갑니다.

 

6. 이번에는 web.xml을 수정합니다.

아래 기술된 부분이 주석처리 되어 있습니다. 주석을 풀어주시면 됩니다.

 

[root@www ~]# vi /usr/share/tomcat5/conf/web.xml

    <servlet>
        <servlet-name>invoker</servlet-name>
        <servlet-class>
          org.apache.catalina.servlets.InvokerServlet
        </servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

그리고 아래 부분도 주석을 풀어줍니다.


    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>

완료 되었으면 저장하고 나갑니다.

 

6. 이번에는 server.xml을 편집합니다.

[root@www ~]# vi /usr/share/tomcat5/conf/server.xml
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!--<Connector port="8009"
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />-->

    위 부분이 주석처리 되어 있지 않습니다. 이 부분을 주석처리 합니다. 그리고 아래와 같이 입력합니다.

 

<Connector port="8009" maxHttpHeaderSize="8192" tomcatAuthentication="false"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" protocol="AJP/1.3" />

 

저장하고 나갑니다.

 

7. 이제 서비스를 시작합니다.

[root@www ~]# service tomcat5 start
Starting tomcat5:                                          [  OK  ]

 

IV. Connector 설치

1. 아래 사이트로 가서 필요한 connector를 설치합니다.

http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/

저는 linux 폴더로 들어가서 현재까지 최신 버전인 jk-1.2.31를 설치하도록 하겠습니다.

OS가 64Bit 이므로 x86_64 폴더 내에서 받습니다.

 

저의 경우 전체 주소는 http://www.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  를 다운받아 사용합니다.

 

다운받은 뒤 리눅스장비의 아래 위치로 복사합니다.(다운 받은 파일명과 다른 파일명이므로 주의합니다.)

복사위치 /etc/httpd/modules

파일명 mod_jk.so

 

[root@www ~]# cp mod_jk-1.2.31-httpd-2.2.x.so /etc/httpd/modules/mod_jk.so

권한을 변경합니다.

[root@www ~]# chmod 755 /etc/httpd/modules/mod_jk.so

원래는 workers.properties를 수정해줘야 하지만 기본설정 값만으로도 사용 가능하니 작업하지 않겠습니다.

대신 그대로 복사하여 사용하도록 하겠습니다.

[root@www ~]# cp /usr/share/tomcat5/conf/workers.properties /etc/httpd/conf/workers.properties

 

2. 다음으로 Apache 설정파일을 수정합니다.

[root@www ~]# vi /etc/httpd/conf/httpd.conf

후 아래와 같이 내용을 추가합니다.

 

LoadModule cgi_module modules/mod_cgi.so
LoadModule version_module modules/mod_version.so
LoadModule jk_module modules/mod_jk.so

 

다음으로 아래 내용을 추가합니다.

DirectoryIndex index.html index.html.var
부분에 index.jsp를 추가합니다.

DirectoryIndex index.jsp index.html index.html.var

 

다음으로 아래 내용을 추가합니다.

단, 아래 내용은 파일로 만든 후 추가하셔도 되고 바로 입력하셔도 됩니다.

저의 경우는 파알로 만든 후 추가하는 방법을 사용하겠습니다.

(바로 입력하시려면 제가 파일로 만든 내용을 httpd.conf에 그대로 입력하시면 됩니다.)

 

httpd.conf파일에 보면 아래와 같은 내용이 있습니다.

#
# Load config files from the config directory "/etc/httpd/conf.d".
#
Include conf.d/*.conf

즉, /etc/httpd/conf.d 폴더안에 conf파일을 만들어 두면 자동으로 include 되죠..

따라서 jkmodule.conf 파일을 하나 만들어 /etc/httpd/conf.d/에 넣도록 하겠습니다.

우선 jkmodule.conf 파일의 내용은 아래와 같습니다.

 

먼저 파일을 생성합니다.

[root@www ~]# vi /etc/httpd/conf.d/jkmodule.conf

다음으로 내용을 입력합니다.

 

JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /etc/httpd/logs/mod_jk.log
JkShmFile /usr/tomcat/logs/jk.shm
JkMount /*.jsp ajp13
JkMount /*.do ajp13
JkMount /article/* ajp13
JkMount /uploadManager ajp13
JkMount /downManager ajp13
JkMount /alice-upload ajp13
JkMount /servlet/* ajp13

 

완료되면 저장하고 나갑니다.

 

3. Tomcat5의 홈디렉토리를 /var/www 로 변경합니다.

 

[root@www webapps]# cd /usr/share/tomcat5/webapps/
[root@www webapps]# ln -s /var/www/html /usr/share/tomcat5/webapps/ROOT

이제 모든 설정이 끝났습니다.

tomcat 재지삭, apache 재시작 후 테스트 해보시면 됩니다.

 

4. 먼저 현재  /usr/share/tomcat5/webapps/ROOT/ 에는 아무것도 없습니다. 그래서 파일을 하나 만들겠습니다.

[root@www /]# vi /usr/share/tomcat5/webapps/ROOT/index.jsp
빈 페이지가 나타나면 아래 내용을 입력합니다.

 

<%@ page contentType="text/html;" %>
<html>
<body>
<%
 String strVar="jsp start";
%>
JSP Start : <%= strVar %>
</body>
</html>

저장하고 나갑니다.

이제 서비스를 재시작합니다.

 

[root@www /]# service tomcat5 restart
Stopping tomcat5:                                          [  OK  ]
Starting tomcat5:                                          [  OK  ]
[root@www /]# service httpd restart
httpd 를 정지 중:                                          [  OK  ]
httpd (을)를 시작 중:                                      [  OK  ]

이제 웹브라우저에서 http://xxx.xxx.xxx.xxx/ 를 입력합니다. 아래 내용이 나타나면 성공입니다.

 

JSP Start : jsp start 

이제 연동이 끝났습니다.



출처 - http://blog.naver.com/PostView.nhn?blogId=gkdrhd93&logNo=10096875525&viewDate=&currentPage=1&listtype=0

'Language > JSP' 카테고리의 다른 글

struts2 튜토리얼  (0) 2012.10.23
태그라이브러리 URI  (0) 2012.10.23
[centOS] apache2.2 + tomcat6 (yum 설치 성공 통합 정리)  (0) 2012.10.12
Apache+Tomcat 연동  (0) 2012.10.11
[CentOS] 6.2에 아파치 + 톰캣6 연동하기  (2) 2012.10.10
: