Ubuntu 24.04 LTS üzerinde Tomcat 10.1 kurarken dağıtım paketlerini kullanmak; servis, kullanıcı ve güncelleme yönetimini tek yerde tutar. Bu rehber yeni ve ayrı bir sunucu içindir. /opt/tomcat altında elle kurulmuş bir sistemi paket kurarak yerinde dönüştürmeyin; önce taşıma ve geri dönüş planı hazırlayın.
Tomcat 10.1, Java 11 veya üzerini gerektirir. Burada Ubuntu'nun OpenJDK 21 çalışma ortamını kullanıyoruz. Uygulamanızın bu Java sürümüyle ve Jakarta Servlet API'siyle uyumunu önceden doğrulayın. Java EE için hazırlanmış eski bir WAR dosyasının değişmeden çalışacağını varsaymayın. Kaynaklar: Apache kurulum gereksinimleri, Ubuntu OpenJDK paketi.
Kurulumdan önce erişimi sınırla
Sunucuya sudo yetkili bir hesapla bağlanın. Paket kurulumu servisi otomatik başlatabileceğinden, kurulumdan önce bulut güvenlik grubu veya mevcut güvenlik duvarında 8080 portunun genel internete kapalı olduğunu doğrulayın. SSH erişiminizi kesmeyin; bu rehber güvenlik duvarını kapatmayı veya mevcut kuralları sıfırlamayı gerektirmez.
cat /etc/os-release
sudo ss -ltnp
sudo apt update
apt-cache policy tomcat10 openjdk-21-jre-headless
İşletim sistemi Ubuntu 24.04 olmalı; paket adayı bulunmalıdır. tomcat10 Universe bileşenindedir. Aday görünmüyorsa resmi depo bileşenlerini ve güncelleme kaynaklarını kontrol edin; rastgele PPA eklemeyin. Temel sürüm deposundaki numarayı “en son güvenlik yaması” kabul etmeyin. Ubuntu paket kaydı ile sisteminizdeki aday ve güvenlik bakım kapsamını birlikte değerlendirin.
Java ve Tomcat paketlerini kur
sudo apt install openjdk-21-jre-headless tomcat10 curl
java -version
dpkg-query -W tomcat10 libtomcat10-java openjdk-21-jre-headless
sudo systemctl stop tomcat10
sudo systemctl cat tomcat10
Kurulumun önerdiği değişiklikleri onaylamadan önce okuyun. Aday Tomcat dalının 10.1 olduğunu doğrulayın. Paket servisini kullanırken ayrıca tomcat.service oluşturmayın veya yeni bir tomcat kullanıcısı açmayın. Kabuktaki java -version tek başına servisin Java seçimini kanıtlamaz; servis birimi, çağırdığı betikler ve başlangıç loglarını da inceleyin.
HTTP bağlantısını yalnız yerel adreste dinlet
Paket düzeninde yapılandırmayı kontrol edin:
sudo ls -l /etc/tomcat10/server.xml
dpkg -L tomcat10
sudo cp -a /etc/tomcat10/server.xml /etc/tomcat10/server.xml.before-loopback
sudoedit /etc/tomcat10/server.xml
Yedek adı mevcutsa yeni, kullanılmayan bir ad seçin. Dosya beklenen yerde yoksa durup kurulu paketin düzenini inceleyin. server.xml içindeki mevcut HTTP Connector öğesine address="127.0.0.1" ekleyin; ikinci bir 8080 Connector oluşturmayın ve diğer ayarları körlemesine silmeyin. İlgili öğenin sadeleştirilmiş örneği:
<Connector address="127.0.0.1"
port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000" />
HTTP Connector belgesindeki address seçeneği dinleme arayüzünü belirler. Aynı sunucuda ters vekil çalıştırmak için loopback uygundur; ayrı sunucudaki ters vekil bu adrese erişemez. Böyle bir tasarımda özel ağ adresi ve kaynakla sınırlı erişim ayrıca planlanmalıdır.
Servis, port ve HTTP yanıtını ayrı kontrol et
sudo systemctl enable --now tomcat10
sudo systemctl status tomcat10 --no-pager
sudo journalctl -u tomcat10 -n 100 --no-pager
sudo ss -ltnp 'sport = :8080'
curl --connect-timeout 3 --max-time 10 -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/
8080 için beklenen dinleme adresi 127.0.0.1'dir; 0.0.0.0 veya [::] görürseniz dışa açılmadan ayarı düzeltin. 404 yanıtı HTTP sunucusuna ulaşıldığını gösterebilir, kök uygulamanın kurulu olduğunu göstermez. Bağlantı reddi ise servis, port veya bağlanılan adres kontrolü gerektirir. Logları paylaşmadan önce hassas verileri temizleyin.
İlk erişim ve uygulama yayını
8080'i herkese açmadan kendi bilgisayarınızdan SSH tüneli kurabilirsiniz:
ssh -N -L 18080:127.0.0.1:8080 kullanici@sunucu
Kullanıcı ve sunucu örnektir. Tünel açıkken yerel tarayıcıda http://127.0.0.1:18080/ adresini açın; işi bitirince Ctrl+C ile kapatın. Bu işlem uygulamayı halka yayınlamaz.
Üretim yayını öncesinde uyumlu uygulamayı test ortamında dağıtın; giriş, veritabanı bağlantısı ve yeniden başlatmayı sınayın. HTTPS ters vekil, güvenilen proxy başlıkları ve uygulama yönlendirmeleri ayrı yapılandırılmalıdır. İhtiyacınız yoksa Manager/Host Manager paketlerini kurmayın. Örnek veya ortak yönetici parolası kullanmayın; Apache güvenlik rehberini gözden geçirin.
Paket bakımını apt üzerinden sürdürün; güncelleme sonrası servis ve uygulama testlerini tekrarlayın. CentOS 7 kurulumundan veya eski elle kurulumdan geliyorsanız, çalışan ortamın dosyalarını yeni paket dizinlerine topluca kopyalamak yerine uygulama ve yapılandırma farklarını tek tek taşıyın.