리눅스 서버에 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
'AWS' 카테고리의 다른 글
client_loop: send disconnect: Broken pipe (0) | 2025.02.16 |
---|---|
Warning: Identity file ssh_key.pem not accessible: No such file or directory (0) | 2024.11.14 |
리눅스 서버에서 swap file 설정하는 방법 (0) | 2024.11.14 |
AWS에서 Access Key 발급받는 방법 (0) | 2024.11.10 |
Elastic IP 사용하기 (0) | 2024.11.10 |