Ana içeriğe geç

Apache Tomcat 10 Kurulumu (Ubuntu 20.04)

Bu rehberde Ubuntu 20.04 üzerinde Apache Tomcat 10 kurulumunu ve temel yapılandırmasını yapacağız.
Amaç, Java (Jakarta EE) uygulamalarını güvenli ve sürdürülebilir şekilde çalıştırmaktır.


Bu Rehberde Ne Öğreneceksiniz?

  • Tomcat 10 için ayrı ve güvenli kullanıcı oluşturma
  • Java Geliştirme Kiti (JDK) kurulumu
  • Tomcat 10 indirme ve yapılandırma
  • Yönetim arayüzü (Manager / Host Manager) erişimi
  • Tomcat’i systemd servisi olarak çalıştırma

Ön Koşullar

  • Ubuntu 20.04 sunucu
  • Sudo yetkisine sahip non-root kullanıcı
  • UFW güvenlik duvarı aktif

Tomcat Kullanıcısı ve JDK Kurulumu

Tomcat, güvenlik için ayrı ve yetkisiz bir kullanıcıyla çalıştırılmalıdır.

sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat

Bu komut login olamayan bir sistem kullanıcısı oluşturur.

  1. Paket listesini güncelleyin:
sudo apt update
  1. JDK kurulumunu yapın:
sudo apt install default-jdk
  1. Kurulumu kontrol edin:
java -version

Apache Tomcat 10 Kurulumu

  1. Geçici dizine geçin:
cd /tmp
  1. Tomcat arşivini indirin:
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz
  1. Arşivi çıkarın:
sudo tar xzvf apache-tomcat-10*.tar.gz -C /opt/tomcat --strip-components=1
  1. Dosya sahipliğini ayarlayın:
sudo chown -R tomcat:tomcat /opt/tomcat
  1. Çalıştırma izinlerini verin
sudo chmod -R u+x /opt/tomcat/bin

Yönetici Kullanıcılarını Tanımlama

Tomcat yönetim arayüzüne erişmek için kullanıcı tanımlamamız gerekir.

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

</tomcat-users> satırından önce aşağıdaki satırları ekleyin:

<role rolename="manager-gui" />
<role rolename="admin-gui" />

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

Yönetim Arayüzü Erişim Engellerini Kaldırma

Tomcat varsayılan olarak yönetim paneline sadece localhost üzerinden erişime izin verir.

Manager uygulaması için:

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

Aşağıdaki satırı yorum satırı yapın:

<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" /> -->

Host Manager için:

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

Aynı satırı burada da yorum satırı yapın.

systemd Servisi Oluşturma

  1. Java yolunu öğrenin:
sudo update-java-alternatives -l
  1. Servis dosyasını oluşturun:
sudo nano /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
  1. Servisi başlatın:
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
  1. Servis durumunu kontrol edin:
sudo systemctl status tomcat

Web Arayüzüne Erişim

8080 portunu açın:

sudo ufw allow 8080

Tarayıcıdan erişim sağlayın:

http://SUNUCU_IP:8080

Manager App ve Host Manager üzerinden uygulamalarınızı yönetebilirsiniz.

Sıkça Sorulan Sorular (SSS)

Tomcat 10 neden Jakarta EE kullanıyor?

Java EE projesi artık Jakarta EE adıyla geliştirilmektedir.

Tomcat neden root ile çalıştırılmıyor?

Olası güvenlik açıklarının tüm sistemi etkilemesini önlemek için.

HTTPS neden yok?

Üretim ortamlarında genellikle Apache veya Nginx + Let's Encrypt kullanılarak HTTPS sağlanır.

Port 8080 açık kalmalı mı?

Reverse proxy kullanılıyorsa dış dünyaya kapatılması önerilir.

Sonuç

Apache Tomcat 10 artık Ubuntu 20.04 üzerinde stabil ve güvenli şekilde çalışıyor.

Java uygulamalarınızı deploy edebilir ve yönetim paneli üzerinden kontrol edebilirsiniz.

Üretim ortamı için HTTPS yapılandırmasını Apache veya Nginx + Let's Encrypt ile tamamlamanız önerilir.

Bu altyapıyı Rabisu Bulut sunucularınız üzerinde dakikalar içinde yayına alabilirsiniz