System/Linux

Apache + Tomcat 설치 및 연동

Kaget 2020. 7. 17. 17:48

설치환경 : CentOs7

설치 버전

JAVA - 8u261(1.8.261)

Apache - 2.2.34

Apache Tomcat - 8.5.21

Tomcat Connectors - 1.2.48

 

 

* Apache 설치

[root@kaget ~]# cd /usr/local/

[root@kaget local]# wget https://archive.apache.org/dist/httpd/httpd-2.2.34.tar.gz

[root@kaget local]# tar xvfz httpd-2.2.34.tar.gz

[root@kaget local]# cd httpd-2.2.34

[root@kaget httpd-2.2.34]# ./configure --prefix=/app/apache --enable-so --enable-rewrite --with-included-apr

[root@kaget httpd-2.2.34]# make

[root@kaget httpd-2.2.34]# make install

 

- Apache 서비스 등록

[root@kaget local]# vi /usr/lib/systemd/system/apache.service

[Unit]
Description=Apache2.2
After=network.target syslog.target

[Service]
Type=forking
PIDFile=/app/apache/logs/httpd.pid
ExecStart=/app/apache/bin/apachectl start
ExecReload=/app/apache/bin/apachectl graceful
ExecStop=/app/apache/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 

 

 

 

* JAVA 설치

파일은 여기서 다운로드할 수 있습니다.

[root@kaget ~]# cd /usr/local/

[root@kaget local]# tar xvfz jdk-8u261-linux-x64.tar.gz

[root@kaget local]# mkdir /app/jdk1.8

[root@kaget local]# mv jdk1.8.0_261 /app/jdk1.8

 

- JAVA 최초 설치 시

[root@kaget ~]# vi /etc/prifile

export JAVA_HOME=/app/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar

 

- 기존 JAVA가 존재할 경우

아래의 명령어를 입력합니다.

update-alternatives --install /usr/bin/javac javac /app/jdk1.8/bin/javac 1
update-alternatives --install /usr/bin/java java /app/jdk1.8/bin/java 1

update-alternatives --config javac
update-alternatives --config java

[root@kaget ~]# java -version

 

 

 

* Tomcat 설치

[root@kaget ~]# cd /usr/local/

[root@kaget local]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.21/bin/apache-tomcat-8.5.21.tar.gz

[root@kaget local]# tar xvfz apache-tomcat-8.5.21.tar.gz

[root@kaget local]# mkdir /app/tomcat8.5.21

[root@kaget local]# mv apache-tomcat-8.5.21 /app/tomcat8.5.21

 

- 환경변수 설정

[root@kaget ~]# vi /etc/profile

#tomcat
export CATALINA_HOME=/app/tomcat8.5.21

 

- Tomcat 환경 설정

[root@kaget ~]# vi /app/tomcat8.5.21/conf/server.xml

(아래의 내용을 찾아서 다음과 같이 수정 합니다.)

 

<Connector port="8080" protocol="HTTP/1.1"

               URIEncoding="UTF-8"

               connectionTimeout="20000"

               redirectPort="8443" />

 

 

- Tomcat 서비스 등록

[root@kaget ~]# /app/tomcat8.5.21/bin/catalina.sh stop

[root@kaget ~]# vi /usr/lib/systemd/system/tomcat.service

[Unit]
Description=tomcat8.5
After=network.target syslog.target

[Service]
Type=forking
Environment=JAVA_HOME=/app/jdk1.8
User=root
Group=root
ExecStart=/app/tomcat8.5.21/bin/startup.sh
ExecStop=/app/tomcat8.5.21/bin/shutdown.sh
UMask=0007
RestartSec=10
Restart=always
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

 

 

- Tomcat Manager 설정

[root@kaget ~]# vi /app/tomcat8.5.21/conf/tomcat-users.xml

( 가장 아래의 </tomcat-users> 바로 위에 내용을 추가합니다. )

  <role rolename="manager"/>
  <role rolename="manager-gui" />
  <role rolename="manager-script" />
  <role rolename="manager-jmx" />
  <role rolename="manager-status" />
  <role rolename="admin"/>
  <user username="admin" password="manager" roles="admin,manager,manager-gui, manager-script, manager-jmx, manager-status"/>

 

[root@kaget ~]# vi /app/tomcat8.5.21/conf/Catalina/localhost/manager.xml

<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager">
           <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

 

 

 

* Apache, Tomcat 연동

[root@kaget ~]# cd /usr/local/

[root@kaget local]# wget http://mirror.apache-kr.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz

[root@kaget local]# tar xvfz tomcat-connectors-1.2.48-src

[root@kaget local]# cd tomcat-connectors-1.2.48-src/native

[root@kaget native]# ./configure --with-apxs=/app/apache/bin/apxs

[root@kaget native]# make

[root@kaget native]# make install

 

 

- Apache worker 설정

[root@kaget ~]# vi /app/apache/conf/workers.properties

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

 

- Apache, Tomcat 연동 설정

[root@kaget ~]# vi /app/apache/conf/httpd.conf

아래의 내용을 추가합니다.

LoadModule jk_module            modules/mod_jk.so

맨 아래에 다음과 같은 내용을 추가 합니다.

# tomcat connection
<IfModule mod_jk.c>
        JkWorkersFile /app/apache/conf/workers.properties
        JkLogFile /app/apache/logs/mod_jk.log
        JkLogLevel info
        JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
        JkShmFile /app/apache/logs/mod_jk.shm
        JkMount /*.jsp worker1
</IfModule>