리눅스 서버에 Apache Tomcat을 설치한 후, 웹 브라우저에서 ip주소:8081(자신이 설정한 포트 번호)로 접속하면 톰캣 메인 화면은 정상적으로 표시됩니다.

 

하지만 Server Status, Manager App, Host Manager 등을 클릭하면 403 Access Denied 오류가 발생할 수 있습니다.


1. tomcat-users.xml 설정 변경

파일 경로

apache-tomcat-10.1.33/conf/tomcat-users.xml

 

설정 내용

vi 또는 nano 편집기로 파일을 열고 아래 내용을 추가합니다:

  <tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
  
  <role rolename="admin"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <role rolename="manager"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <user username="admin" password="admin" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>

 

이 설정은 Tomcat 서버의 tomcat-users.xml 파일에서 사용되는 사용자 및 역할(role)을 정의하는 부분입니다. Tomcat 사용자 인증을 설정하기 위해 사용되며, 주로 관리자 페이지애플리케이션 배포 및 관리에 대한 접근 권한을 설정하는 데 사용됩니다.

  • role 태그: 사용자 역할을 정의합니다.
  • user 태그: 사용자 계정과 비밀번호를 설정하고, 역할을 지정합니다.
Role 이름 설명
admin 관리자의 기본 역할입니다.
admin-gui 관리자 GUI 페이지에 접근할 수 있는 권한입니다.
admin-script 스크립트 기반 관리자 기능을 사용할 수 있는 권한입니다.
manager 관리자 역할의 일부지만, 구체적으로 세분화된 역할을 대신 사용합니다.
manager-gui Manager GUI 페이지에 접근하여 애플리케이션을 배포하거나 관리할 수 있습니다.
manager-script 스크립트를 통해 애플리케이션 배포 및 관리 작업을 수행할 수 있습니다.
manager-jmx JMX를 통해 Tomcat 서버를 모니터링할 수 있는 권한입니다.
manager-status 서버 상태 확인 페이지에 접근할 수 있는 권한입니다.

 


2. context.xml 설정 변경

webapps 디렉터리로 이동 후, 다음 명령어로 context.xml 파일들을 찾습니다.

cd apache-tomcat-10.1.33/webapps
find . -name context.xml

 

아래와 같은 경로에서 context.xml 파일을 수정해야 합니다:

  • ./docs/META-INF/context.xml
  • ./examples/META-INF/context.xml
  • ./host-manager/META-INF/context.xml
  • ./manager/META-INF/context.xml

설정 변경

각 context.xml 파일을 열고 다음 내용을 수정합니다:

  • vi docs/META-INF/context.xml
  • vi examples/META-INF/context.xml
  • vi host-manager/META-INF/context.xml
  • vi manager/META-INF/context.xml
#이 부분을
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

# 이렇게 변경(모든 IP 주소에 접근을 허용하는 설정)
allow=".*" />

3. 톰캣 재시작 및 접속 확인

설정을 변경한 후, 톰캣을 재시작합니다.

 

톰캣 재시작 명령어

apache-tomcat-10.1.33/bin/./shutdown.sh
apache-tomcat-10.1.33/bin/./startup.sh

 

포트 확인

톰캣이 정상적으로 실행되고 있는지 확인합니다.

netstat -ntpa | grep LISTEN

 

출력

tcp6       0      0 :::8081                 :::*                    LISTEN      25210/java

8081 포트가 LISTEN 상태라면 정상적으로 실행되고 있는 것입니다.


4. 결과 확인

웹 브라우저에서 ip주소:8081로 접속한 후 확인해 보세요. 이러한 알림 창이 뜰 경우 tomcat-users.xml에서 설정했던 username과 password를 입력하시면 됩니다.

  • Server Status
  • Manager App
  • Host Manager

 


참고 블로그 : https://hwpform.tistory.com/129

 

+ Recent posts