본문 바로가기

Operating Systems/Linux

[ Linux ] APACHE ↔ TOMCAT 연동

Apache Tomcat → Tomcat Connectors → JK X.X.XX Source Release tar.gz

[ APACHE - TOMCAT 서버 ]

# apache 설치
yum -y install httpd

# apache 확장 모듈 컴파일을 위한 도구 설치
yum -y install gcc gcc-c++ httpd-devel libtool make

# apache 확장 모듈 컴파일 도구 설치 확인
ls -la /usr/bin/apxs

mkdir -p /app/temp/mod_jk

wget https://mirror.navercorp.com/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz -O /app/install/tomcat-connectors-1.2.48-src.tar.gz
tar xvfz /app/install/tomcat-connectors-1.2.48-src.tar.gz -C /app/temp/mod_jk --strip-components=1

ls -la /app/temp/mod_jk/native/

cd /app/temp/mod_jk/native/

./configure --with-apxs=/usr/bin/apxs

make & make install

ls -la /etc/httpd/modules/mod_jk.so 

# SELinux 에서의 권한이 무엇인지 확인
ls -Z /etc/httpd/modules/mod_jk.so

# SELinux 에서 mod_jk.so 에 대한 Http 권한을 허용하도록 설정
chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so

mkdir /etc/httpd/conf/extra

touch /etc/httpd/conf/extra/httpd-ssl.conf

cat <<APACHE_SETTING > /etc/httpd/conf/workers.properties
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
APACHE_SETTING

cat <<APACHE_SETTING > /etc/httpd/conf/uriworkermap.properties
/*=worker1
APACHE_SETTING

sed -i "s/^\s*DocumentRoot.*/DocumentRoot \"\/app\/server\/tomcat\/webapps\/\"/g" /etc/httpd/conf/httpd.conf

sed -i "s/^\s*#.*//g" /etc/httpd/conf/httpd.conf

sed -i "s/^\s*<\/*Directory.*//g" /etc/httpd/conf/httpd.conf
sed -i "s/^\s*<\/*Files.*//g" /etc/httpd/conf/httpd.conf
sed -i "s/^\s*AllowOverride.*//g" /etc/httpd/conf/httpd.conf
sed -i "s/^\s*Require all.*//g" /etc/httpd/conf/httpd.conf
sed -i "s/^\s*Options.*//g" /etc/httpd/conf/httpd.conf
sed -i "/^$/d" /etc/httpd/conf/httpd.conf

cat <<APACHE_SETTING >> /etc/httpd/conf/httpd.conf

<Directory />
$(printf '\t')AllowOverride None
$(printf '\t')Require all granted
</Directory>

<Directory "/var/www/cgi-bin">
$(printf '\t')AllowOverride None
$(printf '\t')Options None
$(printf '\t')Require all granted
</Directory>

<Files ".ht*">
$(printf '\t')Require all denied
</Files>

# tomcat connect
LoadModule jk_module modules/mod_jk.so 
<IfModule jk_module>
$(printf '\t')JkWorkersFile conf/workers.properties
$(printf '\t')JkLogFile logs/mod_jk.log
$(printf '\t')JkLogLevel info
$(printf '\t')JkLogStampFormat "[%y %m %d %H:%M:%S] "
$(printf '\t')JkShmFile logs/mod_jk.shm
$(printf '\t')JkMountFile conf/uriworkermap.properties
$(printf '\t')JkUnMount /mail/* worker1
$(printf '\t')JkUnMount /*.php worker1
</IfModule>

# ssl settings
include conf/extra/httpd-ssl.conf

LoadModule ssl_module modules/mod_ssl.so

# LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
# LoadModule rewrite_module modules/mod_rewrite.so

APACHE_SETTING

systemctl restart httpd

sed -i "s/^\s*<\/Service>.*//g" /app/server/tomcat/conf/server.xml
sed -i "s/^\s*<\/Server>.*//g" /app/server/tomcat/conf/server.xml  

cat <<TOMCAT_SETTING >> /app/server/tomcat/conf/server.xml
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector protocol="AJP/1.3"
$(printf '\t')port="8009"
$(printf '\t')address="0.0.0.0"
$(printf '\t')secretRequired="false"
$(printf '\t')redirectPort="8443" />

$(printf '\t')</Service>
</Server>
TOMCAT_SETTING

systemctl restart tomcat

'Operating Systems > Linux' 카테고리의 다른 글

[ Linux ] WORDPRESS 설치  (0) 2021.08.06
[ Linux ] PYTHON 설치  (0) 2021.08.01
[ Linux ] TOMCAT 서버 설치  (0) 2021.08.01
[ Linux ] SSH 서버 설치  (0) 2021.07.31
[ Linux ] TELNET 서버 설치  (0) 2021.07.31