Takip et

Apache Tomcat 9 Nedir?

Apache Tomcat 9 Nedir? Apache Tomcat, Java tabanlı web uygulamalarını barındırmak ve çalıştırmak için yaygın olarak kullanılan açık ka

Apache Tomcat 9 Nedir?

Apache Tomcat, Java tabanlı web uygulamalarını barındırmak ve çalıştırmak için yaygın olarak kullanılan açık kaynaklı bir web sunucusu ve servlet konteyneridir. Java Servlet, JavaServer Pages (JSP), Java Expression Language (EL) ve Java WebSocket teknolojilerini uygular. Bir web sunucusu olarak Tomcat, genellikle Apache HTTP Server veya Nginx gibi diğer web sunucularıyla birlikte kullanılır, ancak bağımsız olarak da çalışabilir. Bu rehberde, Ubuntu 18.04 işletim sistemi üzerinde Apache Tomcat 9’un nasıl kurulacağını adım adım inceleyeceğiz.

Ön Gereksinimler ve Sistem Hazırlığı

Tomcat’i kurmaya başlamadan önce, sisteminizin güncel olduğundan ve gerekli yazılımların yüklü olduğundan emin olmalıyız. Tomcat bir Java uygulaması olduğundan, bir Java Geliştirme Kiti (JDK) kurulu olması şarttır.

Sistemi Güncelleme

İlk adım olarak, paket listelerinizi güncelleyelim ve mevcut paketleri yükseltelim:

sudo apt update
sudo apt upgrade -y

Java Geliştirme Kitini (JDK) Yükleme

Apache Tomcat 9, Java SE 8 veya daha yeni bir sürümünü gerektirir. Bu rehberde, OpenJDK 11’i yükleyeceğiz, çünkü bu sürüm uzun süreli destek (LTS) sağlar ve birçok modern uygulama için uyumludur.

sudo apt install openjdk-11-jdk -y

Kurulum tamamlandıktan sonra, Java sürümünü kontrol ederek kurulumu doğrulayabilirsiniz:

java -version

Çıktı, yüklü Java sürümünü göstermelidir, örneğin:

openjdk version "11.0.x" 2018-xx-xx
OpenJDK Runtime Environment (build 11.0.x+xx-Ubuntu-1ubuntu2.18.04.x)
OpenJDK 64-Bit Server VM (build 11.0.x+xx-Ubuntu-1ubuntu2.18.04.x, mixed mode, sharing)

Tomcat İçin Özel Bir Kullanıcı Oluşturma

Güvenlik uygulamaları gereği, Tomcat’i kök (root) kullanıcı olarak çalıştırmak yerine, ona özel, ayrıcalıksız bir kullanıcı hesabı altında çalıştırmak en iyisidir. Bu, olası güvenlik açıklarının sistemin geri kalanına yayılmasını önler.

Önce bir tomcat grubu oluşturalım:

sudo groupadd tomcat

Ardından, tomcat grubunun bir üyesi olan ve /opt/tomcat dizinini ana dizin olarak kullanan, ancak kabuk erişimi olmayan (/bin/false) bir tomcat kullanıcısı oluşturalım:

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

Apache Tomcat 9’u İndirme ve Kurulum

Şimdi sıra Apache Tomcat 9’u resmi web sitesinden indirmeye geldi. En güncel sürümü edinmek için Apache Tomcat web sitesini kontrol etmeniz önerilir. Bu rehber için, 9.0.x sürümünü kullanacağız.

Tomcat Arşivini İndirme

Tomcat’i indirmek için wget komutunu kullanacağız. Güncel sürümün indirme bağlantısını Apache Tomcat 9 Downloads sayfasından alabilirsiniz. Bu örnekte, 9.0.83 sürümünü kullanıyoruz, ancak siz en güncel olanını indirmelisiniz.

cd /tmp
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.83/bin/apache-tomcat-9.0.83.tar.gz

Tomcat’i Kurulum Dizine Çıkarma

İndirdiğimiz arşivi /opt dizinine çıkaracağız. Bu, Apache Tomcat gibi üçüncü taraf yazılımlar için standart bir konumdur.

sudo mkdir /opt/tomcat
sudo tar -xf apache-tomcat-9.0.83.tar.gz -C /opt/tomcat --strip-components=1

--strip-components=1 parametresi, arşivdeki üst düzey dizini (apache-tomcat-9.0.83) atlayarak içeriği doğrudan /opt/tomcat altına çıkarmayı sağlar.

Tomcat İzinlerini Ayarlama

Oluşturduğumuz tomcat kullanıcısının Tomcat dosyalarına ve dizinlerine erişebilmesi için gerekli izinleri ayarlamamız gerekiyor.

sudo chown -R tomcat:tomcat /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'

İlk komut, /opt/tomcat dizininin ve tüm alt dizinlerinin/dosyalarının sahipliğini tomcat kullanıcısına ve grubuna verir. İkinci komut ise, Tomcat’in çalıştırılabilir betik dosyalarına (.sh uzantılı olanlar) yürütme izni verir.

Apache Tomcat Sistem Servisi Oluşturma

Tomcat’i manuel olarak başlatmak ve durdurmak yerine, systemd kullanarak bir sistem servisi olarak yönetmek çok daha pratiktir. Bu, sunucu yeniden başlatıldığında Tomcat’in otomatik olarak başlamasını sağlar ve yönetimi kolaylaştırır.

Systemd Servis Dosyası Oluşturma

/etc/systemd/system/ dizininde tomcat.service adında bir dosya oluşturalım:

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

Aşağıdaki içeriği dosyaya yapıştırın:

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

[Service]
Type=forking

Environment="JAVA_HOME=/usr/lib/jvm/java-11-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

Önemli Not: JAVA_HOME değişkeninin değeri, sisteminizdeki Java kurulum yolunu yansıtmalıdır. Yukarıdaki örnekteki yol, OpenJDK 11 için tipik bir Ubuntu yoludur. Kendi sisteminizde doğru yolu bulmak için readlink -f /usr/bin/java | sed "s:bin/java::" komutunu kullanabilirsiniz.

Tomcat Servisini Başlatma ve Etkinleştirme

Servis dosyasını kaydettikten ve kapattıktan sonra, systemd yöneticisini yeniden yüklememiz gerekir, böylece yeni servisimizi tanır:

sudo systemctl daemon-reload

Şimdi Tomcat servisini başlatabiliriz:

sudo systemctl start tomcat

Tomcat’in sistem başlangıcında otomatik olarak başlamasını sağlamak için servisi etkinleştirelim:

sudo systemctl enable tomcat

Servisin durumunu kontrol ederek çalıştığından emin olabilirsiniz:

sudo systemctl status tomcat

Çıktıda “active (running)” ifadesini görmelisiniz.

Tomcat Web Arayüzü ve Kullanıcı Yapılandırması

Tomcat Manager ve Host Manager web uygulamalarına erişebilmek için kullanıcı kimlik bilgilerini yapılandırmamız ve güvenlik duvarını ayarlamamız gerekmektedir.

Tomcat Kullanıcılarını Yapılandırma

Tomcat’in web arayüzüne (Manager ve Host Manager) erişim için kullanıcı adları ve parolaları tomcat-users.xml dosyasında tanımlanır. Bu dosyayı düzenleyelim:

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

etiketi içine aşağıdaki örnek kullanıcıları ve rolleri ekleyin. Kullanıcı adı ve şifreleri kendi güvenli değerlerinizle değiştirmeyi unutmayın!






admin-gui rolü, hem Manager hem de Host Manager web uygulamalarına tam erişim sağlar. manager-gui rolü, Manager uygulamasına GUI üzerinden erişim sağlar. manager-script, betikler aracılığıyla erişim içindir. host-manager-gui ise Host Manager uygulamasına erişim içindir.

Manager ve Host Manager Uygulamaları İçin Uzak Erişim İzni (İsteğe Bağlı)

Varsayılan olarak, Manager ve Host Manager uygulamaları yalnızca sunucunun kendisinden (localhost) erişilebilir. Uzaktan erişime izin vermek isterseniz, ilgili context.xml dosyalarını düzenlemeniz gerekir. Bu bir güvenlik riski oluşturabilir, bu yüzden dikkatli olun ve sadece güvenli ağlarda kullanın.

Manager uygulamasını uzaktan erişime açmak için:

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

İçindeki etiketini (veya tüm bloğunu) yorum satırı yapın veya silin:

Aynı işlemi Host Manager uygulaması için de yapın:

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

Yine, etiketini yorum satırı yapın veya silin.

Değişikliklerin etkili olması için Tomcat servisini yeniden başlatın:

sudo systemctl restart tomcat

Güvenlik Duvarını Yapılandırma

Ubuntu’da varsayılan güvenlik duvarı olan UFW (Uncomplicated Firewall) etkinse, Tomcat’in varsayılan portu olan 8080’e gelen bağlantılara izin vermeniz gerekir:

sudo ufw allow 8080/tcp
sudo ufw enable
sudo ufw status

ufw status komutu, 8080 portunun açık olduğunu göstermelidir.

Tomcat Web Arayüzünü Test Etme

Artık bir web tarayıcısı açıp sunucunuzun IP adresini veya alan adını ve 8080 portunu kullanarak Tomcat’e erişebilirsiniz:

http://SUNUCU_IP_ADRESINIZ:8080

Apache Tomcat’in varsayılan karşılama sayfasını görmelisiniz. Buradan “Manager App” veya “Host Manager App” bağlantılarına tıklayarak, tomcat-users.xml dosyasında tanımladığınız kullanıcı adı ve şifre ile giriş yapabilirsiniz.

Sonuç ve Sıkça Sorulan Sorular (SSS)

Tebrikler! Apache Tomcat 9’u Ubuntu 18.04 sunucunuza başarıyla kurdunuz. Artık Java tabanlı web uygulamalarınızı bu sunucuya deploy edebilir ve çalıştırabilirsiniz. Uygulamalarınızı genellikle /opt/tomcat/webapps/ dizinine WAR (Web Application Archive) dosyaları olarak yerleştirmeniz gerekir.

Sıkça Sorulan Sorular (SSS)

Tomcat’in varsayılan portu nasıl değiştirilir?

Tomcat’in varsayılan portu (8080) /opt/tomcat/conf/server.xml dosyasında yapılandırılır. Bu dosyayı açın ve aşağıdaki satırı bulun:

port="8080" değerini istediğiniz başka bir port numarasıyla değiştirin (örneğin, 80 veya 443 için ek yapılandırma gerekebilir). Değişiklikleri kaydettikten sonra Tomcat servisini yeniden başlatmayı unutmayın: sudo systemctl restart tomcat.

Tomcat neden başlamıyor?

Tomcat’in başlamaması durumunda, aşağıdaki adımları kontrol edin:

  • Logları Kontrol Edin: /opt/tomcat/logs/catalina.out dosyasını veya sudo journalctl -u tomcat komutunu kullanarak hata mesajlarını kontrol edin.
  • Java Kurulumu: JAVA_HOME ortam değişkeninin /etc/systemd/system/tomcat.service dosyasında doğru şekilde ayarlandığından ve Java’nın düzgün çalıştığından emin olun.
  • İzinler: /opt/tomcat dizinindeki dosya ve dizin izinlerinin tomcat kullanıcısı için doğru ayarlandığından emin olun.
  • Port Çakışması: Tomcat’in kullanmaya çalıştığı portun (varsayılan 8080) başka bir uygulama tarafından kullanılıp kullanılmadığını kontrol edin.

Tomcat’i HTTP yerine HTTPS üzerinden nasıl çalıştırırım?

HTTPS’yi etkinleştirmek için /opt/tomcat/conf/server.xml dosyasında SSL/TLS konektörünü yapılandırmanız gerekir. Bu genellikle bir SSL sertifikası (Let’s Encrypt veya ticari bir CA’dan) gerektirir. server.xml dosyasında genellikle yorum satırı yapılmış bir bloğu bulunur. Bu bloğu etkinleştirip sertifika ve anahtar yollarını doğru şekilde yapılandırmanız gerekir.

Tomcat’i nasıl güncellerim?

Tomcat’i güncellemek için genellikle yeni sürümü indirip mevcut kurulumunuzun üzerine kurmanız gerekir. Ancak, mevcut yapılandırma dosyalarınızı (server.xml, web.xml, tomcat-users.xml vb.) yedeklemeniz ve yeni kurulumdan sonra bunları dikkatlice taşımanız önemlidir. Önceki kurulumunuzu silmeden önce yeni sürümü ayrı bir dizine kurup test etmek, güvenli bir güncelleme stratejisidir.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version