아파치에서 제공하는 "tomcat-connector" 를 이용하면
아파치와 톰캣을 연결하여 아파치 포트(80)로 접속하게 되면
톰캣 웹화면이 출력되게끔 해주는 커넥터입니다.
물론, 톰캣 포트를 그냥 8080을 80으로 변경해서 접속해도 가능하나
보안이 문제가 된다고 합니다.
해당 포스팅에는 톰캣을 80으로 적용시 발생되는 문제점은 다루지 않도록 하겠습니다.
그럼 이전 포스팅에 이어서 apache + tomcat 연동법을 공유하도록 하겠습니다.
2014/12/09 - [개발에필요한연동법/리눅스서버구축] - CentOS 6.5 - Tomcat7 다운로드 + 서버 실행 및 방화벽 해제 알아보기
2014/12/10 - [개발에필요한연동법/리눅스서버구축] - CentOS wget을 이용하여 Apache 2.4 다운로드 및 서버 실행 (방화벽해제 포함)
아파치와 톰캣이 설치되어있다는 가정하에 진행하도록 하겠습니다.
tomcat-connector파일을 wget명령어를 이용하여 다운로드 받도록 하겠습니다.
[root@localhost local]# cd /usr/local [root@localhost local]# wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.40-src.tar.gz -O connector.tar.gz --2014-12-10 10:57:29-- http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.40-src.tar.gz Resolving apache.mirror.cdnetworks.com... 61.110.198.174 Connecting to apache.mirror.cdnetworks.com|61.110.198.174|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1526449 (1.5M) [application/x-gzip] Saving to: `connector.tar.gz' 100%[======================================>] 1,526,449 4.39M/s in 0.3s 2014-12-10 10:57:49 (4.39 MB/s) - `connector.tar.gz' saved [1526449/1526449]
다운로드가 완료되었나요?
그럼 압축 해제를 한다음
컴파일 + 인스톨진행 하도록 하겠습니다.
[root@localhost local]# tar -zxvf connector.tar.gz [root@localhost local]# cd tomcat-connectors-1.2.40-src/native/ [root@localhost native]# ./configure --with-apxs=/usr/local/apache/bin/apxs [root@localhost native]# make && make install
커넥터 설치가 완료되었다면 아파치 디렉토리내에 있는 "conf" 디렉토리로 이동합니다.
[root@localhost native]# cd /usr/local/apache/conf/
아파치와 톰캣을 연결해주는 중요 설정부분이므로
각 순서별로 진행하시면 되겠습니다.
[root@localhost conf]# vi workers.properties
workers.tomcat_home="/usr/local/apache-tomcat-7.0.57" workers.java_home="/usr/java/jdk1.7.0_72" ps=/ worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13.type=ajp13
workers.tomcat_home에 대입되는 경로는
톰캣디렉토리경로를 작성해주면 되겠습니다.
workers.java_home에는 JDK의 디렉토리 설치경로를
작성해주시면 되겠고요.
[root@localhost conf]# vi mod_jk.conf
<IfModule mod_jk.c> JkWorkersFile "/usr/local/apache/conf/workers.properties" JkLogFile "/usr/local/apache-tomcat-7.0.57/logs/mod_jk.log" JkLogLevel info JkAutoAlias "/usr/local/apache-tomcat-7.0.57/webapps" JkMount /* ajp13 JkMount /*.jsp ajp13 JkMount /servlet/* ajp13 JkMount /examples/*.jsp ajp13 JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T" </IfModule>
JkWorkersFile에는 workers.properties 파일경로를 작성해줍니다.
JkLogFile의 경우는 톰캣의 로그디렉토리에
"mod_jk.log" 파일명을 선언해줍니다
( mod_jk.log 에 대한 파일명은 필수는 아닐거같군요.)
이어서 conf디렉토리내에 존재하는 httpd.conf파일에
해당 코드들을 추가해주도록 합니다.
[root@localhost conf]# vi httpd.conf
vi 실행 후 하단으로 좀 내리다보면
LoadModule이라고 여러개 선언되어있는 부분이 있는데
이 부분에 맨 끝라인 다음줄에 다음 코드를 추가해주도록 합니다.
LoadModule jk_module modules/mod_jk.so
httpd.conf 파일 맨 끝으로 내린 후,
코드를 추가해주도록 합니다.
include conf/mod_jk.conf
지금까지 했던 부분이 아파치와 톰캣 연동에 마지막 절차입니다.
자 그럼 아파치와 톰캣서버를 각각 실행시켜주도록 해보겠습니다.
[root@localhost local]# cd /usr/local/apache-tomcat-7.0.57/bin/ [root@localhost bin]# ./startup.sh
[root@localhost bin]# cd /usr/local/apache/bin/ [root@localhost bin]# ./apachectl start
기존 80포트 접속시 "it works!" 라는 문구가 출력이 되었으나
톰캣커넥터 연동으로 인하여 하단과 동일한 실행화면이 출력될 것입니다.
by 개발로짜
리눅스환경에서 MySQL 대소문자 구분을 하지 않기위한 설정방법 알아보기 (0) | 2014.12.15 |
---|---|
CentOS 에서 MySQL 설치 및 UTF-8 설정하여 한글깨짐 현상 해결하기 (0) | 2014.12.15 |
CentOS wget을 이용하여 Apache 2.4 다운로드 및 서버 실행 (방화벽해제 포함) (1) | 2014.12.10 |
CentOS 6.5 - Tomcat7 다운로드 + 서버 실행 및 방화벽 해제 알아보기 (0) | 2014.12.09 |
CentOS에 wget을 이용하여 JDK1.7 RPM 다운로드 후 설치하기 (0) | 2014.12.09 |
이전 톰캣설치 관련 포스팅에 이어서
2014/12/09 - [개발에필요한연동법/리눅스서버구축] - CentOS 6.5 - Tomcat7 다운로드 + 서버 실행 및 방화벽 해제 알아보기
아파치 다운로드 및 설치 + 접속테스트를 해보도록 하겠습니다.
yum 명령어를 이용하여 apache 설치가 가능하나
별도로 configure명령어를 이용하여
컴파일 후 설치를 진행해보도록 하겠습니다.
CentOS 환경이긴 하나 그외 리눅스 환경에서도 정상 작동이 될거 같습니다.
아파치 설지전에 앞어 부가적으로 필요한 파일들을 다운로드 받도록 하겠습니다.
다운로드 관련 파일들은 필수적으로 apache 파일이 필요하며
그 외 apr, apr-util, pcre 파일들이 필요합니다.
[root@localhost ~]# cd /usr/local/ [root@localhost local]# wget http://apache.mirror.cdnetworks.com/apr/apr-1.5.1.tar.gz -O apr.tar.gz --2014-12-10 00:09:14-- http://apache.mirror.cdnetworks.com/apr/apr-1.5.1.tar.gz Resolving apache.mirror.cdnetworks.com... 61.110.198.174 Connecting to apache.mirror.cdnetworks.com|61.110.198.174|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1020833 (997K) [application/x-gzip] Saving to: `apr.tar.gz' 100%[======================================>] 1,020,833 2.26M/s in 0.4s 2014-12-10 00:09:15 (2.26 MB/s) - `apr.tar.gz' saved [1020833/1020833]
[root@localhost local]# wget http://apache.mirror.cdnetworks.com/apr/apr-util-1.5.4.tar.gz -O apr-util.tar.gz --2014-12-10 00:10:06-- http://apache.mirror.cdnetworks.com/apr/apr-util-1.5.4.tar.gz Resolving apache.mirror.cdnetworks.com... 61.110.198.174 Connecting to apache.mirror.cdnetworks.com|61.110.198.174|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 874044 (854K) [application/x-gzip] Saving to: `apr-util.tar.gz' 100%[======================================>] 874,044 2.10M/s in 0.4s 2014-12-10 00:10:06 (2.10 MB/s) - `apr-util.tar.gz' saved [874044/874044]
[root@localhost local]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz -O pcre.tar.gz --2014-12-10 00:11:09-- ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/p cre-8.34.tar.gz => `pcre.tar.gz' Resolving ftp.csx.cam.ac.uk... 131.111.8.115 Connecting to ftp.csx.cam.ac.uk|131.111.8.115|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /pub/software/programming/pcre ... done. ==> SIZE pcre-8.34.tar.gz ... 1933734 ==> PASV ... done. ==> RETR pcre-8.34.tar.gz ... done. Length: 1933734 (1.8M) (unauthoritative) 100%[=========================================>] 1,933,734 533K/s in 3.5s 2014-12-10 00:11:17 (533 KB/s) - `pcre.tar.gz' saved [1933734]
[root@localhost local]# wget http://apache.tt.co.kr/httpd/httpd-2.4.10.tar.gz -O apache.tar.gz --2014-12-09 23:13:24-- http://apache.tt.co.kr/httpd/httpd-2.4.10.tar.gz Resolving apache.tt.co.kr... 121.125.79.185 Connecting to apache.tt.co.kr|121.125.79.185|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 6820719 (6.5M) [application/x-gzip] Saving to: `apache.tar.gz' 100%[====================================================================>] 6,820,719 119K/s in 56s 2014-12-09 23:14:20 (119 KB/s) - `apache.tar.gz' saved [6820719/6820719] [root@localhost local]#
다운로드가 모두 완료되었다면 다운로드 받은 파일들을 압축 해제 해보도록 하겠습니다.
[root@localhost local]# tar -zxvf apr.tar.gz [root@localhost local]# tar -zxvf apr-util.tar.gz [root@localhost local]# tar -zxvf pcre.tar.gz [root@localhost local]# tar -zxvf apache.tar.gz
위와같이 각 다운로드 파일들을 압축해제하면 다음처럼 디렉토리들이 생성 될 것입니다.
※ configure 명령어 실행 후 make 명령어 오류발생시 다음과 같은 오류메시지가 출력될 경우 ※
make : *** 타겟이 지정되지 않았고 메이크파일이 없습니다. 멈춤
"개발툴" 을 설치해야하더군요.
하단 작업 진행 후 make 오류시 다음 명령어를 이용하여
개발툴을 설치해주세요
[root@localhost local]# yum groupinstall 'Development Tools' 'Development Libraries'
이어서 압축해제한 각 파일들을 순서대로 컴파일 및 설치를 진행해주시면 되겠습니다.
[root@localhost local]# cd /usr/local/apr-1.5.1/ [root@localhost apr-1.5.1]# ./configure --prefix=/usr/local/apr [root@localhost apr-1.5.1]# make && make install
[root@localhost apr-1.5.1]# cd /usr/local/apr-util-1.5.4/ [root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/aprutil --with-apr=/usr/local/apr/ [root@localhost apr-util-1.5.4]# make && make install
[root@localhost apr-util-1.5.4]# cd /usr/local/pcre-8.34/ [root@localhost pcre-8.34]# ./configure --prefix=/usr/local/pcre [root@localhost pcre-8.34]# make && make install
[root@localhost local]# cd /usr/local/httpd-2.4.10/ [root@localhost httpd-2.4.10]# ./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so --enable-rewrite --enable-auth-digest --with-apr=/usr/local/apr --with-apr-util=/usr/local/aprutil/ --with-pcre=/usr/local/pcre [root@localhost httpd-2.4.10]# make && make install
설치가 완료되었군요
아파치는 설치하는 과정이 길것입니다.
그냥 yum으로 설치할걸... ㅠㅠ
가상머신의 포트포워딩과 iptables의 방화벽 해제 작업 및
아파치 서버 실행을 하여 로컬PC로부터 접속을 해보도록 하겠습니다.
[root@localhost httpd-2.4.10]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
[root@localhost httpd-2.4.10]# service iptables restart
[root@localhost httpd-2.4.10]# cd /usr/local/apache [root@localhost apache]# cd bin/ [root@localhost bin]# ./apachectl start
위와같이 접속이 완료되었다면 로컬PC에서 URL 접속을 해보도록 하겠습니다
외부 로컬PC에서 접속테스트시
버추얼박스의 아이피가 아닌 호스트 아이피주소로 접속을 하셔야 합니다.
호스트 아이피 확인 주소를 모르시는 분은 하단 링크를 참고해주세요
2014/12/09 - [개발에필요한연동법/스프링연동] - putty,파일질라를 이용하여 가상머신(VirtualBox)에 설치된 CentOS 6.5 접속테스트
지금까지 아파치 설치 및 연동에 대하여 알아보았습니다.
by 개발로짜
CentOS 에서 MySQL 설치 및 UTF-8 설정하여 한글깨짐 현상 해결하기 (0) | 2014.12.15 |
---|---|
CentOS tomcat-connector를 이용한 아파치 + 톰캣 간단 연동법 알아보기 (17) | 2014.12.11 |
CentOS 6.5 - Tomcat7 다운로드 + 서버 실행 및 방화벽 해제 알아보기 (0) | 2014.12.09 |
CentOS에 wget을 이용하여 JDK1.7 RPM 다운로드 후 설치하기 (0) | 2014.12.09 |
putty,파일질라를 이용하여 가상머신(VirtualBox)에 설치된 CentOS 6.5 접속테스트 (2) | 2014.12.09 |
지난 포스팅에 JDK 1.7 설치까지 진행을 해보았습니다.
2014/12/09 - [개발에필요한연동법/리눅스서버구축] - CentOS에 wget을 이용하여 JDK1.7 RPM 다운로드 후 설치하기
이어서 이번에는 WGET 명령어를 이용하여 톰캣 7버전을 다운로드 받아 동작시켜보도록 하겠습니다.
[root@localhost local]#cd /usr/local/ [root@localhost local]# wget http://mirror.apache-kr.org/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz -O tomcat7.tar.gz --2014-12-08 20:40:19-- http://mirror.apache-kr.org/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz Resolving mirror.apache-kr.org... 182.161.117.136 Connecting to mirror.apache-kr.org|182.161.117.136|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 8900571 (8.5M) [application/x-gzip] Saving to: `tomcat7.tar.gz' 100%[=============================================>] 8,900,571 2.04M/s in 4.1s 2014-12-08 20:40:23 (2.08 MB/s) - `tomcat7.tar.gz' saved [8900571/8900571] --2014-12-08 20:40:23-- http://tomcat7.tar.gz/ Resolving tomcat7.tar.gz... failed: 이름 혹은 서비스를 알 수 없습니다. wget: unable to resolve host address `tomcat7.tar.gz' FINISHED --2014-12-08 20:40:23-- Downloaded: 1 files, 8.5M in 4.1s (2.08 MB/s) [root@localhost local]#
rpm 파일이 아니고 tar 압축파일이므로 압축 해제를 해보도록 합니다.
[root@localhost local]# tar -zxvf tomcat7.tar.gz
위처럼 압축을 푼 다음 "ls" 명령어로 압축해제된 디렉토리를 확인해보면 "apache-tomcat-7.x.xx" 디렉토리가 존재할 것입니다.
※ 서버실행전 본인의 가상머신이 아닌 실제PC에서 톰캣 기본포트인 "8080" 포트를 사용한다면 포트 변경 후 서버 실행을 해주셔야 합니다.
저는 로컬PC에 오라클XE 를 설치하여 "8080"포트를 사용하지 못하므로 톰캣포트를 "7070'으로 해주도록 하겠습니다.
[root@localhost bin]# cd /usr/local/apache-tomcat-7.0.57/conf/ [root@localhost conf]# vi server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
port="8080"을 하단과같이 port="7070"으로 변경해주었습니다
<Connector port="7070" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
저장 후 톰캣 서버를 실행해보도록 하겠습니다.
[root@localhost local]# cd /usr/local/apache-tomcat-7.0.57/bin/ [root@localhost bin]# ./startup.sh Using CATALINA_BASE: /usr/local/apache-tomcat-7.0.57 Using CATALINA_HOME: /usr/local/apache-tomcat-7.0.57 Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.57/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/apache-tomcat-7.0.57/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.57/bin/tomcat-juli.jar Tomcat started. [root@localhost bin]#
위 결과가 출력되면 정상적으로 톰캣이 실행된 것입니다.
하지만 외부 접속을 위해서는 8080 또는 변경해준 포트번호를
방화벽에서 해제해주어야 합니다.
[root@localhost bin]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 톰캣포트번호 -j ACCEPT
위 코드를 COMMIT 이전에 추가후 저장해주세요
그럼 iptables 서비스를 재시작 해주도록 합니다.
[root@localhost bin]# service iptables restart iptables: 체인을 ACCEPT 규칙으로 설정 중: filter [ OK ] iptables: 방화벽 규칙을 지웁니다: [ OK ] iptables: 모듈을 언로드하는 중: [ OK ] iptables: 방화벽 규칙 적용 중: [ OK ] [root@localhost bin]#
외부에서 접속테스트를 해보도록 합니다 .
다음과 같이 접속 실패화면이 출력될 것입니다.
이유는 방화벽 해제만 해주었을뿐이고
가상머신자체에서 포트포워딩 작업을 진행해주지 않았기 때문입니다.
포트포워딩으로 8080 혹은 톰캣 변경한 포트번호를
포트포워딩에 추가해주도록 합니다.
1. centos 가상공간 선택 후 [설정] 아이콘 버튼 클릭
2. [네트워크] -> [어댑터1] 탭 -> [고급(D)] 확장 -> [포트 포워딩] 버튼 클릭
3. 포트포워딩 포트 추가 후 [확인] 버튼 클릭 (호스트/게스트 IP) 생략해도 무관
포트가 추가되었으니 다시 접속해보도록 합니다.
위와같이 고양이화면이 정상적으로 출력되었으므로
톰캣연동은 완료 되었습니다.
by 개발로짜
CentOS tomcat-connector를 이용한 아파치 + 톰캣 간단 연동법 알아보기 (17) | 2014.12.11 |
---|---|
CentOS wget을 이용하여 Apache 2.4 다운로드 및 서버 실행 (방화벽해제 포함) (1) | 2014.12.10 |
CentOS에 wget을 이용하여 JDK1.7 RPM 다운로드 후 설치하기 (0) | 2014.12.09 |
putty,파일질라를 이용하여 가상머신(VirtualBox)에 설치된 CentOS 6.5 접속테스트 (2) | 2014.12.09 |
가상머신(Virutalbox)에 CentOS 6.5 설치 및 네트워크 설정한후 ping 테스트 (0) | 2014.12.08 |