Cent OS Tomcat 9 수동 설치

Tomcat 9 수동 설치

CentOS 7.2 에서 yum으로 tomcat을 설치하면 tomcat 7 이 설치된다. 현재 tomcat은 9버전 이 최신 버전이고 이를 설치하려면 아래와 같이 진행하면 됩니다.

1. tomcat 다운로드

1
$ curl -O http://mirror.navercorp.com/apache/tomcat/tomcat-9/v9.0.24/bin/apache-tomcat-9.0.24.tar.gz

2. 다운로드 받은 화일의 압축을 풀고 /usr/local 디렉토리로 이동합니다.(/usr/local 에 설치)

1
2
3
4
$ tar -xf apache-tomcat-9.0.24.tar.gz
$ mv apache-tomcat-9.0.24 /usr/local
$ cd /usr/local
$ mv apache-tomcat-9.0.24 tomcat

3. tomcat user와 group 생성하고, tomcat 화일의 소유권 변경합니다.

1
2
3
4
$ useradd tomcat
$ groupadd tomcat
$ cd /usr/local
$ chown -R tomcat:tomcat tomcat

4. systemd가 tomcat데몬을 제어하도록 등록합니다. 등록하지 않으면, /opt/tomcat/bin/ 디렉토리에서 스크립트를 이용하여 데몬을 실행, 정지해야 합니다.

/etc/systemd/system/tomcat.service 파일을 생성하고 아래 코드르 등록합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Unit]
Description=Apache Tomcat 9
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/usr/local/tomcat/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat
Environment=CATALINA_BASE=/usr/local/tomcat
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

아래 명령어로 tomcat을 systemd 에 등록하고, tomcat을 실행해 봅니다.

1
2
3
4
$ systemctl daemon-reload
$ systemctl enable tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /etc/systemd/system/tomcat.service.
$ systemctl start tomcat

5. 웹 브라우저에서 http://:8080 으로 접속합니다.( 는 tomcat이 설치된 서버)

페이지에 접속은 잘 되지만, manager와 host-manager, server status는 접속되지 않습니다. 이것은, localhost에서만 접속되도록 설정이 되어 있기 때문인데, 아래 파일에서 관련 부분을 주석 처리 합니다.

/usr/local/tomcat/webapps/manager/META-INF/context.xml 수정(주석처리)

1
2
3
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

/usr/local/tomcat/webapps/host-manager/META-INF/context.xml 수정(주석처리)

1
2
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

이제, 아래 role과 user를 등록해주면 manager, host manager 에 접속이 가능해 집니다.

/usr/local/tomcat/conf/tomcat-users.xml 수정

1
2
3
4
5
6
7
8
9
10
11
12
13
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
<user username="role1" password="<must-be-changed>" roles="role1"/>
-->
<role rolename="tomcat"/>
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<user username="admin" password="passwd" roles="manager-gui,admin-gui,manager-status" />
</tomcat-users>

모든 ip 접속 가능 설정

/usr/local/tomcat/latest/webapps/manager/META-INF/context.xml 수정

1
2
3
4
5
6
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
-->
</Context>

/usr/local/tomcat/latest/webapps/host-manager/META-INF/context.xml 수정

1
2
3
4
5
<!--  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
-->
</Context>

설정변경후 tomcat 재시작 합니다.

1
$ systemctl restart tomcat
  • http://:8080/manager/html 에 접속 합니다.
  • tomcat-users.xml 에 설정된 admin / password 을 입력 합니다.

Cent OS Tomcat9 수동 설치1

  • 응용프로그램 을 배포, 배포해제 , 시작 , 중시 및 리로드 할수 있습니다.

Cent OS Tomcat9 수동 설치2

  • Tomcat 가상 호스트 관리자 대시보드 접속
  • http://:8080/host-manager/html 에 접속 합니다.
  • Tomcat 가상 호스트를 생성, 삭제 및 관리 할수 있습니다.

Cent OS Tomcat9 수동 설치3

참조

공유하기