웹사이트 검색

Debian 10에 Apache Tomcat 9를 설치하는 방법


Apache Tomcat은 Java 기반 애플리케이션을 제공하는 데 사용되는 성숙하고 강력하며 널리 사용되는 무료 웹 애플리케이션 서버 소프트웨어입니다. 이는 ASF(Apache Software Foundation)에서 개발한 Java Servlet, JSP(JavaServer Pages), Java Expression Language 및 Java WebSocket 기술의 오픈 소스 구현입니다.

읽기: Ubuntu에 Apache Tomcat을 설치하는 방법

이 튜토리얼은 Debian 10 Linux 서버에 Tomcat 9의 최신 릴리스를 설치하고 구성하는 과정을 안내합니다.

이 튜토리얼을 시작하기 전에 서버에 sudo 권한이 있는 루트가 아닌 사용자 계정이 있는지 확인하십시오. 그렇지 않은 경우 Ubuntu/Debian에서 새 Sudo 사용자를 만드는 방법 가이드를 사용하여 설정할 수 있습니다.

1단계: Debian 10에 Java 설치

Debian 10 서버에 최신 Tomcat 9 릴리스를 설치하려면 Java 웹을 실행할 수 있도록 서버에 Java가 설치되어 있어야 합니다. 애플리케이션 코드.

먼저, 표시된 대로 apt 명령을 사용하여 시스템 소프트웨어 패키지 인덱스를 업데이트합니다.

sudo apt update

그런 다음 apt 명령을 사용하여 Java Development Kit 패키지를 설치합니다.

sudo apt install default-jdk

Java 설치가 완료되면 다음 명령을 사용하여 시스템에 설치된 Java 버전을 확인하세요.

java -version

2단계: Debian 10에 Tomcat 설치

보안을 위해 Tomcat은 권한이 없는 사용자(즉, root가 아님)가 설치하고 실행해야 합니다. /opt/tomcat 디렉토리(Tomcat 설치)에서 Tomcat 서비스를 실행하기 위해 새로운 tomcat 그룹과 사용자를 생성합니다.

sudo mkdir /opt/tomcat
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

tomcat 사용자를 설정한 후 이제 Tomcat 9 다운로드 페이지에서 최신 버전의 Tomcat 9(예: 9.0.30)을 다운로드하거나 다음을 사용하세요. 다음 컬 명령줄 도구를 사용하여 tarball을 다운로드하고 아카이브를 /opt/tomcat 디렉토리에 추출합니다.

curl -O http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

그런 다음 tomcat 사용자에게 Tomcat 설치 /opt/tomcat 디렉터리에 대한 액세스 권한을 할당합니다.

cd /opt/tomcat
sudo chgrp -R tomcat /opt/tomcat
sudo chmod -R g+r conf
sudo chmod g+x conf
sudo chown -R tomcat webapps/ work/ temp/ logs/

3단계: Tomcat 시스템 서비스 파일 생성

systemd 아래의 서비스로 Tomcat을 관리하고 실행하기 위해 새로운 systemd 서비스 파일을 생성합니다. 서비스 파일을 생성하려면 다음 명령을 사용하여 JAVA_HOME을 참조하므로 Java가 설치된 위치를 알아야 합니다.

sudo update-java-alternatives -l

위 출력에서 JAVA_HOME은 다음과 같습니다.

/usr/lib/jvm/java-1.11.0-openjdk-amd64

JAVA_HOME을 알고 나면 /etc/systemd/system<에 tomcat.service라는 systemd 서비스 파일을 생성할 수 있습니다. 디렉토리를 실행하여.

sudo nano /etc/systemd/system/tomcat.service

다음 내용을 tomcat.service 파일에 붙여넣습니다.

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
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

다음으로 systemd를 다시 로드하여 새로운 변경 사항을 적용하여 tomcat.service 파일에 대해 알 수 있도록 합니다.

sudo systemctl daemon-reload

마지막으로 다음 명령을 실행하여 Tomcat 서비스를 시작하고 상태를 확인할 수 있습니다.

sudo systemctl start tomcat
systemctl status tomcat
systemctl enable tomcat

4단계: Tomcat Manager 및 호스트 관리자에 대한 로그인 활성화

Tomcat과 함께 제공되는 manager-guiadmin-gui 웹 앱에 액세스하려면 Tomcat에 대한 로그인을 활성화해야 합니다. 서버에 표시된 대로 tomcat-users.xml 파일을 편집하면 됩니다.

sudo nano /opt/tomcat/conf/tomcat-users.xml

표시된 대로 올바른 사용자 이름과 비밀번호를 사용하여 태그 내에 다음 구성을 추가합니다.

<role rolename="admin-gui,manager-gui"/> 
<user username="admin" password="password" roles="admin-gui,manager-gui"/>

위 구성은 비밀번호가 "admin"이라는 사용자에게 admin-guimanager-gui 역할을 추가함을 의미합니다. >tecmint123 ”.

5단계: Tomcat Manager 및 호스트 관리자에 대한 원격 로그인 활성화

보안상의 이유로 Tomcat ManagerHost Manager 앱에 대한 액세스는 기본적으로 로컬 호스트(배포된 서버)로 잠겨 있습니다.

그러나 아래 설명에 따라 특정 IP 주소, 호스트 또는 네트워크에서 Tomcat ManagerHost Manager 앱에 대한 원격 액세스를 활성화할 수 있습니다.

Tomcat Manager 앱의 경우 다음을 입력합니다.

sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

호스트 관리자 앱의 경우 다음을 입력합니다.

sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

내부에서 모든 네트워크에서의 액세스를 허용하려면 IP 주소 제한을 주석 처리하세요.

<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>

또는 목록에 IP 주소를 추가하여 자신의 IP 주소 192.168.0.103 또는 네트워크(192.168.0.0)에서 원격 액세스를 활성화할 수 있습니다.

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.103" />-->
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />-->

파일을 저장하고 Tomcat 서비스를 다시 시작하여 변경 사항을 적용합니다.

sudo systemctl restart tomcat

6단계: Tomcat 웹 인터페이스에 액세스

어떤 브라우저에서든 Tomcat 웹 인터페이스에 액세스하려면 입력을 통해 8080 포트를 열어 방화벽에서 Tomcat 서비스에 대한 트래픽을 허용해야 합니다.

sudo ufw allow 8080

이제 브라우저에서 서버의 도메인 이름이나 IP 주소와 포트 8080으로 이동하여 Tomcat 웹 관리 인터페이스에 액세스하세요.

http://server_domain_or_IP:8080

아래 URL에서 관리자 앱에 접속하려면 계정 자격 증명을 입력해야 합니다.

http://server_domain_or_IP:8080/manager/html

아래 URL에서 호스트 관리자에 접속해 계정 자격 증명을 입력해야 합니다.

http://server_domain_or_IP:8080/host-manager/html/

그게 다야! Tomcat 설치가 완료되었으므로 이제 Java 웹 애플리케이션을 배포하고 실행할 수 있습니다. 질문이나 공유하고 싶은 생각이 있으면 아래 의견 양식을 통해 문의해 주세요.