acikkaynak.blog_
← tüm yazılar Saha Paylaşımları

Apache Tomcat Kurulum ve Yönetim Rehberi

✍ Emre Karabulut📅 14 Temmuz 2025⏱ 2 dakika okuma
Apache Tomcat Kurulum ve Yönetim Rehberi

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