tomcat을 실행시키기 위해서는 JRE(Java Runtime Environment)가 필요합니다. JRE를 설치하는 방법은 Oracle에서 JRE를 다운받아 설치하는 방법도 있지만 맥에서는 쉽게 다운로드 받아 설치할수 있습니다.
1. JRE설치
먼저 터미널을 실행시킨 후
$ java -version
을 실행시켰을 경우 현재 JRE가 설치되어 있다면
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)
위와 같이 현재 맥에 설치된 JRE의 버전이 출력될것입니다. 만약 자바가 설치되어 있지 않으면
이렇게 얼럿창이 뜨면서 JRE를 설치하도록 유도하고 있습니다. 여기서 설치를 누르면 손쉽게 JRE를 설치할 수 있습니다.
2. Tomcat 설치
Tomcat은 따로 설치할 필요가 없습니다.
여기에서 tomcat의 압축파일을 다운로드 받은 후 적당한 곳에 압축을 풀어 놓음으로서 설치는 끝나게 됩니다.
혹은 아래 명령어를 터미널에 입력함으로서 쉽게 다운로드 받을 수 있습니다.
$ curl -O http://mirror.apache-kr.org/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz
$ tar xzvf apache-tomcat-7.0.42.tar.gz
$ mv apache-tomcat-7.0.42 ${적당한디렉토리}
#톰켓 실행방법
$ 톰켓설치디렉토리/bin/startup.sh
#톰켓 종료방법
$ 톰켓설치디렉토리/bin/shutdown.sh
3. JK Connector 컴파일 설치
톰켓 홈페이지에서 JK Connector Source 압축파일을 다운로드 하거나
여기를 눌러 직접 다운로드 하시면 됩니다.
$ curl -O http://apache.mirror.cdnetworks.com//tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.37-src.tar.gz
$ tar zxf tomcat-connectors-1.2.37-src.tar.gz
$ cd ./tomcat-connectors-1.2.37-src/native
$ ./configure --with-apxs=/usr/sbin/apxs
#설치시
# checking for gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc
# checking for C compiler default output file name... configure: error: C compiler cannot create executables
# See `config.log' for more details.
# 라는 에러가 발생하면 아래의 명령어를 입력합니다.
$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain
$ make
$ sudo make install
위와 같은 명령어로 컴파일을 완료하면 /usr/libexec/apache2/mod_jk.so가 생성됩니다.
생성된 모듈을 활성화 하고 설정을 합니다.
$ sudo vi /etc/apache2/httpd.conf
# httpd.conf에 아래내용 추가
LoadModule jk_module libexec/apache2/mod_jk.so
<IfModule jk_module>
JkWorkersFile /etc/apache2/workers.properties
JkLogFile ${로그파일위치}/mod_jk.log
JkLogLevel info
JkMountFile /etc/apache2/uriworkermap.properties
</IfModule>
$ sudo vi /etc/apache2/workers.properties
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
$ sudo vi /etc/apache2/uriworkermap.properties
/*.jsp=worker1
/*.krespo=worker1
#만약 context로 설정을 하고자 한다면 /contextName/*=worker1 으로 설정합니다.
$ sudo apachectl -t #설정파일 테스트
$ sudo apachectl graceful #graceful로 아파치 재시작
4. tomcat 설정 및 테스트용 context 설정
$ vi ${톰켓 홈 디렉토리}/conf/server.xml
# <Connector> 태그의 속성으로 URIEncoding="UTF-8"을 추가합니다.
# 이렇게 설정해야지 parameter로 한글을 전송할때 파라미터가 깨지지 않습니다.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
$ vi ${톰켓 홈 디렉토리}/conf/Catalina/localhost/ROOT.xml
# path = localhost:8080/test
# docBase = 아파치의 documentRoot
<Context path="/" docBase="/data/service/tomcat" reloadable="false" privileged="true" antiResourceLocking="false" antiJARLocking="false" allowLinking="true">
</Context>
# 저장후 서버 재시작
이상으로 mod_jk 설정을 완료하였습니다.