Infra/Server
[Centos7] Apache Install (Compile) and Tomcat Connector for mod_jk
자라선
2020. 7. 28. 14:05
## (선택) 만약 docker 컨테이너 실행시 cgroup 에러시 아래의 명령어를 실행
sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
------------------------------------------------------------------
# 설치파일을 모아놓을 /app 디렉토리
mkdir /app
cd /app
# 웹서버 컴파일 설치
wget http://mirror.apache-kr.org//httpd/httpd-2.4.41.tar.gz
#웹서버 인스톨 전 필수 라이브러리
yum -y install gcc-c++ zlib-devel openssl-devel pcre-devel expat-devel
# ##### APR, APR-util 에러시 #####
# configure: error: APR not found. Please read the documentation
## http://apr.apache.org/download.cgi 에서 라이브러리 설치
tar xvfz apr-1.5.1.tar.gz
cd apr-1.5.1
http://apr.apache.org/download.cgi
./configure --prefix=/usr/local/apr
make
make install
# rm: cannot remove ‘libtoolT’: No such file or directory
cp -arp libtool libtoolT
tar xvfz apr-util-1.5.1.tar.gz
cd apr-util-1.5.1
./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-util
make
make install
cd pcre-8.36
./configure --prefix=/usr/local/pcre
make
make install
./configure --prefix=/usr/local/apache2.4 --enable-module=so --enable-rewrite --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-mods-shared=all
##################################
# 설치된 아파치로 이동
cd /usr/local/apache2.4/bin
# httpd 실행
./httpd -k start
### 톰캣과 연동을 위한 mod_jk 설치
# 파일을 가져오기 위해 /app로 이동
cd /app
# mod_jk 압축파일 설치
wget http://apache.tt.co.kr/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz
tar xvfz tomcat-connectors-1.2.46-src.tar.gz
cd tomcat-connectors-1.2.46-src/native
./configure --with-apxs=/usr/local/apache2.4/bin/apxs
make
make install
# 설치 후 아파치 모듈에 mod_jk 있는지 확인
ls -l /usr/local/apache2.4/modules | grep mod_jk.so
# 톰캣 설정에 Connector가 8009포트로 되어있는지 확인
vim <tomcat 설치 루트>/conf/server.xml
# < Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
# worker 생성 후 아래의 내용 추가
vim /usr/local/apache2.4/conf/workers.properties
## ---------------------
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
## --------------------
# 아파치 설정에 아래의 내용 추가
vim /usr/local/apache2.4/conf/httpd.conf
## --------------------------
LoadModule jk_module modules/mod_jk.so
# tomcat connection
<IfModule mod_jk.c>
JkWorkersFile /usr/local/apache2.4/conf/workers.properties
JkLogFile /usr/local/apache2.4/logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkShmFile /usr/local/apache2.4/logs/mod_jk.shm
JkMount /* worker1
</IfModule>
## ----------------------------
# 아파치 재시작
/usr/local/apache2.4/bin/httpd -k stop
/usr/local/apache2.4/bin/httpd -k start