Takip et

Apache Tomcat 9’u Debian 9 Üzerine Kurulumu: Kapsamlı Bir Rehber

Apache Tomcat 9’u Debian 9 Üzerine Kurulumu: Kapsamlı Bir Rehber Bu kapsamlı rehberde, Apache Tomcat 9 web sunucusunu Debian 9 (Stretch) işletim

Apache Tomcat 9’u Debian 9 Üzerine Kurulumu: Kapsamlı Bir Rehber

Bu kapsamlı rehberde, Apache Tomcat 9 web sunucusunu Debian 9 (Stretch) işletim sistemi üzerine nasıl kuracağınızı adım adım öğreneceksiniz. Apache Tomcat, Java tabanlı web uygulamalarını çalıştırmak için kullanılan açık kaynaklı bir uygulama sunucusudur. Servlet’leri, JavaServer Pages (JSP), Java Expression Language (EL) ve WebSocket teknolojilerini destekleyen, hafif ve esnek yapısıyla Java geliştiricilerinin ve sistem yöneticilerinin tercih ettiği popüler bir çözümdür. Debian 9, kararlılığı ve güvenilirliği ile bilinen bir işletim sistemi olduğundan, Tomcat’i bu platformda kurmak, uygulamalarınız için sağlam bir temel sağlayacaktır.

Bu rehber boyunca, Apache Tomcat 9’un kurulumu için gerekli olan Java Geliştirme Kiti’nin (JDK) kurulmasından, Tomcat’in sistemde güvenli bir şekilde çalıştırılmasına, bir sistem hizmeti olarak yapılandırılmasına ve yönetici arayüzüne erişim için gerekli kullanıcı ayarlarının yapılmasına kadar tüm adımları detaylı bir şekilde ele alacağız. Amacımız, hem yeni başlayanlar hem de deneyimli kullanıcılar için anlaşılır, eksiksiz ve güvenli bir kurulum süreci sunmaktır.

Ön Gereksinimler

Apache Tomcat 9 kurulumuna başlamadan önce, aşağıdaki ön gereksinimlerin karşılandığından emin olmanız gerekmektedir:

  • Debian 9 (Stretch) İşletim Sistemi: Kurulumu gerçekleştireceğiniz, güncel ve çalışan bir Debian 9 sunucusu veya sanal makine.
  • Sudo Yetkileri: Root erişimi veya sudo yetkilerine sahip bir kullanıcı hesabı. Bu rehberdeki tüm komutlar sudo öneki ile çalıştırılacaktır.
  • İnternet Bağlantısı: Gerekli paketleri indirmek ve Apache Tomcat dosyalarını çekmek için aktif bir internet bağlantısı.
  • Temel Linux Bilgisi: Komut satırı kullanımı ve dosya sistemi navigasyonu hakkında temel bilgi.

Kuruluma başlamadan önce sisteminizin güncel olduğundan emin olmak iyi bir uygulamadır. Terminalinizi açın ve aşağıdaki komutları çalıştırın:

sudo apt update
sudo apt upgrade -y

Bu komutlar, paket listelerinizi güncelleyecek ve mevcut tüm paketleri en son sürümlerine yükseltecektir. Bu, olası uyumluluk sorunlarının önüne geçmek için önemlidir.

Java Geliştirme Kiti (JDK) Kurulumu

Apache Tomcat, Java tabanlı bir uygulama olduğundan, çalışabilmesi için bir Java Runtime Environment (JRE) veya Java Geliştirme Kiti’ne (JDK) ihtiyaç duyar. Tomcat 9 için OpenJDK 8 veya daha yeni bir sürüm önerilmektedir. Bu rehberde, Debian 9’un kararlı depolarında bulunan OpenJDK 8’i kuracağız. OpenJDK, Oracle JDK’ya açık kaynaklı bir alternatiftir ve çoğu durumda yeterli performansı sunar.

OpenJDK 8 Kurulumu

OpenJDK 8’i kurmak için aşağıdaki komutu kullanın:

sudo apt install openjdk-8-jdk -y

Bu komut, OpenJDK 8 JDK paketini ve bağımlılıklarını sisteminize yükleyecektir. Kurulum tamamlandıktan sonra, Java’nın doğru şekilde kurulduğunu ve sürümünü kontrol etmek için aşağıdaki komutları çalıştırabilirsiniz:

java -version
javac -version

Çıktı, Java’nın 1.8.0_xxx sürümünü (veya benzerini) göstermelidir. Bu, Java’nın başarıyla kurulduğunu ve Tomcat’in kullanıma hazır olduğunu gösterir.

JAVA_HOME Ortam Değişkenini Ayarlama (İsteğe Bağlı ama Önerilir)

Bazı Java uygulamaları ve scriptleri, JAVA_HOME ortam değişkeninin ayarlı olmasını bekler. Tomcat, bu değişken olmadan da çalışabilir, ancak ayarlı olması iyi bir uygulamadır. Debian’da OpenJDK kurulduğunda genellikle otomatik olarak yapılandırılır, ancak manuel olarak da kontrol edebilir veya ayarlayabilirsiniz. OpenJDK 8’in varsayılan yolu genellikle /usr/lib/jvm/java-8-openjdk-amd64 şeklindedir.

Bu değişkeni sistem genelinde ayarlamak için /etc/environment dosyasını düzenleyebilirsiniz:

sudo nano /etc/environment

Dosyanın sonuna aşağıdaki satırı ekleyin (eğer yoksa):

JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"

Dosyayı kaydedin ve kapatın (Ctrl+O, Enter, Ctrl+X). Değişikliklerin etkili olması için oturumu yeniden başlatmanız veya aşağıdaki komutu çalıştırmanız gerekebilir:

source /etc/environment

JAVA_HOME değişkeninin doğru ayarlandığını kontrol etmek için:

echo $JAVA_HOME

Bu komut, ayarladığınız yolu çıktıda göstermelidir.

Apache Tomcat 9 İndirme ve Yapılandırma

Java kurulumunu tamamladığımıza göre, şimdi Apache Tomcat 9’u indirip yapılandırma adımlarına geçebiliriz. Tomcat’i doğrudan Apache Yazılım Vakfı’nın resmi web sitesinden indirmeniz her zaman en güvenli yoldur.

Tomcat 9’u İndirme

Öncelikle, Tomcat’i indirmek için geçici bir dizine gidin:

cd /tmp

Ardından, Apache Tomcat 9’un en son kararlı sürümünü indirmek için wget komutunu kullanın. En güncel sürüm numarasını öğrenmek için Apache Tomcat 9 indirme sayfasına bakmanız önerilir. Bu rehber yazıldığı sırada 9.0.83 günceldi, ancak siz her zaman en güncel kararlı sürümü indirmelisiniz.

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.83/bin/apache-tomcat-9.0.83.tar.gz

İndirme işlemi tamamlandıktan sonra, sıkıştırılmış dosyayı açın:

tar -xvzf apache-tomcat-9.0.83.tar.gz

Bu komut, sıkıştırılmış dosyanın içeriğini mevcut dizine çıkaracaktır. Genellikle apache-tomcat-9.0.83 gibi bir dizin oluşur.

Tomcat Dizinini Taşıma ve İzinleri Ayarlama

Güvenlik ve yönetim kolaylığı açısından, Tomcat kurulumunu /opt dizini altına taşımak yaygın bir uygulamadır. /opt dizini, isteğe bağlı yazılım paketleri için kullanılır.

sudo mkdir /opt/tomcat
sudo mv /tmp/apache-tomcat-9.0.83/* /opt/tomcat/

Bu komutlar, Tomcat dosyalarını /opt/tomcat dizinine taşır. Artık geçici indirme dizinindeki sıkıştırılmış dosyayı ve çıkarılan dizini silebilirsiniz:

sudo rm -rf /tmp/apache-tomcat-9.0.83.tar.gz /tmp/apache-tomcat-9.0.83

Şimdi, Tomcat dizininin ve alt dizinlerinin doğru izinlere sahip olduğundan emin olmalıyız. Güvenlik nedeniyle, Tomcat’i root kullanıcısı yerine özel bir sistem kullanıcısı altında çalıştırmak en iyi uygulamadır. Bu, bir güvenlik ihlali durumunda Tomcat’in sisteminize verebileceği zararı sınırlar.

Tomcat Kullanıcısı Oluşturma

Tomcat’i çalıştıracak özel bir sistem kullanıcısı ve grubu oluşturalım. Bu kullanıcı, sisteme giriş yapma yetkisine sahip olmayacak ve ana dizini olmayacaktır. Bu, güvenlik için önemlidir.

sudo groupadd tomcat
sudo useradd -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
  • sudo groupadd tomcat: tomcat adında yeni bir grup oluşturur.
  • sudo useradd -s /bin/nologin -g tomcat -d /opt/tomcat tomcat: tomcat adında yeni bir kullanıcı oluşturur.
    • -s /bin/nologin: Bu kullanıcının sisteme giriş yapamayacağını belirtir.
    • -g tomcat: Kullanıcıyı tomcat grubuna ekler.
    • -d /opt/tomcat: Kullanıcının ana dizini olarak /opt/tomcat‘i ayarlar.

Şimdi, /opt/tomcat dizininin sahipliğini ve izinlerini yeni oluşturduğumuz tomcat kullanıcısına ve grubuna verelim:

sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R u+rwx,g+rx,o+rx /opt/tomcat
  • sudo chown -R tomcat:tomcat /opt/tomcat: /opt/tomcat dizininin ve tüm alt dizinlerinin sahipliğini tomcat kullanıcısına ve grubuna atar.
  • sudo chmod -R u+rwx,g+rx,o+rx /opt/tomcat: tomcat kullanıcısına tüm okuma, yazma, çalıştırma izinlerini (u+rwx), tomcat grubuna okuma ve çalıştırma izinlerini (g+rx) ve diğer kullanıcılara da okuma ve çalıştırma izinlerini (o+rx) verir.

Daha spesifik olarak, bazı Tomcat dizinleri için daha kısıtlı izinler ayarlamak isteyebilirsiniz. Örneğin, conf dizini genellikle sadece okunabilir olmalı, ancak tomcat kullanıcısının bu dizine erişimi olmalıdır:

sudo chmod -R g+r /opt/tomcat/conf
sudo chmod g+x /opt/tomcat/conf

Tomcat’in çalışırken dosya yazması gereken dizinler için tomcat kullanıcısına yazma izni verilmelidir:

sudo chown -R tomcat:tomcat /opt/tomcat/webapps /opt/tomcat/work /opt/tomcat/temp /opt/tomcat/logs

Tomcat Sistem Hizmeti Oluşturma

Tomcat’i manuel olarak başlatıp durdurmak yerine, bir systemd hizmeti olarak yapılandırmak, sunucu yeniden başlatıldığında otomatik olarak başlamasını sağlar ve yönetimi kolaylaştırır. Bir systemd hizmet dosyası oluşturmak için aşağıdaki adımları izleyin.

tomcat.service Dosyasını Oluşturma

Bir metin düzenleyici kullanarak /etc/systemd/system/tomcat.service adında yeni bir dosya oluşturun:

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

Dosyanın içine aşağıdaki içeriği yapıştırın:

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

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

Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="TOMCAT_LOGGING_CONFIG=/opt/tomcat/conf/logging.properties"

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

RestartSec=10
Restart=on-failure

[Install]
WantedBy=multi-user.target

Açıklamalar:

  • [Unit]: Hizmetin temel bilgilerini tanımlar.
  • Description: Hizmetin kısa açıklaması.
  • After=network.target: Hizmetin ağ bağlantısı kurulduktan sonra başlaması gerektiğini belirtir.
  • [Service]: Hizmetin çalışma şeklini tanımlar.
  • Type=forking: Tomcat’in arka planda bir işlem olarak çalışacağını belirtir.
  • User=tomcat ve Group=tomcat: Tomcat’in oluşturduğumuz tomcat kullanıcısı ve grubu altında çalışmasını sağlar.
  • Environment="JAVA_HOME=...": Java kurulum yolunu belirtir.
  • Environment="CATALINA_HOME=..." ve "CATALINA_BASE=...": Tomcat’in ana ve temel dizinlerini belirtir.
  • ExecStart ve ExecStop: Tomcat’i başlatma ve durdurma komutlarını belirtir.
  • Restart=on-failure: Hizmetin bir hata durumunda otomatik olarak yeniden başlamasını sağlar.
  • RestartSec=10: Yeniden başlatma denemeleri arasında 10 saniye bekler.
  • [Install]: Hizmetin sistem önyüklemesinde nasıl etkinleştirileceğini tanımlar.
  • WantedBy=multi-user.target: Sistem çok kullanıcılı moda geçtiğinde hizmetin başlatılmasını sağlar.

Dosyayı kaydedin ve kapatın (Ctrl+O, Enter, Ctrl+X).

Sistem Hizmetini Etkinleştirme

systemd‘nin yeni hizmet dosyasını tanıması için daemon’ları yeniden yükleyin:

sudo systemctl daemon-reload

Tomcat hizmetini sistem başlangıcında otomatik olarak başlayacak şekilde etkinleştirin:

sudo systemctl enable tomcat

Tomcat Yönetici Arayüzü İçin Kullanıcı Yapılandırma

Apache Tomcat, web tabanlı bir yönetici arayüzü (Manager App ve Host Manager App) ile birlikte gelir. Bu arayüzler, dağıtılmış uygulamaları yönetmek, sanal ana makineleri yapılandırmak ve genel sunucu durumunu izlemek için kullanılır. Bu arayüzlere erişmek için kullanıcı adı ve şifre tanımlamanız gerekir.

tomcat-users.xml Dosyasını Düzenleme

Tomcat kullanıcılarını ve rollerini tanımlayan dosya /opt/tomcat/conf/tomcat-users.xml‘dir. Bu dosyayı düzenlemek için:

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

Dosyanın içinde, etiketinin arasına aşağıdaki gibi kullanıcı ve rol tanımlamalarını ekleyin. Kendi güvenli kullanıcı adınızı ve güçlü bir şifrenizi kullanmayı unutmayın:


    
    
    

Yukarıdaki örnekte, your_admin_username ve your_strong_password kısımlarını kendi seçtiğiniz değerlerle değiştirin. manager-gui rolü, Manager App’e web tarayıcısı üzerinden erişim sağlarken, admin-gui rolü Host Manager App’e erişim sağlar. Ayrıca, yorum satırı içindeki örnek kullanıcıları da kaldırabilir veya değiştirebilirsiniz.

Dosyayı kaydedin ve kapatın.

Yönetici Arayüzüne Uzaktan Erişim İzni Verme (Gerekliyse)

Varsayılan olarak, Tomcat’in Manager ve Host Manager uygulamaları yalnızca sunucunun kendisinden (localhost) erişilebilir. Eğer bu arayüzlere uzak bir makineden erişmek istiyorsanız, ilgili yapılandırma dosyalarını düzenlemeniz gerekmektedir. Ancak, bu bir güvenlik riski oluşturabilir ve dikkatli yapılmalıdır. Sadece güvenli ve bilinen IP adreslerinden erişime izin vermeniz önerilir.

Manager App için:

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

Host Manager App için:

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

Her iki dosyada da, aşağıdaki satırı bulun:

Bu satırı yorum satırı haline getirerek ( içine alarak) tüm IP adreslerinden erişime izin verebilirsiniz:

Veya belirli bir IP adresine (örneğin, 192\.168\.1\.100) veya bir IP aralığına (örneğin, 192\.168\.1\.\d+) izin vermek için allow özniteliğini düzenleyebilirsiniz. Örneğin, belirli bir IP’den erişim için:

Değişiklikleri kaydedin ve kapatın.

Tomcat Servisini Başlatma ve Durumunu Kontrol Etme

Tüm yapılandırmaları tamamladığımıza göre, artık Tomcat hizmetini başlatabilir ve durumunu kontrol edebiliriz.

Tomcat’i Başlatma

sudo systemctl start tomcat

Tomcat Durumunu Kontrol Etme

Tomcat hizmetinin çalışıp çalışmadığını kontrol etmek için:

sudo systemctl status tomcat

Çıktı, hizmetin aktif (running) olduğunu ve herhangi bir hata olup olmadığını göstermelidir. Eğer bir sorun varsa, hata mesajlarını inceleyerek sorunu gidermeye çalışın.

Daha detaylı logları görmek için aşağıdaki komutu kullanabilirsiniz:

sudo journalctl -u tomcat --since "5 minutes ago"

Bu komut, son 5 dakikadaki Tomcat hizmetiyle ilgili logları gösterecektir.

Firewall Ayarlarını Yapılandırma (UFW Kullanıyorsanız)

Eğer sunucunuzda bir güvenlik duvarı (örneğin, UFW – Uncomplicated Firewall) etkinse, Tomcat’in varsayılan portu olan 8080’e dışarıdan erişime izin vermeniz gerekir. Aksi takdirde, web tarayıcınızdan Tomcat’e erişemezsiniz.

sudo ufw allow 8080/tcp
sudo ufw reload

Bu komutlar, 8080 portuna TCP trafiğine izin verir ve güvenlik duvarı kurallarını yeniden yükler.

Web Tarayıcısından Erişim

Şimdi bir web tarayıcısı açın ve sunucunuzun IP adresini veya alan adını 8080 portuyla birlikte kullanarak Tomcat’e erişmeyi deneyin:

http://sunucu_ip_adresi_veya_alan_adi:8080

Başarılı bir kurulum durumunda, Apache Tomcat’in varsayılan karşılama sayfasını görmelisiniz. Bu sayfada “Manager App” ve “Host Manager App” bağlantılarını göreceksiniz. Bu bağlantılara tıklayarak ve tomcat-users.xml dosyasında tanımladığınız kullanıcı adı ve şifre ile giriş yaparak yönetici arayüzlerine erişebilirsiniz.

Güvenlik İpuçları ve En İyi Uygulamalar

Apache Tomcat’i bir üretim ortamında kullanırken güvenlik büyük önem taşır. İşte bazı önemli güvenlik ipuçları ve en iyi uygulamalar:

  1. Varsayılan Kullanıcıları ve Şifreleri Değiştirin: Kurulum sırasında kullanılan veya varsayılan olarak gelen tüm kullanıcı adı ve şifreleri güçlü ve benzersiz değerlerle değiştirin. Özellikle tomcat-users.xml dosyasındaki kullanıcıları dikkatlice yapılandırın.
  2. Ayrı Bir Kullanıcı Altında Çalıştırın: Tomcat’i root kullanıcısı yerine, bu rehberde yaptığımız gibi, minimum yetkilere sahip ayrı bir sistem kullanıcısı altında çalıştırmak, güvenlik açıklarının etkisini önemli ölçüde azaltır.
  3. Gereksiz Uygulamaları Kaldırın: Üretim ortamında, Tomcat ile birlikte gelen varsayılan örnek uygulamaları (docs, examples, host-manager, manager gibi) kaldırın veya erişimlerini kısıtlayın. Bu uygulamalar genellikle güvenlik açıkları barındırabilir ve üretimde gereksizdir. Sadece ihtiyaç duyduğunuz manager ve host-manager uygulamalarını güvenli bir şekilde yapılandırın.
  4. server.xml Ayarlarını Gözden Geçirin: /opt/tomcat/conf/server.xml dosyası, Tomcat’in ana yapılandırma dosyasıdır. Gereksiz konektörleri kapatın, erişim günlüklerini yapılandırın ve performansı artırıcı güvenlik ayarlarını uygulayın.
  5. Firewall Kullanımı: Sunucunuzun güvenlik duvarını (UFW, iptables vb.) doğru şekilde yapılandırın. Yalnızca Tomcat’in ihtiyaç duyduğu portlara (varsayılan olarak 8080, HTTPS için 8443) ve belirli IP adreslerinden erişime izin verin.
  6. SSL/TLS Yapılandırması: Hassas verileri işleyen veya kullanıcı kimlik doğrulaması gerektiren uygulamalar için Tomcat’i SSL/TLS ile yapılandırarak HTTPS üzerinden çalışmasını sağlayın. Bu, iletişimi şifreleyerek veri güvenliğini artırır. Let’s Encrypt gibi ücretsiz sertifika sağlayıcıları kullanabilirsiniz.
  7. Güncel Tutma: Hem Java JDK’yı hem de Apache Tomcat’i düzenli olarak en son kararlı sürümlerine güncelleyin. Güvenlik açıkları genellikle yeni sürümlerde giderilir.
  8. Logları İzleme: Tomcat’in log dosyalarını (/opt/tomcat/logs/ dizininde bulunur) düzenli olarak kontrol edin. Hata mesajları, uyarılar veya şüpheli etkinlikler için logları izlemek, olası sorunları erken tespit etmenizi sağlar.
  9. Yönetici Arayüzüne Erişimi Kısıtlayın: manager ve host-manager uygulamalarına yalnızca güvenli ağlardan veya belirli IP adreslerinden erişime izin verin. Bu rehberde bahsettiğimiz context.xml dosyalarını kullanarak bu kısıtlamayı uygulayabilirsiniz.

Sonuç

Bu kapsamlı rehberde, Apache Tomcat 9’u Debian 9 işletim sistemi üzerine kurmanın tüm adımlarını başarıyla tamamladınız. Java Geliştirme Kiti’nin kurulumundan başlayarak, Tomcat dosyalarını indirip yapılandırmaya, güvenli bir sistem kullanıcısı oluşturmaya, Tomcat’i bir systemd hizmeti olarak yapılandırmaya ve yönetici arayüzü için kullanıcı ayarlarını yapmaya kadar her adımı detaylı bir şekilde ele aldık. Ayrıca, kurulum sonrası güvenliği sağlamak için önemli ipuçları ve en iyi uygulamaları da paylaştık.

Artık Debian 9 sunucunuzda çalışan bir Apache Tomcat 9 örneğiniz var. Bu, Java tabanlı web uygulamalarınızı (örneğin, Spring Boot uygulamaları, JSP tabanlı siteler) dağıtmak ve çalıştırmak için güçlü ve güvenilir bir platform sağlar. Tomcat’in esnek yapısı ve geniş topluluk desteği sayesinde, ihtiyaçlarınıza uygun her türlü web uygulamasını barındırabilirsiniz.

Kurulum sürecinde veya sonrasında herhangi bir sorunla karşılaşırsanız, Tomcat’in log dosyalarını kontrol etmek (/opt/tomcat/logs/ dizini) ve systemctl status tomcat komutunun çıktısını incelemek, sorun giderme için ilk adımlarınız olmalıdır. Apache Tomcat’in resmi belgeleri ve çevrimiçi topluluk forumları da ek yardım ve daha ileri yapılandırma seçenekleri için değerli kaynaklardır.

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

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.