Apache Tomcat yazılımı Java Servlet, JavaServer Pages (JSP) ve Java Expression Language gibi Java teknolojilerini çalıştırabilen Java tabanlı bir HTTP sunucusudur. Gelişmiş yerleşik özelleştirme seçenekleri, yüksek esnekliği ve etkileyici kararlılığı, yazılımı küresel düzeyde geliştiriciler arasında oldukça talep gören ve popüler bir seçim haline getirmektedir. Apache Tomcat'i rakipleri arasında öne çıkaran özelliklerin neler olduğuna bakalım:
-
Açık Kaynaklı
Apache Tomcat açık kaynaklı bir uygulamadır. Bu, herkesin uygulamayı ücretsiz olarak indirebileceği, kurabileceği ve kullanabileceği anlamına gelir.
-
Hafif
Hafif olma özelliği, rakiplerine kıyasla yükleme ve yeniden dağıtım sırasında ek bir avantaj olarak kabul edilir.
-
Esneklik
Yerleşik özelleştirme seçeneği, kullanıcının uygulamayı ihtiyaçlarına ve proje gereksinimlerine göre kendi isteğine göre özelleştirmesine olanak tanır.
-
Gelişmiş Güvenlik
Tomcat uygulamaları ayrıca gelişmiş düzeyde bir güvenlik sunar.
1998'deki ilk sürümünden bu yana, Apache Software Foundation inanılmaz değişiklikler yaptı. Sonuç olarak, son sürüm her zamankinden daha kararlı. Bu eğitimde, Ubuntu 20.04 üzerinde Apache Tomcat 9'u nasıl kuracağınızı öğreneceksiniz.
Önkoşullar
Ubuntu sisteminize Apache Tomcat kurulumuna geçmeden önce, aşağıdakilere sahip olduğunuzdan emin olun:
- Bir Ubuntu sunucusu - sunucunuzu kurmak için eğitimimizdeki adımları takip edebilirsiniz.
- Sunucunuzda sudo yetkilerine sahip root olmayan bir kullanıcı.
Artık her şey hazır. Ardından, Ubuntu 20.04 üzerine Apache Tomcat kurmak için aşağıdaki adımları takip etmeye devam edin
Adım 1 — Java Kurulumu
İlk olarak, şu komutu kullanarak sisteminizde Java'nın kurulu olup olmadığını doğrulayın:
|
1 |
java -version |
Sisteminizde Java kurulu değilse, Java tabanlı uygulamaları çalıştırmak için kurmanız gerekir. Java Development Kit'i aşağıdaki komutu kullanarak kurabilirsiniz:
|
1 |
sudo apt install default-jre |
Kurulum tamamlandıktan sonra şu komutu kullanarak doğrulayın:
|
1 |
java -version |
Kurulum tamamlandıktan sonra, bir tomcat kullanıcı hesabı oluşturma zamanı geldi. Güvenlik amacıyla, Tomcat'i root olmayan yetkilerle çalıştırmanız önerilir. Unutmayın, sayfa betiklerinden herhangi biri root yetkilerine sahipse, sayfa betikleriyle sabit disk dosyasını tamamen kolayca değiştirebilirsiniz. Sırada, Tomcat hizmetlerini çalıştıracak yeni bir kullanıcı ve grup oluşturacağız.
Adım 2 – Tomcat Kullanıcısı Oluşturma & Yapılandırma
Tüm Tomcat hizmetlerini kullanacak yeni bir kullanıcı ve grup oluşturacağız. Aşağıdaki komutu kullanarak yeni grubu tomcat olarak adlandıracağız:
|
1 |
sudo groupadd tomcat |
Bir grup adı oluşturduktan sonra, yeni bir tomcat kullanıcısı oluşturacağız ve ardından kullanıcıyı tomcat:
- Yeni bir tomcat kullanıcısı oluşturun.
- Kullanıcı üyeliğini tomcat grubuna ekleyin.
Kullanıcıyı tomcat grubuna eklerken, kimsenin tomcat hesabınıza erişememesi için bunu gizli tuttuğunuzdan emin olun. Güvenlik endişeleri nedeniyle, kullanıcıyı tomcat ( /opt/tomcat) kuracağımız ev dizininde tutun ve bir kabuk /bin/false:
|
1 |
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat |
Hesap kurulumumuz tamamlandıktan sonra devam edelim ve Tomcat'i kuralım:
Adım 3 – Tomcat Kurulumu
Tomcat'i Tomcat’in resmi web sitesinden kuracağız. Tam potansiyelinden yararlanmak için en son sürümü indirin. Mevcut en kararlı sürüme yükseltmek için Binary Distributions bölümüne gidin, Core listesine kaydırın ve ardından “tar.gz”. bağlantısını kopyalayın. İşlem tamamlandıktan sonra dizini /tmp:
|
1 |
cd /tmp |
Ardından, curl komutunu kullanarak Tomcat'i yukarıda belirtildiği gibi resmi web sitesinden indirin:
|
1 |
sudo curl -O https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.60/bin/apache-tomcat-9.0.60.tar.gz |
Tomcat'i /opt/tomcat dizini altına kuralım. Dizini oluşturduktan sonra, aşağıdaki komutu kullanarak arşivi çıkarın:
|
1 2 |
sudo mkdir /opt/tomcat sudo tar xzvf apache-tomcat-9.0.60.tar.gz -C /opt/tomcat --strip-components=1 |
Step 4 – Update Permissions
Sisteminize Tomcat'i kurduktan sonra, yeni oluşturulan tomcat kullanıcısı için izinleri ayarlamanız gerekir. Tomcat kurulumunu açtığımız dizine geçmek için aşağıdaki komutu kullanın:
|
1 |
cd /opt/tomcat |
Ardından, tomcat grubuna tüm kurulum dizini üzerinde sahiplik izni verin:
|
1 2 3 |
sudo chgrp -R tomcat /opt/tomcat sudo chmod -R g+r conf sudo chmod g+x conf |
Bu işlem tamamlandıktan sonra, tomcat kullanıcısını webapps, work, temp, ve logs dizinlerinin sahibi yapın:
|
1 |
sudo chown -R tomcat webapps/ work/ temp/ logs |
Gerekli tüm izinleri ayarladıktan sonra, bir sonraki adım Tomcat sürecini yönetmek ve Tomcat'i bir servis olarak çalıştırmak için bir systemd servis dosyası oluşturmaktır.
Step 5 – Create a systemd Unit File
Java kurulumunu tamamlamış olsak da, Tomcat'in Java'nın nereye kurulu olduğunu bilmesi gerekir. Java kurulum konumunu öğrenmek için aşağıdaki komutu çalıştırın:
|
1 |
sudo update-java-alternatives -l |
Çıktı şu şekilde görünmelidir:
Vurgulanan kısım, JAVA_Home aşağıda gösterildiği gibidir:
|
1 |
/usr/lib/jvm/java-1.11.0-openjdk-amd64 |
Ardından, bir systemd servis dosyası oluşturacağız. Aşağıdaki komutu kullanarak tomcat.service dizininden /etc/systemd/system adlı dosyayı açın:
|
1 |
sudo nano /etc/systemd/system/tomcat.service |
Dosyayı düzenlemek için VI editörünü kullanın ve JAVA_Home değerini kendi JAVA_Home konumunuzla değiştirin:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd6 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 |
ekledikten sonra, JAVA_Home dosyayı kaydedip kapatın. Ardından, servis dosyamızdan haberdar olması için systemd daemon'ını yeniden yükleyin:
|
1 |
sudo systemctl daemon-reload |
Ardından, aşağıdaki komutu kullanarak Tomcat servisini başlatın:
|
1 |
sudo systemctl start tomcat |
Step 6 – Firewall Configuration
systemd birim dosyasını oluşturduktan sonra, güvenlik duvarlarını yapılandırma zamanı geldi. Güvenlik duvarı yapılandırmaları, isteklerimizi ve Tomcat servisine erişimimizi etkinleştirmek için gereklidir. Kılavuzu doğru bir şekilde takip ettiyseniz, halihazırda etkinleştirilmiş bir ufw güvenlik duvarınızın olduğu kesindir.
Tomcat, geleneksel istekleri kabul etmek için 8080 portunu kullanır. Aşağıdaki komutu kullanarak bu porta giden trafiğe izin verin:
|
1 |
sudo ufw allow 8080 |
Değiştirilen güvenlik duvarı, IP adresinin ardından gelen :8080 ile varsayılan karşılama sayfasına erişmenizi sağlar. Aşağıda gösterildiği gibi IP adresine giderek bir web tarayıcısında açabilirsiniz:
|
1 |
http://server_domain_or_IP:8080 |
|
1 |
sudo ufw allow 8080 |
Adım 7 — Tomcat Web Yönetim Arayüzü Yapılandırması
Tomcat ile birlikte gelen yönetici web uygulamasını kullanmak için Tomcat sunucumuza bir giriş eklemeliyiz. Bunu, tomcat-users.xml dosyasını aşağıda gösterildiği gibi düzenleyerek yapabiliriz:
|
1 |
sudo nano /opt/tomcat/conf/tomcat-users.xml |
Tomcat, kullanıcının manager-gui ve admin-gui arayüzlerine erişmesini sağlayan web uygulamalarıyla birlikte gelir. Aşağıda gösterildiği gibi tomcat-users etiketleri arasında bir kullanıcı tanımlayabilirsiniz:
|
1 2 3 |
<tomcat-users . . .> <user username="admin" password="password" roles="manager-gui,admin-gui"/> </tomcat-users> |
İşlemi tamamladıktan sonra dosyayı kaydedip kapatın.
Tomcat'in tüm son sürümleri, Manager ve Host Manager uygulamalarına erişimi yalnızca sunucunun kendisinden gelen bağlantılarla sınırlandırır. Bunlardaki IP adresi kısıtlamalarını değiştirmek için ilgili context.xml dosyalarını açın. Manager uygulamasına erişmek için şu komutu kullanın:
|
1 |
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml |
Ardından, Host Manager uygulamasına erişmek için şu komutu kullanın:
|
1 |
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml |
İhtiyaçlarınıza bağlı olarak bağlantıları kabul etmeyi veya reddetmeyi seçebilirsiniz. Herhangi bir yerden bağlantılara izin vermek için IP adresi kısıtlamalarını yorum satırı haline getirebilirsiniz. Alternatif olarak, kendi IP adresinizden gelen bağlantılara izin vermek için genel IP adresinizi listeye ekleyebilirsiniz:
|
1 2 3 4 |
<Context antiResourceLocking="false" privileged="true" > <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />--> </Context> |
İşiniz bittiğinde dosyaları kaydedip kapatın. Yaptığınız değişikliklerin geçerli olması için aşağıdaki komutu kullanarak Tomcat servisini yeniden başlatın:
|
1 |
sudo systemctl restart tomcat |
Adım 8—Web Arayüzü Erişimi
Tomcat kullanıcısını oluşturduktan sonra artık web yönetim arayüzüne erişebiliriz. Arayüze bir kez daha sunucunun alan adı veya IP adresinin ardından gelen port numarasıyla erişebilirsiniz: 8080:
|
1 |
http://server_domain_or_IP:8080 |
Bu URL'ye tıkladığınızda, aşağıda gösterildiği gibi bir sayfa göreceksiniz:
Tomcat web uygulamalarına, tomcat-users.xml dosyasına eklediğiniz hesap bilgilerini girerek erişebilirsiniz. Manager uygulamasına erişmek için şu bağlantıyı kullanın:
|
1 |
http://server_domain_or_IP:8080/manager/html |
Bu URL'ye tıkladığınızda, aşağıda gösterildiği gibi bir sayfa göreceksiniz:
Host Manager uygulamasına erişmek için şu bağlantıyı kullanın:
|
1 |
http://server_domain_or_IP:8080/host-manager/html |
Bu URL'ye tıkladığınızda, aşağıda gösterildiği gibi bir sayfa göreceksiniz:
Sonuç
Tomcat kurulumunuz artık tamamlandı. Kendi Java web uygulamalarınızı özgürce dağıtabilir ve dijital deneyiminizi geliştirebilirsiniz. Apache Tomcat üzerinde çalışmanın, alternatiflerine kıyasla yükleme ve yeniden dağıtma sırasında çok daha hızlı olduğunu göreceksiniz. Ancak statik sayfalarla çalışırken uygun değildir.
Apache tabanlı sunucuları uygulama hakkında daha fazla kaynak için blogumuza:
- göz atın: mod_proxy Uzantısı Hakkında Bir Kılavuz: Apache'yi Ters Proxy Olarak Kullanma
- Web Sunucularının Dünyası: Apache vs. Nginx
- Ubuntu 20.04 Üzerinde Apache Sanal Konaklarını Yapılandırma
- CentOS 7 Üzerine Apache Web Sunucusu Kurulumu
Keyifli Bilişimler!














Yorumlar
Henüz yorum yapılmamış. İlk siz olun.