Ubuntu 에 Tomcat 11.0.13 을 올린다. Tomcat 11 은 Java 17 이상과 jakarta.* 네임스페이스를 쓴다[1].
아래 버전과 저장소 경로는 작성 시점 기준이다.
dlcdn.apache.org는 현행 버전만 두므로, 지난 버전은archive.apache.org에서 받는다.
sudo apt install -y openjdk-17-jdk openjdk-17-jdk-headless openjdk-17-doc
sudo groupadd -g 1000 tomcat
sudo useradd -g 1000 -u 1000 tomcat
curl -L -O https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.13/bin/apache-tomcat-11.0.13.tar.gz
tar -xvzf apache-tomcat-11.0.13.tar.gz
sudo mkdir -p /opt/apps
sudo mv apache-tomcat-11.0.13 /opt/apps/
sudo ln -s /opt/apps/apache-tomcat-11.0.13 /opt/tomcat
sudo chown -R tomcat:tomcat /opt/apps/apache-tomcat-11.0.13
sudo chown -R tomcat:tomcat /opt/tomcat
sudo tee /etc/systemd/system/tomcat.service > /dev/null <<'UNIT'
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
UNIT
sudo systemctl daemon-reload
sudo systemctl enable tomcat --now
sudo systemctl status tomcat
Type=forking 은 startup.sh 가 백그라운드로 빠지는 방식과 짝이다. CATALINA_PID 를 지정해야 shutdown.sh 가 제대로 동작한다.
curl -s -o /dev/null -w '%{http_code}\n' http://localhost:8080/
ss -lntp | grep 8080
sudo tail -f /opt/tomcat/logs/catalina.out
기본 포트는 8080 이다. 200 이 돌아오면 정상이다.
최신 버전 11.0.26 — 2026-09-16 확인. https://tomcat.apache.org/whichversion.html ↩︎