[CentOS7] Tomcat 9 install
tomcat download : https://archive.apache.org/dist/tomcat/
- tomcat 설치전 java-1.8 을 설치 합니다.
- tomcat 유저를 생성 합니다.
[root@CentOS7 ~]# yum install -y java-1.8.0-openjdk-devel [root@CentOS7 ~]# useradd -m -U -d /opt/tomcat -s /bin/false tomcat
- apache-tomcat-9.0.14 를 다운 받습니다.
- 압축 해제후 /opt/tomcat 으로 이동 합니다.
- tomcat.service 파일을 생성 합니다.
- daemon-reload 후 tomcat 을 구동 합니다.
[root@CentOS7 ~]# cd /tmp [root@CentOS7 tmp]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz [root@CentOS7 tmp]# tar -xf apache-tomcat-9.0.14.tar.gz [root@CentOS7 tmp]# mv apache-tomcat-9.0.14 /opt/tomcat/ [root@CentOS7 tmp]# ln -s /opt/tomcat/apache-tomcat-9.0.14 /opt/tomcat/latest [root@CentOS7 tmp]# chown -R tomcat: /opt/tomcat [root@CentOS7 tmp]# sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh' [root@CentOS7 tmp]# vi /etc/systemd/system/tomcat.service [Unit] Description=Tomcat 9 servlet container After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/jre" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat/latest" Environment="CATALINA_HOME=/opt/tomcat/latest" Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/latest/bin/startup.sh ExecStop=/opt/tomcat/latest/bin/shutdown.sh [Install] WantedBy=multi-user.target [root@CentOS7 tmp]# systemctl daemon-reload [root@CentOS7 tmp]# systemctl enable tomcat [root@CentOS7 tmp]# systemctl start tomcat
- 방화벽 사용시 8080 포트를 오픈 합니다.
[root@CentOS7 ~]# firewall-cmd --zone=public --permanent --add-port=8080/tcp [root@CentOS7 ~]# firewall-cmd --reload
- tomcat 에 접속해 봅니다.
- Tomcat 웹 관리 인터페이스 구성
- 8080 port 를 통하여 웹 접속은 가능 하지만 사용자를 만들지 않아 웹 관리 인터페이스에 액세스 할수 없습니다.
- Tomcat 사용자는 tomcat-users.xml 파일에 정의 됩니다.
- tomcat-users.xml 를 수정 합니다.
[root@CentOS7 ~]# vi /opt/tomcat/latest/conf/tomcat-users.xml <!-- <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="admin-gui"/> <role rolename="manager-gui"/> <user username="admin" password="password1" roles="admin-gui,manager-gui"/> </tomcat-users>
- 기본적으로 Tomcat 웹 관리 인터페이스는 localhost 에서만 액세스 할수 있도록 구성 되어 있습니다.
- 보안 위험이 있음으로 원격 ip 또는 권장 되지 않은 곳에서 웹 인터페이스에 액세스 하려면 context.xml 파일을 수정 해야 합니다.
- 어디에서나 접근 가능하게 설정 하기 위하여 아래 라인을 주석 처리 합니다.
모든 ip 접속 가능 설정
[root@CentOS7 ~]# vi /opt/tomcat/latest/webapps/manager/META-INF/context.xml <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> [root@CentOS7 ~]# vi /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml <!-- <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 재시작
[root@CentOS7 ~]# systemctl restart tomcat
특정 아이피 192.168.0.1 에서만 접속 설정
[root@CentOS7 ~]# vi /opt/tomcat/latest/webapps/manager/META-INF/context.xml <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|192.168.0.1" /> </Context> [root@CentOS7 ~]# vi /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml <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|192.168.0.1" /> </Context>
- 설정변경후 tomcat 재시작
[root@CentOS7 ~]# systemctl restart tomcat
- http://192.168.0.10:8080/manager/html 에 접속 합니다.
- tomcat-users.xml 에 설정된 admin / password1 을 입력 합니다.
- 응용프로그램 을 배포, 배포해제 , 시작 , 중시 및 리로드 할수 있습니다.
- Tomcat 가상 호스트 관리자 대시보드 접속
- http://192.168.0.10:8080/host-manager/html 에 접속 합니다.
- Tomcat 가상 호스트를 생성, 삭제 및 관리 할수 있습니다.