Apache Tomcat 소프트웨어은 Java Servlet, JavaServer Pages(JSP) 및 Java Expression Language와 같은 Java 기술을 실행할 수 있는 Java 기반 HTTP 서버입니다. 고급 내장 사용자 정의 옵션, 높은 유연성 및 인상적인 안정성 덕분에 이 소프트웨어는 전 세계 개발자들 사이에서 수요가 높고 인기 있는 선택이 되었습니다. Apache Tomcat이 경쟁사들 사이에서 돋보이는 이유를 살펴보겠습니다:
-
오픈 소스
Apache Tomcat은 오픈 소스 애플리케이션입니다. 즉, 누구나 무료로 앱을 다운로드, 설치 및 사용할 수 있습니다.
-
경량성
경량 기능은 경쟁사와 비교할 때 로딩 및 재배포 시 추가적인 이점으로 작용합니다.
-
유연성
내장된 사용자 정의 옵션을 통해 사용자는 자신의 필요와 프로젝트 요구 사항에 따라 앱을 원하는 대로 맞춤 설정할 수 있습니다.
-
고급 보안
Tomcat 애플리케이션은 고급 수준의 보안도 제공합니다.
1998년 첫 출시 이후, Apache Software Foundation은 놀라운 변화를 이루어냈습니다. 그 결과, 최근 릴리스는 그 어느 때보다 안정적입니다. 이 튜토리얼에서는 Ubuntu 20.04에 Apache Tomcat 9를 설치하는 방법을 배웁니다.
전제 조건
Ubuntu 시스템에 Apache Tomcat 설치를 진행하기 전에 다음 사항을 확인하세요.
- Ubuntu 서버 - 튜토리얼의 단계에 따라 서버를 설정할 수 있습니다..
- 서버에 sudo 권한이 설정된 non-root 사용자.
이제 모든 준비가 완료되었습니다. 다음으로, 아래 단계를 계속 따라 Ubuntu 20.04에 Apache Tomcat을 설치하세요.
1단계 — Java 설치
먼저, 다음 명령어를 사용하여 시스템에 Java가 이미 설치되어 있는지 확인합니다:
|
1 |
java -version |
시스템에 Java가 설치되어 있지 않은 경우, Java 기반 애플리케이션을 실행하려면 Java를 설치해야 합니다. 다음 명령어를 사용하여 Java Development Kit을 설치할 수 있습니다:
|
1 |
sudo apt install default-jre |
설치가 완료되면 다음 명령어를 사용하여 확인합니다:
|
1 |
java -version |
설치가 완료되면 이제 tomcat 사용자 계정을 생성할 차례입니다. 보안을 위해 Tomcat은 non-root 권한으로 실행하는 것이 좋습니다. 페이지 스크립트 중 하나라도 root 권한을 가지고 있으면 페이지 스크립트를 통해 하드 디스크 파일을 완전히 쉽게 수정할 수 있다는 점을 기억하세요. 다음으로, Tomcat 서비스를 실행할 새 사용자와 그룹을 생성하겠습니다.
2단계 – Tomcat 사용자 생성 & 설정
모든 Tomcat 서비스를 사용할 새 사용자와 그룹을 생성하겠습니다. 다음 명령어를 사용하여 새 그룹의 이름을 tomcat으로 지정합니다:
|
1 |
sudo groupadd tomcat |
그룹 이름을 생성한 후, 새 tomcat 사용자를 생성한 다음 해당 사용자를 tomcat 그룹에 추가합니다.:
- 새 tomcat 사용자를 생성합니다.
- 사용자 멤버십을 tomcat 그룹에 추가합니다.
사용자를 tomcat 그룹에 추가할 때, 아무도 귀하의 tomcat 계정에 액세스할 수 없도록 기밀을 유지하세요. 보안을 위해 사용자를 tomcat ( /을 설치할 홈 디렉토리(/opt//tomcat)에 두고 셸 //bin//false를 추가합니다.:
|
1 |
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat |
계정 설정이 완료되면 계속 진행하여 Tomcat을 설치해 보겠습니다:
3단계 – Tomcat 설치
Tomcat의 official website에서 Tomcat을 설치할 것입니다. 잠재력을 최대한 활용하려면 최신 버전을 다운로드하세요. 사용 가능한 가장 안정적인 버전으로 업그레이드하려면 Binary Distributions 섹션으로 이동하여 Core 목록으로 스크롤한 다음 “tar.gz” 링크를 복사합니다. 완료되면 디렉토리를 /tmp:
|
1 |
cd /tmp |
다음으로, curl 명령어를 사용하여 위에서 언급한 공식 웹사이트에서 Tomcat을 다운로드합니다:
|
1 |
sudo curl -O https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.60/bin/apache-tomcat-9.0.60.tar.gz |
Tomcat을 //opt//tomcat 디렉토리 아래에 설치해 보겠습니다. 디렉토리를 생성한 후, 다음 명령어를 사용하여 아카이브를 압축 해제합니다:
|
1 2 |
sudo mkdir /opt/tomcat sudo tar xzvf apache-tomcat-9.0.60.tar.gz -C /opt/tomcat --strip-components=1 |
4단계 – 권한 업데이트
시스템에 Tomcat을 설치한 후, 새로 생성된 tomcat 사용자에 대한 권한을 설정해야 합니다. 다음 명령을 사용하여 Tomcat 설치 파일의 압축을 푼 디렉터리로 이동합니다:
|
1 |
cd /opt/tomcat |
다음으로, 전체 설치 디렉터리에 대해 tomcat 그룹 소유권을 허용합니다:
|
1 2 3 |
sudo chgrp -R tomcat /opt/tomcat sudo chmod -R g+r conf sudo chmod g+x conf |
완료되면, tomcat 사용자를 webapps, work, temp, 및 logs 디렉터리의 소유자로 지정합니다:
|
1 |
sudo chown -R tomcat webapps/ work/ temp/ logs |
필요한 모든 권한을 설정한 후, 다음 단계는 Tomcat 프로세스를 관리하고 Tomcat을 서비스로 실행하기 위한 systemd 서비스 파일을 생성하는 것입니다.
5단계 – systemd 유닛 파일 생성
Java 설치는 완료되었지만, Tomcat이 Java가 설치된 위치를 알아야 합니다. Java 설치 위치를 확인하려면 다음 명령을 실행하세요:
|
1 |
sudo update-java-alternatives -l |
출력은 다음과 같아야 합니다:
강조 표시된 부분은 아래와 같이 JAVA_Home 입니다:
|
1 |
/usr/lib/jvm/java-1.11.0-openjdk-amd64 |
다음으로, systemd 서비스 파일을 생성하겠습니다. 다음 명령을 사용하여 tomcat.service 디렉터리에서 /etc/systemd/system 이라는 이름의 파일을 엽니다:
|
1 |
sudo nano /etc/systemd/system/tomcat.service |
VI 에디터를 사용하여 파일을 편집하고, JAVA_Home를 사용자의 JAVA_Home 위치로 수정합니다:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd6 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target |
를 추가한 후, JAVA_Home파일을 저장하고 닫습니다. 다음으로, systemd 데몬을 다시 로드하여 서비스 파일을 인식하도록 합니다:
|
1 |
sudo systemctl daemon-reload |
다음으로, 다음 명령을 사용하여 Tomcat 서비스를 시작합니다:
|
1 |
sudo systemctl start tomcat |
6단계 – 방화벽 구성
systemd 유닛 파일을 생성한 후에는 방화벽을 구성할 차례입니다. 방화벽 구성은 Tomcat 서비스에 대한 요청 및 액세스를 활성화하는 데 필수적입니다. 가이드를 올바르게 따랐다면 이미 ufw 방화벽이 활성화되어 있을 것입니다.
Tomcat은 일반적인 요청을 수락하기 위해 8080 포트를 사용합니다. 다음 명령을 사용하여 해당 포트로의 트래픽을 허용합니다:
|
1 |
sudo ufw allow 8080 |
수정된 방화벽을 통해 IP 주소 뒤에 :8080이 붙은 주소로 기본 스플래시 페이지에 액세스할 수 있습니다. 아래와 같이 웹 브라우저에서 해당 IP로 이동하여 열 수 있습니다:
|
1 |
http://server_domain_or_IP:8080 |
|
1 |
sudo ufw allow 8080 |
7단계 — Tomcat 웹 관리 인터페이스 구성
Tomcat과 함께 제공되는 관리자 웹 앱을 사용하려면 Tomcat 서버에 로그인을 추가해야 합니다. 아래와 같이 tomcat-users.xml 파일을 편집하여 이 작업을 수행할 수 있습니다:
|
1 |
sudo nano /opt/tomcat/conf/tomcat-users.xml |
Tomcat에는 사용자가 manager-gui 및 admin-gui에 액세스할 수 있도록 하는 웹 앱이 함께 제공됩니다. 아래와 같이 tomcat-users 태그 사이에 사용자를 정의할 수 있습니다:
|
1 2 3 |
<tomcat-users . . .> <user username="admin" password="password" roles="manager-gui,admin-gui"/> </tomcat-users> |
완료되면 파일을 저장하고 닫습니다.
최근의 모든 Tomcat 버전은 Manager 및 Host Manager 앱에 대한 액세스를 서버 자체에서 들어오는 연결로 제한합니다. 이에 대한 IP 주소 제한을 변경하려면 적절한 context.xml 파일을 엽니다. Manager 앱에 액세스하려면 다음 명령을 사용하십시오:
|
1 |
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml |
다음으로 Host Manager 앱에 액세스하려면 다음 명령을 사용하십시오:
|
1 |
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml |
필요에 따라 연결을 허용하거나 거부하도록 선택할 수 있습니다. 어디서나 연결을 허용하려면 IP 주소 제한 부분을 주석 처리할 수 있습니다. 그렇지 않으면 목록에 공인 IP 주소를 추가하여 귀하의 IP 주소에서 들어오는 연결을 허용할 수 있습니다:
|
1 2 3 4 |
<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" />--> </Context> |
완료되면 파일을 저장하고 닫습니다. 변경 사항을 반영하려면 다음 명령을 사용하여 Tomcat 서비스를 다시 시작하십시오:
|
1 |
sudo systemctl restart tomcat |
8단계—웹 인터페이스 액세스
Tomcat 사용자를 생성한 후 이제 웹 관리 인터페이스에 액세스할 수 있습니다. 다시 한 번, 서버의 도메인 이름 또는 IP 주소 뒤에 포트 8080:
|
1 |
http://server_domain_or_IP:8080 |
이 URL을 클릭하면 아래와 같은 페이지가 표시됩니다:
Tomcat 웹 앱에 액세스하려면 tomcat-users.xml에 추가한 계정 자격 증명을 입력하십시오. Manager 앱에 액세스하려면 다음 링크를 사용하십시오:
|
1 |
http://server_domain_or_IP:8080/manager/html |
이 URL을 클릭하면 아래와 같은 페이지가 표시됩니다:
Host Manager 앱에 액세스하려면 다음 링크를 사용하십시오:
|
1 |
http://server_domain_or_IP:8080/host-manager/html |
이 URL을 클릭하면 아래와 같은 페이지가 표시됩니다:
결론
이제 Tomcat 설치가 완료되었습니다. 자신만의 Java 웹 애플리케이션을 자유롭게 배포하고 디지털 경험을 향상시킬 수 있습니다. Apache Tomcat에서 작업하는 것이 대안들에 비해 로딩 및 재배포 시 훨씬 빠르다는 것을 알게 될 것입니다. 그러나 정적 페이지로 작업할 때는 적합하지 않습니다.
Apache 기반 서버 적용에 대한 자세한 리소스는 저희 블로그를 확인해 보세요:
- mod_proxy 확장에 대한 가이드: Apache를 역방향 프록시로 사용하기
- 웹 서버의 세계: Apache vs. Nginx
- Ubuntu 20.04에서 Apache 가상 호스트 설정하기
- CentOS 7에 Apache 웹 서버 설치하기
즐거운 컴퓨팅!














댓글
아직 댓글이 없습니다. 첫 번째로 작성해 보세요.