리눅스 JDK, tomcat, apach, apache-tomcat 연동 설치 쉘 스크립트 작성
설치 버전
JDK 1.6.0_21
톰캣 6.0.29
아파치 2.2.16
mod jk 1.2.28
다음의 스크립트를 따라서 만든뒤 실행.
(vi 명령어 o : 파일 수정, Esc + ":wq" : 저장하고 닫기)
(쉘 스크립트 실행 : ./쉘스크립트파일명.sh)
JDK 설치 쉘 스크립트
우선 jdk를 다운 받고(http://www.oracle.com/technetwork/indexes/downloads/index.html -java SE 버젼으로)
./쉘 jdk~~.bin 파일 실행
#!/bin/bash
if [ -z $1 ]
then
echo "USAGE: setup_jdk.sh JDKSetupFile.bin"
exit
fi
chmod 755 $1
./$1
mv jdk1.6.0_21 jdk
jdk 환경 변수 설정
jkd.bin
tomcat 설치 쉘 스크립트#!/bin/sh
PATH=/usr/bin:/bin
umask 022
release_comp() {
if [ "$1" = "$2" ] ; then
echo "eq"
else
lrel='printf "%s\n%s\n" $1 $2 | \
sort -t . -k 1, 1n -k 2, 2n -k 3, 3n -k 4, 4n -k 5, 5n | \
head -1'
if [ "$1" = "${lrel}" ]; then
echo "lt"
else
echo "gt"
fi
fi
}
install_JavaDB(){
return 0
}
#!/bin/bash
wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.tar.gz
tar zxvf apache-tomcat-6.0.29.tar.gz
mv apache-tomcat-6.0.29 tomcat 6 //tomcat6로 폴더명 수정
apache 설치 쉘 스크립트
아파치 설치할 폴더를 만들고 (mkdir /usr/local/apache2)
./쉘 /usr/local/apache2/
#!/bin/bash
if [ -z $1 ]
then
echo "USAGE: setup_apache.sh dir_of_apache"
exit $POS_PARAMS_MISSING
fi
wget http://apache.naggo.co.kr/httpd/httpd-2.2.16.tar.gz //아파치 다운받기
tar zxvf httpd-2.2.16.tar.gz //압축 풀기
cd httpd-2.2.16 //압축 푼 파이로 이동
./configure --prefix=$1 \ //prefix 뒤에는 경로
--enable-rule=SHARED_CORE \ //해도 안해도 상관은 없다만 이게 뭔지는 모르겠음
--enable-module=so \
--enable-rewrite \ //해도 안해도 상관은 없다만 이게 뭔지는 모르겠음
--enable-so
make
make install
tomcat-apache 연동 쉘 스크립트
./쉘 /usr/local/apache2/
#!/bin/bash
if [ -z $1 ]
then
echo "USAGE: setup_tomcatcon.sh dir_of_apache"
exit $POS_PARAMS_MISSING
fi
cd $1/modules
mv mod_jk-1.2.28-httpd-2.2.X.so mod_jk.so
연동 설정
/usr/local/apache2/conf/httpd.conf 아래와 같이 추가
LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile conf/workers.propertiesJkShmFile log/mod_jk.shm
JkLogFile logs/mod_jk.log
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"Alias /servlets-examples "/usr/local/tomcat/webapps/servlets-examples/" //임의로 프로젝트 연결
JkMount /*.jsp tomcatJkMount /rest/* tomcat
</IfModule>
<IfModule dir_module>
DirectoryIndex index.html index.jsp //뒤에 jsp 추가</IfModule>
conf/workers.properties 추가
worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1
worker.properties 에 8009 port
tomcat 의 conf 폴더에 server.xml 을 보면 ajp13 프로토콜은 8009 포트인데,
아파치 포트로 들어가는 요청 중에 jsp 요청은 ajp13 프로토콜을 이용해서 8009 포트로 tomcat에 보내진다!
확인을 하려면
->아파치설치 경로 /bin/apachectl start
->톰캣 설치 경로 /bin/startup.sh
(아파치 먼저 올리고 톰캣 올려야 합니다.)
http://ip:port/jsp-examples/ 해보면 됩니다.
(ip,port 는 아파치 ip와 port 입니다.)
리눅스 퍼미션 참고 사이트 : http://rldyddl79.blog.me/10032301403
아파치 톰캣 연동 : http://shonm.tistory.com/208
쉘 스크립트 작성하기 : http://www.linuxlab.co.kr/docs/10-4.htm
고급 bash 스크립트 가이드 : http://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/