Apache Tomcat Kurulum ve Yönetim Rehberi

📅 14 Temmuz 2025Emre Karabulut
⏱️ Yaklaşık 4 dakikalık okuma süresi

Apache Tomcat Kurulum ve Yönetim Rehberi (Bölüm 1-4)


✅ 1. Apache Tomcat Nedir?

Apache Tomcat, Java Servlet, JSP (Java Server Pages) ve diğer Java web teknolojilerini çalıştıran açık kaynak kodlu bir web sunucusu ve servlet container’dır. Genellikle orta ölçekli web uygulamaları için tercih edilir.


📦 2. Tomcat Kurulumu

🔹 Sistem Gereksinimleri

  • Java JDK 8 veya üzeri (Java 11 önerilir)
  • 512 MB RAM (minimum), 1 GB+ önerilir
  • Açık port (varsayılan 8080)

🔸 Linux (Ubuntu) Kurulumu

Adım 1: Java Yükle

sudo apt update
sudo apt install openjdk-11-jdk -y

Adım 2: Tomcat Kullanıcısı Oluştur

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

Adım 3: Tomcat İndir ve Kur

cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.24/bin/apache-tomcat-10.1.24.tar.gz
sudo mkdir -p /opt/tomcat
sudo tar -xzvf apache-tomcat-10.1.24.tar.gz -C /opt/tomcat –strip-components=1

Adım 4: Yetkilendirme

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

Adım 5: Systemd Servis Oluştur

/etc/systemd/system/tomcat.service

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

[Service]
Type=forking
User=tomcat
Group=tomcat
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”
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

Adım 6: Başlat

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable –now tomcat


🔸 Windows Kurulumu

  • Java JDK kur (JAVA_HOME tanımla)
  • Tomcat zip ya da exe kurulum dosyasını indir
  • Zip ile kurulum: startup.bat
  • Exe ile kurulum: “Tomcat as Service” olarak kur

⚙️ 3. Yapılandırma

📁 Temel Dosyalar:

DosyaAçıklama
server.xmlPort, connector, host ayarları
context.xmlVeri kaynağı gibi uygulama özel ayarları
web.xmlVarsayılan servlet ayarları, MIME types
tomcat-users.xmlKullanıcı/rol tanımı

server.xml Örnek Ayarlar

<Connector port=”8080″ protocol=”HTTP/1.1″
           connectionTimeout=”20000″
           redirectPort=”8443″ />

<Host name=”myapp.local” appBase=”webapps”>
  <Alias>www.myapp.local</Alias>
  <Context path=”” docBase=”/var/www/myapp” />
</Host>


tomcat-users.xml Kullanıcı Tanımı

<tomcat-users>
  <role rolename=”manager-gui”/>
  <role rolename=”admin-gui”/>
  <user username=”admin” password=”StrongPass123″ roles=”manager-gui,admin-gui”/>
</tomcat-users>


context.xml Veri Kaynağı

<Resource name=”jdbc/mydb” auth=”Container”
          type=”javax.sql.DataSource” driverClassName=”com.mysql.cj.jdbc.Driver”
          url=”jdbc:mysql://localhost:3306/test”
          username=”tomcat” password=”tomcat” />


🔒 4. Güvenlik

🔐 Erişim Sınırlandırması

<Valve className=”org.apache.catalina.valves.RemoteAddrValve” allow=”127\..*|::1″ />

🔐 HTTPS Yapılandırması

keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/tomcat/keystore.jks -validity 365

<Connector port=”8443″ protocol=”org.apache.coyote.http11.Http11NioProtocol” SSLEnabled=”true”>
  <SSLHostConfig>
    <Certificate certificateKeystoreFile=”/opt/tomcat/keystore.jks”
                 type=”RSA” certificateKeystorePassword=”sifre123″/>
  </SSLHostConfig>
</Connector>

🔐 Dosya İzinleri

sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R o-rwx /opt/tomcat

🔐 Version Gizleme

  • web.xml içinde server parametresi
  • index.jsp içinde banner kaldırma

🚀 5. Uygulama Yükleme (Deployment)

🔸 webapps/ dizinine kopyala

sudo cp myapp.war /opt/tomcat/webapps/

🔸 Manager GUI ile Yükleme

http://localhost:8080/manager/html

  • Kullanıcı: admin / StrongPass123
  • WAR dosyasını seç, context path belirle, yükle

🔸 Hot Deployment

sudo rm /opt/tomcat/webapps/myapp*
sudo cp newapp.war /opt/tomcat/webapps/myapp.war

🔸 Uygulama Logları

tail -f /opt/tomcat/logs/catalina.out

ChatGPT Image 14 Tem 2025 19 53 01

155f52c7e9c3ea8a325b44ff056acd50611fa5e706241e72fc0165362c08111b?s=64&d=mm&r=g
Emre Karabulut
📊 Bu yazı 102 kez okundu.