Cumartesi, Aralık 21, 2024

CentOS 7’de Tomcat 9 nasıl kurulur?

yüksek çözünürlüklü centos işletim sistemi logosu

Bu ay java ve ekipmanları ile çok ilgilendiğimiz için Tomcat 9 kurulumu ile devam ediyoruz.

Tomcat, Java Servlet, JavaServer Pagesve Java WebSocket teknolojileri için açık kaynaklı bir uygulamadır.

OpenJDK’yı Yükleyelim

Tomcat 9, Java SE 8 veya daha yeni bir sürümünü desteklemektedir. Açık kaynak kodlu olan OpenJDK 8 Sürümünü sistemimize dahil edelim.

sudo yum install java-1.8.0-openjdk-devel

OpenJDK yerine kurulumunuzda Oracle Java’yı tercih ederseniz CentOS 7’de Java nasıl kurulur makalemize göz atabilirsiniz.

Tomcat Kullanıcısının Oluşturulması

Tomcat’i root kullanıcısı olarak kullanmak bir güvenlik sorunu oluşturur ve başımıza daha sonradan sorun çıkartabilir. Bunun yerine bir tomcat kullanıcısı oluşturmak işimize yarayacaktır.

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

Dizin olarakta gördüğünüz gibi /var/tomcat tercih ettik.

Tomcat 9.0.x’in en son sürümünü Tomcat indirme sayfasından indirelim.

wget https://www-eu.apache.org/dist/tomcat/tomcat-9/

Başarılı bir şekilde indirdiğimiz tomcatımızı dosyasından çıkartıyoruz.

tar -xf apache-tomcat-*.tar.gz

Kullanacağımız dizine taşıyalım

sudo mv apache-tomcat-9.0.13 /var/tomcat/

Belirli aralıklarla güncelleyeceğimiz içinde linkleme işlemlerini gerçekleştirelim.

sudo ln -s /var/tomcat/apache-tomcat-9.0.13 /var/tomcat/latest

Önceden tanımladığımız tomcat kullanıcısı ise bu işlemleri gerçekleştirebilmek için dizine tanımlanması gerekmektedir.

sudo chown -R tomcat: /var/tomcat

tomcat /var/tomcat/latest/bin/ içerisindeki tüm dosyaların çalıştırılabilir hale getirilmesi işlemimizi yapalım.

sudo chmod +x /var/tomcat/latest/bin/*.sh

İşlemimiz buraya kadar şimdi tomcat 9’un sistem tarafından çalıştırılması için kullanılan dosyayı düzenlemeye geldi bu işlemi /etc/systemd/system/tomcat.service yolu takip ederek ve favori metin editörünüz ile gerçekleştirebilirsiniz.

Dosyanın içerisinde yok demeyin olay zaten burada gereken dosyayı sizin oluşturmanız. Sunucunun herhangi istenmeyen yeniden başlatma durumlarında başınız ağrımasın.

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/var/tomcat/latest"
Environment="CATALINA_HOME=/var/tomcat/latest"
Environment="CATALINA_PID=/var/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/var/tomcat/latest/bin/startup.sh
ExecStop=/var/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

şimdi sisteme yeni bir servis oluşturduğumuzu haber verelim.

sudo systemctl daemon-reload

Tomcat 9 servisimizi başlatalım ve sistemimizin başlangıcında otomatik olarak çalışmasını sağlayalım

sudo systemctl enable tomcat
sudo systemctl start tomcat

Güvenlik Duvarı ayarları

Eğer servise dışarıdan erişmek isterseniz 8080 numaralı porta erişim izni vermeyi unutmayın bunun için aşağıdaki komutları kullanabilirsiniz.

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

Herhangi bir yük dengeleme işlemi veya ters proxy işlemi uygulanacak ise bahsi geçen 8080 portunun dışarıya erişiminin olmasına gerek yoktur.

Tomcat Web Yönetim Arayüzünü Yapılandırma

Tomcat kullanıcıları ve rolleri, tomcat-users.xml dosyasında tanımlanmıştır. Gerekli ayarlamalarımızı aşağıdaki komut aracılığı ile dosyayı açarak yapalım

sudo nano /var/tomcat/latest/conf/tomcat-users.xml

Kullanıcı alanına yetkili kullanıcımızı tanımlayacağımız zaman tomcat-users alanı içerisine aşağıdaki satırlar eklenmelidir.

<tomcat-users>
   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="Mertcan" password="Mertcan123" roles="admin-gui,manager-gui"/>
</tomcat-users>

Varsayılan olarak Tomcat web yönetim arayüzü, yalnızca localhost’tan erişime izin verecek şekilde yapılandırılmıştır. Web arayüzüne uzak bir IP’den veya tavsiye edilmeyen herhangi bir şekilde erişebilmek istiyorsanız context.xml dosyasını düzenlemeniz gerekmektedir.

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

IP adresi üzerinden erişimi aşağıdaki gibi aktif hale getirebilirsiniz.

<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>

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

sudo systemctl restart tomcat

Web arayüze tarayıcınız aracılığı ile http://<IP>:8080 adresi aracılığı ile erişebilirsiniz.