CentOS(64Bit)에 yum을 이용하여 Apache+Tomcat+JSP 연동
Language/JSP 2012. 10. 11. 16:03OS : 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
이제 연동이 끝났습니다.
'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 |