{"id":36117,"date":"2025-12-08T14:40:47","date_gmt":"2025-12-08T11:40:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36117"},"modified":"2025-12-08T14:40:47","modified_gmt":"2025-12-08T11:40:47","slug":"linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/","title":{"rendered":"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber<\/h2>\n<h2>Giri\u015f<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dinamik web uygulamalar\u0131 d\u00fcnyas\u0131nda, g\u00fcvenilir ve performansl\u0131 bir uygulama sunucusuna sahip olmak kritik \u00f6neme sahiptir. Java tabanl\u0131 web uygulamalar\u0131 i\u00e7in en pop\u00fcler ve yayg\u0131n kullan\u0131lan \u00e7\u00f6z\u00fcmlerden biri de Apache Tomcat&#8217;tir. Tomcat, Java Servlet, JavaServer Pages (JSP), Java Expression Language (EL) ve WebSocket teknolojilerini destekleyen a\u00e7\u0131k kaynakl\u0131 bir web sunucusu ve servlet konteyneridir. Hafif yap\u0131s\u0131, esnekli\u011fi ve geni\u015f topluluk deste\u011fi sayesinde geli\u015ftiriciler ve sistem y\u00f6neticileri aras\u0131nda olduk\u00e7a tercih edilmektedir.<\/p>\n<p>Bu kapsaml\u0131 rehber, Linux i\u015fletim sistemi \u00fczerine Apache Tomcat&#8217;in ad\u0131m ad\u0131m kurulumunu, yap\u0131land\u0131rmas\u0131n\u0131 ve temel optimizasyonlar\u0131n\u0131 detayl\u0131 bir \u015fekilde anlatmaktad\u0131r. \u0130ster yeni ba\u015flayan bir geli\u015ftirici olun ister deneyimli bir sistem y\u00f6neticisi, bu k\u0131lavuz Tomcat&#8217;i sunucunuzda ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131rmak i\u00e7in ihtiyac\u0131n\u0131z olan t\u00fcm bilgileri sa\u011flayacakt\u0131r. Kurulum s\u00fcrecini, g\u00fcvenlik ayarlar\u0131n\u0131, performans ipu\u00e7lar\u0131n\u0131 ve yayg\u0131n sorun giderme y\u00f6ntemlerini ele alarak, Tomcat&#8217;i en verimli \u015fekilde kullanman\u0131za yard\u0131mc\u0131 olmay\u0131 hedefliyoruz.<\/p>\n<h2>\u00d6n Gereksinimler<\/h2>\n<p>Tomcat kurulumuna ba\u015flamadan \u00f6nce, sisteminizin belirli \u00f6n ko\u015fullar\u0131 kar\u015f\u0131lad\u0131\u011f\u0131ndan emin olmal\u0131s\u0131n\u0131z. Bu b\u00f6l\u00fcm, gerekli yaz\u0131l\u0131mlar\u0131 ve sistem haz\u0131rl\u0131klar\u0131n\u0131 detayland\u0131racakt\u0131r.<\/p>\n<h3>\u0130\u015fletim Sistemi Se\u00e7imi<\/h3>\n<p>Apache Tomcat, \u00e7e\u015fitli Linux da\u011f\u0131t\u0131mlar\u0131nda sorunsuz bir \u015fekilde \u00e7al\u0131\u015fabilir. En yayg\u0131n kullan\u0131lan da\u011f\u0131t\u0131mlar aras\u0131nda Ubuntu, Debian, CentOS ve Red Hat Enterprise Linux (RHEL) bulunmaktad\u0131r. Bu rehberdeki komutlar genellikle t\u00fcm bu da\u011f\u0131t\u0131mlarda benzer olsa da, paket y\u00f6neticisi komutlar\u0131nda (apt vs. yum\/dnf) farkl\u0131l\u0131klar olabilir. \u00d6rneklerde genellikle Ubuntu\/Debian ve CentOS\/RHEL i\u00e7in kar\u015f\u0131l\u0131k gelen komutlar belirtilecektir.<\/p>\n<p>Kuruluma ba\u015flamadan \u00f6nce sunucunuzun g\u00fcncel oldu\u011fundan emin olun:<br \/>\n<strong>Ubuntu\/Debian:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p><strong>CentOS\/RHEL:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo yum update -y\n<h2>veya<\/h2>\nsudo dnf update -y<\/code><\/pre>\n<h3>Java Geli\u015ftirme Kiti (JDK) Kurulumu<\/h3>\n<p>Apache Tomcat bir Java uygulamas\u0131 oldu\u011fundan, \u00e7al\u0131\u015fabilmesi i\u00e7in bir Java Runtime Environment (JRE) veya tercihen bir Java Development Kit (JDK) gereklidir. JDK, JRE&#8217;nin t\u00fcm \u00f6zelliklerini i\u00e7erir ve ek olarak geli\u015ftirme ara\u00e7lar\u0131 sunar. \u00d6zellikle, Tomcat&#8217;in JSP sayfalar\u0131n\u0131 derlemesi i\u00e7in JDK&#8217;ya ihtiya\u00e7 duyulur. OpenJDK, a\u00e7\u0131k kaynakl\u0131 ve Oracle JDK&#8217;ya \u00fccretsiz bir alternatiftir ve genellikle tercih edilir.<\/p>\n<p><strong>Mevcut Java S\u00fcr\u00fcm\u00fcn\u00fc Kontrol Etme:<\/strong><br \/>\nKuruluma ba\u015flamadan \u00f6nce sisteminizde Java y\u00fckl\u00fc olup olmad\u0131\u011f\u0131n\u0131 ve hangi s\u00fcr\u00fcm\u00fcn oldu\u011funu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">java -version\njavac -version<\/code><\/pre>\n<p>E\u011fer bu komutlar &#8220;command not found&#8221; hatas\u0131 veriyorsa, Java y\u00fckl\u00fc de\u011fildir. E\u011fer y\u00fckl\u00fc ise, s\u00fcr\u00fcm bilgisi g\u00f6r\u00fcnt\u00fclenecektir. Tomcat&#8217;in belirli s\u00fcr\u00fcmleri belirli Java s\u00fcr\u00fcmleriyle daha iyi uyumludur. Genellikle, Tomcat&#8217;in en son kararl\u0131 s\u00fcr\u00fcm\u00fc, Java&#8217;n\u0131n en son LTS (Uzun S\u00fcreli Destek) s\u00fcr\u00fcm\u00fcyle (\u00f6rne\u011fin Java 11 veya Java 17) iyi \u00e7al\u0131\u015f\u0131r.<\/p>\n<p><strong>OpenJDK Kurulumu:<\/strong><\/p>\n<p><strong>Ubuntu\/Debian i\u00e7in OpenJDK 17 Kurulumu:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt install openjdk-17-jdk -y<\/code><\/pre>\n<p>E\u011fer farkl\u0131 bir s\u00fcr\u00fcm (\u00f6rne\u011fin Java 11) kurmak isterseniz, <code>openjdk-17-jdk<\/code> yerine <code>openjdk-11-jdk<\/code> kullanabilirsiniz.<\/p>\n<p><strong>CentOS\/RHEL i\u00e7in OpenJDK 17 Kurulumu:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo yum install java-17-openjdk-devel -y\n<h2>veya<\/h2>\nsudo dnf install java-17-openjdk-devel -y<\/code><\/pre>\n<p>Yine, farkl\u0131 bir s\u00fcr\u00fcm i\u00e7in <code>java-17-openjdk-devel<\/code> yerine <code>java-11-openjdk-devel<\/code> gibi uygun paketi kullanabilirsiniz.<\/p>\n<p><strong>JAVA_HOME Ortam De\u011fi\u015fkenini Ayarlama:<\/strong><br \/>\nTomcat&#8217;in Java&#8217;y\u0131 do\u011fru bir \u015fekilde bulabilmesi i\u00e7in <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkeninin ayarlanmas\u0131 \u00f6nerilir. Bu, Tomcat&#8217;in ba\u015flang\u0131\u00e7 betiklerinde veya sistem genelinde yap\u0131labilir. Sistem genelinde ayarlamak i\u00e7in <code>\/etc\/profile.d\/java.sh<\/code> gibi bir dosya olu\u015fturmak iyi bir y\u00f6ntemdir.<\/p>\n<p>\u00d6ncelikle, Java&#8217;n\u0131n nerede y\u00fckl\u00fc oldu\u011funu bulun. Genellikle <code>\/usr\/lib\/jvm\/<\/code> alt\u0131nda bulunur:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --config java<\/code><\/pre>\n<p>Bu komut size y\u00fckl\u00fc Java s\u00fcr\u00fcmlerinin listesini ve yollar\u0131n\u0131 g\u00f6sterecektir. \u00d6rne\u011fin, yol <code>\/usr\/lib\/jvm\/java-17-openjdk-amd64<\/code> olabilir.<\/p>\n<p>\u015eimdi bu yolu kullanarak <code>\/etc\/profile.d\/java.sh<\/code> ad\u0131nda bir dosya olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/profile.d\/java.sh<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin (kendi Java yolunuza g\u00f6re ayarlay\u0131n):<\/p>\n<pre><code class=\"language-bash\">export JAVA_HOME=\"\/usr\/lib\/jvm\/java-17-openjdk-amd64\"\nexport PATH=$PATH:$JAVA_HOME\/bin<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin (Ctrl+O, Enter, Ctrl+X) ve \u00e7al\u0131\u015ft\u0131r\u0131labilir izinler verin:<\/p>\n<pre><code class=\"language-bash\">sudo chmod +x \/etc\/profile.d\/java.sh<\/code><\/pre>\n<p>Ortam de\u011fi\u015fkenlerini ge\u00e7erli oturum i\u00e7in y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">source \/etc\/profile.d\/java.sh<\/code><\/pre>\n<p><code>JAVA_HOME<\/code> de\u011fi\u015fkeninin do\u011fru ayarlan\u0131p ayarlanmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">echo $JAVA_HOME<\/code><\/pre>\n<p>Bu komut, ayarlad\u0131\u011f\u0131n\u0131z Java yolunu g\u00f6stermelidir.<\/p>\n<h2>Tomcat S\u00fcr\u00fcm Se\u00e7imi ve \u0130ndirme<\/h2>\n<p>Tomcat&#8217;in farkl\u0131 s\u00fcr\u00fcmleri mevcuttur ve her s\u00fcr\u00fcm belirli Java s\u00fcr\u00fcmleriyle uyumludur. Genellikle, Tomcat&#8217;in en son kararl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc kullanmak en iyisidir. Bu, en son \u00f6zelliklere, g\u00fcvenlik yamalar\u0131na ve performans iyile\u015ftirmelerine sahip olman\u0131z\u0131 sa\u011flar.<\/p>\n<p><strong>Tomcat S\u00fcr\u00fcm\u00fcn\u00fc Se\u00e7me:<\/strong><br \/>\nApache Tomcat resmi web sitesini (tomcat.apache.org) ziyaret ederek mevcut s\u00fcr\u00fcmleri inceleyebilirsiniz. Her s\u00fcr\u00fcm\u00fcn kendi &#8220;Requires&#8221; (Gereksinimler) b\u00f6l\u00fcm\u00fc vard\u0131r ve burada uyumlu Java s\u00fcr\u00fcmleri belirtilir. \u00d6rne\u011fin, Tomcat 9 veya 10 genellikle Java 8 veya daha yeni s\u00fcr\u00fcmlerle \u00e7al\u0131\u015f\u0131rken, Tomcat 10.1 veya 11 genellikle Java 11 veya daha yeni s\u00fcr\u00fcmleri gerektirir. Bu rehber i\u00e7in, Java 17 ile uyumlu olan en son Tomcat s\u00fcr\u00fcm\u00fcn\u00fc (\u00f6rne\u011fin Tomcat 10.1.x) kullanaca\u011f\u0131z.<\/p>\n<p><strong>Tomcat Binary Da\u011f\u0131t\u0131m\u0131n\u0131 \u0130ndirme:<\/strong><br \/>\nTomcat&#8217;i kurman\u0131n en yayg\u0131n yolu, ikili da\u011f\u0131t\u0131m\u0131n\u0131 (binary distribution) indirip manuel olarak yap\u0131land\u0131rmakt\u0131r. Bu, size kurulum \u00fczerinde daha fazla kontrol sa\u011flar.<\/p>\n<p>\u00d6ncelikle, Tomcat&#8217;in resmi indirme sayfas\u0131ndan (tomcat.apache.org\/download-X.cgi, X s\u00fcr\u00fcm numaras\u0131d\u0131r) en son kararl\u0131 s\u00fcr\u00fcm\u00fcn <code>.tar.gz<\/code> dosyas\u0131n\u0131n ba\u011flant\u0131s\u0131n\u0131 kopyalay\u0131n.<\/p>\n<p>Sunucunuzda, ge\u00e7ici bir dizine ge\u00e7in ve <code>wget<\/code> komutunu kullanarak dosyay\u0131 indirin:<\/p>\n<pre><code class=\"language-bash\">cd \/tmp\nwget https:\/\/downloads.apache.org\/tomcat\/tomcat-10\/v10.1.20\/bin\/apache-tomcat-10.1.20.tar.gz<\/code><\/pre>\n<p>Yukar\u0131daki URL, Tomcat 10.1.20 s\u00fcr\u00fcm\u00fc i\u00e7in bir \u00f6rnektir. Kendi se\u00e7ti\u011finiz s\u00fcr\u00fcm\u00fcn g\u00fcncel URL&#8217;sini kulland\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<p><strong>\u0130ste\u011fe Ba\u011fl\u0131: \u0130ndirilen Dosyan\u0131n B\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc Do\u011frulama:<\/strong><br \/>\n\u0130ndirilen dosyan\u0131n bozuk olmad\u0131\u011f\u0131ndan veya \u00fczerinde oynanmad\u0131\u011f\u0131ndan emin olmak i\u00e7in SHA512 veya MD5 sa\u011flama toplam\u0131n\u0131 (checksum) do\u011frulayabilirsiniz. \u0130ndirme sayfas\u0131nda genellikle bu sa\u011flama toplamlar\u0131 bulunur.<\/p>\n<pre><code class=\"language-bash\">sha512sum apache-tomcat-10.1.20.tar.gz<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131n\u0131, Tomcat indirme sayfas\u0131ndaki SHA512 de\u011feriyle kar\u015f\u0131la\u015ft\u0131r\u0131n. E\u015fle\u015fmeleri durumunda dosya b\u00fct\u00fcnl\u00fc\u011f\u00fc sa\u011flanm\u0131\u015ft\u0131r.<\/p>\n<h2>Tomcat Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h2>\n<p>\u0130ndirme i\u015flemi tamamland\u0131ktan sonra, Tomcat dosyalar\u0131n\u0131 uygun bir konuma \u00e7\u0131kar\u0131p gerekli izinleri ve yap\u0131land\u0131rmalar\u0131 ayarlayaca\u011f\u0131z.<\/p>\n<h3>Tomcat Kullan\u0131c\u0131s\u0131 Olu\u015fturma<\/h3>\n<p>G\u00fcvenlik a\u00e7\u0131s\u0131ndan, Tomcat&#8217;i <code>root<\/code> kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131rmak yerine, \u00f6zel bir <code>tomcat<\/code> kullan\u0131c\u0131s\u0131 ve grubu alt\u0131nda \u00e7al\u0131\u015ft\u0131rmak en iyi uygulamad\u0131r. Bu, Tomcat uygulamas\u0131n\u0131n sistemde sahip oldu\u011fu yetkileri s\u0131n\u0131rlar ve potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n etkisini azalt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo groupadd tomcat\nsudo useradd -s \/bin\/false -g tomcat -d \/opt\/tomcat tomcat<\/code><\/pre>\n<p>Bu komutlar, <code>tomcat<\/code> ad\u0131nda bir grup olu\u015fturur ve ard\u0131ndan <code>\/opt\/tomcat<\/code> ana dizini olan, <code>\/bin\/false<\/code> ile kabuk eri\u015fimi olmayan ve <code>tomcat<\/code> grubuna ait bir <code>tomcat<\/code> kullan\u0131c\u0131s\u0131 olu\u015fturur.<\/p>\n<h3>Dosyalar\u0131 \u00c7\u0131karma ve Ta\u015f\u0131ma<\/h3>\n<p>\u0130ndirdi\u011finiz <code>.tar.gz<\/code> dosyas\u0131n\u0131 <code>\/opt<\/code> dizinine ta\u015f\u0131y\u0131n ve \u00e7\u0131kar\u0131n. <code>\/opt<\/code> dizini, genellikle iste\u011fe ba\u011fl\u0131 yaz\u0131l\u0131m paketleri i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo mkdir \/opt\/tomcat\nsudo tar -xzf \/tmp\/apache-tomcat-10.1.20.tar.gz -C \/opt\/tomcat --strip-components=1<\/code><\/pre>\n<p>Bu komut, <code>\/tmp<\/code> dizinindeki s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyay\u0131 <code>\/opt\/tomcat<\/code> dizinine \u00e7\u0131kar\u0131r ve <code>--strip-components=1<\/code> parametresi, s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyan\u0131n i\u00e7indeki \u00fcst d\u00fczey dizini (\u00f6rn. <code>apache-tomcat-10.1.20<\/code>) kald\u0131rarak i\u00e7eri\u011fi do\u011frudan <code>\/opt\/tomcat<\/code> alt\u0131na yerle\u015ftirir.<\/p>\n<h3>Dosya \u0130zinlerini Ayarlama<\/h3>\n<p>Tomcat&#8217;in do\u011fru bir \u015fekilde \u00e7al\u0131\u015fabilmesi i\u00e7in, <code>tomcat<\/code> kullan\u0131c\u0131s\u0131n\u0131n Tomcat kurulum dizinine gerekli okuma, yazma ve \u00e7al\u0131\u015ft\u0131rma izinlerine sahip olmas\u0131 gerekir.<\/p>\n<p>\u00d6ncelikle, <code>\/opt\/tomcat<\/code> dizininin sahipli\u011fini <code>tomcat<\/code> kullan\u0131c\u0131s\u0131 ve grubuna atay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo chown -R tomcat:tomcat \/opt\/tomcat<\/code><\/pre>\n<p>Ard\u0131ndan, <code>conf<\/code> dizinine (yap\u0131land\u0131rma dosyalar\u0131n\u0131 i\u00e7erir) ve <code>webapps<\/code>, <code>work<\/code>, <code>temp<\/code>, <code>logs<\/code> dizinlerine (Tomcat&#8217;in \u00e7al\u0131\u015f\u0131rken yazma ihtiyac\u0131 duydu\u011fu yerler) <code>tomcat<\/code> kullan\u0131c\u0131s\u0131n\u0131n yazma izinleri olmal\u0131d\u0131r. <code>bin<\/code> dizinine \u00e7al\u0131\u015ft\u0131rma izinleri verilmelidir.<\/p>\n<pre><code class=\"language-bash\">sudo chmod -R u+rwx \/opt\/tomcat\/conf\nsudo chmod -R u+r \/opt\/tomcat\/webapps \/opt\/tomcat\/work \/opt\/tomcat\/temp \/opt\/tomcat\/logs\nsudo chmod -R u+x \/opt\/tomcat\/bin<\/code><\/pre>\n<p><strong>Not:<\/strong> Bu izin ayarlar\u0131, g\u00fcvenlik a\u00e7\u0131s\u0131ndan en iyi uygulamalar\u0131 takip eder. <code>tomcat<\/code> kullan\u0131c\u0131s\u0131na gere\u011finden fazla yetki vermekten ka\u00e7\u0131n\u0131r\u0131z.<\/p>\n<h2>Tomcat&#8217;i Bir Sistem Servisi Olarak Yap\u0131land\u0131rma<\/h2>\n<p>Tomcat&#8217;i manuel olarak ba\u015flat\u0131p durdurmak yerine, <code>systemd<\/code> kullanarak bir sistem servisi olarak yap\u0131land\u0131rmak, sunucu yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 ve <code>systemctl<\/code> komutlar\u0131 ile kolayca y\u00f6netilmesini sa\u011flar.<\/p>\n<h3>Systemd Servis Dosyas\u0131 Olu\u015fturma<\/h3>\n<p><code>\/etc\/systemd\/system\/<\/code> dizininde <code>tomcat.service<\/code> ad\u0131nda bir dosya olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/systemd\/system\/tomcat.service<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-ini\">[Unit]\nDescription=Apache Tomcat Web Application Container\nAfter=network.target\n\n[Service]\nType=forking\nUser=tomcat\nGroup=tomcat\nEnvironment=\"JAVA_HOME=\/usr\/lib\/jvm\/java-17-openjdk-amd64\" # Kendi JAVA_HOME yolunuzu buraya yaz\u0131n\nEnvironment=\"CATALINA_PID=\/opt\/tomcat\/tomcat.pid\"\nEnvironment=\"CATALINA_HOME=\/opt\/tomcat\"\nEnvironment=\"CATALINA_BASE=\/opt\/tomcat\"\nExecStart=\/opt\/tomcat\/bin\/startup.sh\nExecStop=\/opt\/tomcat\/bin\/shutdown.sh\nRestartSec=10\nRestart=always\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p><strong>\u00d6nemli:<\/strong> <code>Environment=\"JAVA_HOME=\/usr\/lib\/jvm\/java-17-openjdk-amd64\"<\/code> sat\u0131r\u0131ndaki Java yolunu, daha \u00f6nce ayarlad\u0131\u011f\u0131n\u0131z <code>JAVA_HOME<\/code> yoluyla de\u011fi\u015ftirdi\u011finizden emin olun.<\/p>\n<p>Dosyay\u0131 kaydedin (Ctrl+O, Enter, Ctrl+X).<\/p>\n<h3>Servisi Yeniden Y\u00fckleme ve Ba\u015flatma<\/h3>\n<p><code>systemd<\/code>&#8216;nin yeni servisi tan\u0131mas\u0131 i\u00e7in daemon&#8217;u yeniden y\u00fckleyin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload<\/code><\/pre>\n<p>Tomcat servisini ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start tomcat<\/code><\/pre>\n<p>Sunucu her a\u00e7\u0131ld\u0131\u011f\u0131nda Tomcat&#8217;in otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in servisi etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable tomcat<\/code><\/pre>\n<p>Servisin durumunu kontrol ederek do\u011fru bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status tomcat<\/code><\/pre>\n<p>Durum \u00e7\u0131kt\u0131s\u0131nda &#8220;active (running)&#8221; ifadesini g\u00f6rmelisiniz.<\/p>\n<h2>Tomcat Y\u00f6netici Aray\u00fcz\u00fcn\u00fc Yap\u0131land\u0131rma<\/h2>\n<p>Tomcat, web tabanl\u0131 bir y\u00f6netici aray\u00fcz\u00fc (Manager App) ve host y\u00f6neticisi aray\u00fcz\u00fc (Host Manager App) ile birlikte gelir. Bu aray\u00fczler, web uygulamalar\u0131n\u0131 da\u011f\u0131tmak, durdurmak, ba\u015flatmak ve sanal hostlar\u0131 y\u00f6netmek i\u00e7in kullan\u0131l\u0131r. Varsay\u0131lan olarak, bu aray\u00fczlere eri\u015fim k\u0131s\u0131tl\u0131d\u0131r.<\/p>\n<h3><code>tomcat-users.xml<\/code> Dosyas\u0131n\u0131 D\u00fczenleme<\/h3>\n<p>Y\u00f6netici aray\u00fczlerine eri\u015fmek i\u00e7in kullan\u0131c\u0131 adlar\u0131 ve parolalar tan\u0131mlaman\u0131z gerekir. Bu bilgiler <code>\/opt\/tomcat\/conf\/tomcat-users.xml<\/code> dosyas\u0131nda saklan\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/opt\/tomcat\/conf\/tomcat-users.xml<\/code><\/pre>\n<p><code><tomcat-users><\/code> etiketleri aras\u0131na a\u015fa\u011f\u0131daki kullan\u0131c\u0131lar\u0131 ve rolleri ekleyin. G\u00fc\u00e7l\u00fc bir parola kulland\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<pre><code class=\"language-xml\"><role rolename=\"manager-gui\"\/>\n<role rolename=\"admin-gui\"\/>\n<user username=\"admin\" password=\"YOUR_STRONG_PASSWORD\" roles=\"manager-gui,admin-gui\"\/><\/code><\/pre>\n<p>Burada, <code>admin<\/code> kullan\u0131c\u0131 ad\u0131 ve <code>YOUR_STRONG_PASSWORD<\/code> parolas\u0131 ile hem <code>manager-gui<\/code> hem de <code>admin-gui<\/code> rollerine sahip bir kullan\u0131c\u0131 tan\u0131mlad\u0131k. <code>manager-gui<\/code> rol\u00fc, Manager uygulamas\u0131na eri\u015fim sa\u011flarken, <code>admin-gui<\/code> rol\u00fc Host Manager uygulamas\u0131na eri\u015fim sa\u011flar.<\/p>\n<p>Dosyay\u0131 kaydedin ve Tomcat servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart tomcat<\/code><\/pre>\n<h3>Y\u00f6netici Aray\u00fcz\u00fc Eri\u015fimi K\u0131s\u0131tlamas\u0131n\u0131 Kald\u0131rma (Geli\u015ftirme Ortam\u0131 \u0130\u00e7in!)<\/h3>\n<p>Varsay\u0131lan olarak, Manager ve Host Manager uygulamalar\u0131na yaln\u0131zca localhost&#8217;tan eri\u015fime izin verilir. Bu, g\u00fcvenlik i\u00e7in iyi bir uygulamad\u0131r ancak uzaktan eri\u015fim sa\u011flamak istedi\u011finizde k\u0131s\u0131tlama olu\u015fturur. <strong>\u00dcretim ortamlar\u0131nda bu k\u0131s\u0131tlamay\u0131 kald\u0131rmak g\u00fcvenlik riski ta\u015f\u0131r ve \u00f6nerilmez.<\/strong> Yaln\u0131zca geli\u015ftirme veya test ortamlar\u0131nda kullan\u0131n ve eri\u015fimi IP adresi baz\u0131nda k\u0131s\u0131tlamay\u0131 d\u00fc\u015f\u00fcn\u00fcn.<\/p>\n<p>K\u0131s\u0131tlamay\u0131 kald\u0131rmak i\u00e7in, ilgili <code>context.xml<\/code> dosyalar\u0131n\u0131 d\u00fczenlemeniz gerekir:<\/p>\n<p><strong>Manager App i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo nano \/opt\/tomcat\/webapps\/manager\/META-INF\/context.xml<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki <code><Valve><\/code> etiketini bulun ve yorum sat\u0131r\u0131 haline getirin:<\/p>\n<pre><code class=\"language-xml\"><!--\n<Valve className=\"org.apache.catalina.valves.RemoteAddrValve\"\n       allow=\"127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1\" \/>\n--><\/code><\/pre>\n<p><strong>Host Manager App i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo nano \/opt\/tomcat\/webapps\/host-manager\/META-INF\/context.xml<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki <code><Valve><\/code> etiketini bulun ve yorum sat\u0131r\u0131 haline getirin:<\/p>\n<pre><code class=\"language-xml\"><!--\n<Valve className=\"org.apache.catalina.valves.RemoteAddrValve\"\n       allow=\"127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1\" \/>\n--><\/code><\/pre>\n<p>Her iki dosyay\u0131 da kaydedip Tomcat&#8217;i yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart tomcat<\/code><\/pre>\n<p><strong>UYARI:<\/strong> Bu de\u011fi\u015fiklik, Manager ve Host Manager aray\u00fczlerini internet \u00fczerinden eri\u015filebilir hale getirir. Bu, sunucunuzun g\u00fcvenli\u011fi i\u00e7in ciddi bir risk olu\u015fturabilir. \u00dcretim ortamlar\u0131nda bu aray\u00fczlere eri\u015fimi yaln\u0131zca belirli g\u00fcvenli IP adresleriyle s\u0131n\u0131rlamak veya tamamen devre d\u0131\u015f\u0131 b\u0131rakmak \u015fiddetle tavsiye edilir.<\/p>\n<h2>Tomcat Eri\u015fimi ve Test Etme<\/h2>\n<p>Tomcat&#8217;in kurulumunu ve temel yap\u0131land\u0131rmas\u0131n\u0131 tamamlad\u0131k. \u015eimdi, web taray\u0131c\u0131n\u0131zdan eri\u015fip \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulayal\u0131m.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Tomcat varsay\u0131lan olarak 8080 portunda \u00e7al\u0131\u015f\u0131r. Sunucunuzda bir g\u00fcvenlik duvar\u0131 (firewall) etkinse, bu porta d\u0131\u015far\u0131dan eri\u015fime izin vermeniz gerekir.<\/p>\n<p><strong>UFW (Uncomplicated Firewall) kullanan Ubuntu\/Debian i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 8080\/tcp\nsudo ufw enable # E\u011fer etkin de\u011filse\nsudo ufw status<\/code><\/pre>\n<p><strong>Firewalld kullanan CentOS\/RHEL i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo firewall-cmd --permanent --add-port=8080\/tcp\nsudo firewall-cmd --reload\nsudo firewall-cmd --list-all<\/code><\/pre>\n<h3>Taray\u0131c\u0131dan Eri\u015fim<\/h3>\n<p>Web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini veya alan ad\u0131n\u0131 8080 portuyla birlikte girin:<br \/>\n<code>http:\/\/your_server_ip_or_domain:8080<\/code><\/p>\n<p>Tomcat&#8217;in varsay\u0131lan &#8220;It works!&#8221; kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<p>*   Manager App&#8217;e eri\u015fmek i\u00e7in: <code>http:\/\/your_server_ip_or_domain:8080\/manager\/html<\/code><br \/>\n*   Host Manager App&#8217;e eri\u015fmek i\u00e7in: <code>http:\/\/your_server_ip_or_domain:8080\/host-manager\/html<\/code><\/p>\n<p>Daha \u00f6nce <code>tomcat-users.xml<\/code> dosyas\u0131nda tan\u0131mlad\u0131\u011f\u0131n\u0131z kullan\u0131c\u0131 ad\u0131 ve parola ile giri\u015f yapmal\u0131s\u0131n\u0131z.<\/p>\n<h2>Yayg\u0131n Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h2>\n<p>Tomcat kurulumu s\u0131ras\u0131nda veya sonras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve bunlar\u0131n \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>*   <strong>Tomcat Ba\u015flam\u0131yor:<\/strong><br \/>\n    *   <strong>Log Dosyalar\u0131n\u0131 Kontrol Edin:<\/strong> Tomcat&#8217;in log dosyalar\u0131 (<code>\/opt\/tomcat\/logs\/catalina.out<\/code> ve di\u011fer <code>.log<\/code> dosyalar\u0131) genellikle sorunun k\u00f6kenini g\u00f6sterir. <code>tail -f \/opt\/tomcat\/logs\/catalina.out<\/code> komutuyla loglar\u0131 canl\u0131 olarak izleyebilirsiniz.<br \/>\n    *   <strong>JAVA_HOME Ayar\u0131:<\/strong> <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkeninin do\u011fru ayarland\u0131\u011f\u0131ndan ve i\u015faret etti\u011fi yolun ge\u00e7erli bir JDK kurulumu oldu\u011fundan emin olun. <code>systemd<\/code> servis dosyas\u0131nda da do\u011fru ayarland\u0131\u011f\u0131n\u0131 kontrol edin.<br \/>\n    <em>   <strong>\u0130zin Sorunlar\u0131:<\/strong> <code>\/opt\/tomcat<\/code> dizinindeki dosya ve dizin izinlerinin <code>tomcat<\/code> kullan\u0131c\u0131s\u0131 i\u00e7in do\u011fru ayarland\u0131\u011f\u0131ndan emin olun. \u00d6zellikle <code>bin\/<\/em>.sh<\/code> dosyalar\u0131n\u0131n \u00e7al\u0131\u015ft\u0131rma izni (<code>u+x<\/code>) olmal\u0131d\u0131r.<br \/>\n    *   <strong>Port \u00c7ak\u0131\u015fmalar\u0131:<\/strong> Tomcat&#8217;in varsay\u0131lan 8080 portunun ba\u015fka bir uygulama taraf\u0131ndan kullan\u0131l\u0131p kullan\u0131lmad\u0131\u011f\u0131n\u0131 kontrol edin. <code>sudo netstat -tulnp | grep 8080<\/code> komutuyla kontrol edebilirsiniz.<br \/>\n*   <strong>Web Taray\u0131c\u0131s\u0131ndan Eri\u015fim Yok:<\/strong><br \/>\n    *   <strong>G\u00fcvenlik Duvar\u0131:<\/strong> 8080 portunun g\u00fcvenlik duvar\u0131 taraf\u0131ndan engellenmedi\u011finden emin olun.<br \/>\n    *   <strong>Tomcat \u00c7al\u0131\u015f\u0131yor mu?:<\/strong> <code>sudo systemctl status tomcat<\/code> komutuyla Tomcat servisinin aktif ve \u00e7al\u0131\u015f\u0131r durumda oldu\u011funu do\u011frulay\u0131n.<br \/>\n    *   <strong>A\u011f Ba\u011flant\u0131s\u0131:<\/strong> Sunucuya a\u011f eri\u015fiminizin oldu\u011fundan emin olun.<br \/>\n*   <strong>Manager\/Host Manager Aray\u00fcz\u00fcne Giri\u015f Yap\u0131lam\u0131yor:<\/strong><br \/>\n    *   <strong><code>tomcat-users.xml<\/code> Kontrol\u00fc:<\/strong> Kullan\u0131c\u0131 ad\u0131, parola ve rol tan\u0131mlar\u0131n\u0131n do\u011fru oldu\u011fundan emin olun. \u00d6zellikle <code>manager-gui<\/code> ve <code>admin-gui<\/code> rollerinin kullan\u0131c\u0131ya atand\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   <strong><code>context.xml<\/code> K\u0131s\u0131tlamas\u0131:<\/strong> E\u011fer uzaktan eri\u015fmeye \u00e7al\u0131\u015f\u0131yorsan\u0131z, <code>webapps\/manager\/META-INF\/context.xml<\/code> ve <code>webapps\/host-manager\/META-INF\/context.xml<\/code> dosyalar\u0131ndaki <code>RemoteAddrValve<\/code> k\u0131s\u0131tlamas\u0131n\u0131n kald\u0131r\u0131ld\u0131\u011f\u0131ndan (yorum sat\u0131r\u0131 yap\u0131ld\u0131\u011f\u0131ndan) emin olun.<\/p>\n<h2>Tomcat Performans Optimizasyonu<\/h2>\n<p>\u00dcretim ortamlar\u0131nda Tomcat&#8217;in performans\u0131n\u0131 art\u0131rmak i\u00e7in baz\u0131 temel optimizasyonlar yap\u0131labilir.<\/p>\n<h3>JVM Bellek Ayarlar\u0131<\/h3>\n<p>Tomcat&#8217;in performans\u0131n\u0131 en \u00e7ok etkileyen fakt\u00f6rlerden biri, Java Sanal Makinesi (JVM) i\u00e7in ayr\u0131lan bellek miktar\u0131d\u0131r. Bu ayarlar, <code>CATALINA_OPTS<\/code> ortam de\u011fi\u015fkeni arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r. Bu de\u011fi\u015fkeni <code>\/opt\/tomcat\/bin\/setenv.sh<\/code> ad\u0131nda bir dosya olu\u015fturarak ayarlayabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/opt\/tomcat\/bin\/setenv.sh<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin (sunucunuzun RAM&#8217;ine g\u00f6re de\u011ferleri ayarlay\u0131n):<\/p>\n<pre><code class=\"language-bash\">export CATALINA_OPTS=\"-Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m\"<\/code><\/pre>\n<p>*   <code>-Xms512m<\/code>: JVM&#8217;nin ba\u015flang\u0131\u00e7ta kullanaca\u011f\u0131 minimum heap belle\u011fi (512 MB).<br \/>\n*   <code>-Xmx1024m<\/code>: JVM&#8217;nin kullanabilece\u011fi maksimum heap belle\u011fi (1024 MB).<br \/>\n*   <code>-XX:MaxMetaspaceSize=256m<\/code>: Metaspace i\u00e7in ayr\u0131lacak maksimum bellek (Java 8 ve sonras\u0131 i\u00e7in). Java 7 ve \u00f6ncesi i\u00e7in <code>-XX:MaxPermSize<\/code> kullan\u0131l\u0131rd\u0131.<\/p>\n<p>Dosyay\u0131 kaydedin ve Tomcat&#8217;i yeniden ba\u015flat\u0131n.<\/p>\n<h3>Konekt\u00f6r Yap\u0131land\u0131rmas\u0131<\/h3>\n<p><code>server.xml<\/code> dosyas\u0131ndaki konekt\u00f6r ayarlar\u0131, Tomcat&#8217;in gelen ba\u011flant\u0131lar\u0131 nas\u0131l i\u015fledi\u011fini belirler. <code>\/opt\/tomcat\/conf\/server.xml<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek performans ayarlar\u0131n\u0131 yapabilirsiniz.<\/p>\n<p>HTTP\/1.1 konekt\u00f6r\u00fc i\u00e7in (genellikle 8080 portunda):<\/p>\n<pre><code class=\"language-xml\"><Connector port=\"8080\" protocol=\"HTTP\/1.1\"\n           connectionTimeout=\"20000\"\n           redirectPort=\"8443\"\n           maxThreads=\"200\"\n           minSpareThreads=\"25\"\n           acceptCount=\"100\"\n           URIEncoding=\"UTF-8\" \/><\/code><\/pre>\n<p>*   <code>maxThreads<\/code>: Ayn\u0131 anda i\u015fleyebilece\u011fi maksimum istek say\u0131s\u0131. Y\u00fcksek trafikli siteler i\u00e7in art\u0131r\u0131labilir.<br \/>\n*   <code>minSpareThreads<\/code>: Bo\u015fta bekleyen minimum i\u015f par\u00e7ac\u0131\u011f\u0131 say\u0131s\u0131.<br \/>\n*   <code>acceptCount<\/code>: T\u00fcm i\u015f par\u00e7ac\u0131klar\u0131 me\u015fgulken bekleyebilecek maksimum ba\u011flant\u0131 say\u0131s\u0131.<br \/>\n*   <code>connectionTimeout<\/code>: Ba\u011flant\u0131n\u0131n zaman a\u015f\u0131m\u0131na u\u011framadan \u00f6nce ne kadar s\u00fcre bekleyece\u011fi.<br \/>\n*   <code>URIEncoding<\/code>: URL&#8217;lerdeki karakter kodlamas\u0131.<\/p>\n<p>De\u011fi\u015fikliklerden sonra Tomcat&#8217;i yeniden ba\u015flatmay\u0131 unutmay\u0131n.<\/p>\n<h2>Tomcat G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h2>\n<p>G\u00fcvenli bir Tomcat kurulumu, potansiyel sald\u0131r\u0131lara kar\u015f\u0131 korunmak i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<p>*   <strong>Varsay\u0131lan Uygulamalar\u0131 Kald\u0131rma:<\/strong> \u00dcretim ortam\u0131nda, <code>webapps<\/code> dizinindeki <code>docs<\/code>, <code>examples<\/code>, <code>host-manager<\/code> ve <code>manager<\/code> gibi varsay\u0131lan uygulamalar\u0131 kald\u0131r\u0131n veya eri\u015fimlerini k\u0131s\u0131tlay\u0131n. Bu uygulamalar, potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131 i\u00e7erebilir veya gereksiz yere bilgi s\u0131zd\u0131rabilir.<\/p>\n<pre><code class=\"language-bash\">sudo rm -rf \/opt\/tomcat\/webapps\/docs\n    sudo rm -rf \/opt\/tomcat\/webapps\/examples\n    # Manager ve host-manager uygulamalar\u0131n\u0131 sadece ihtiya\u00e7 duydu\u011funuzda tutun ve eri\u015fimini k\u0131s\u0131tlay\u0131n.<\/code><\/pre>\n<p>*   <strong>Y\u00f6netici Aray\u00fcz\u00fcn\u00fc K\u0131s\u0131tlama:<\/strong> Manager ve Host Manager aray\u00fczlerine eri\u015fimi yaln\u0131zca belirli g\u00fcvenli IP adreslerinden k\u0131s\u0131tlay\u0131n. Bunun i\u00e7in <code>context.xml<\/code> dosyalar\u0131ndaki <code>RemoteAddrValve<\/code> yap\u0131land\u0131rmas\u0131n\u0131 kullan\u0131n. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-xml\"><Valve className=\"org.apache.catalina.valves.RemoteAddrValve\"\n           allow=\"127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1|YOUR_ADMIN_IP_ADDRESS\" \/><\/code><\/pre>\n<p>*   <strong>SSL\/TLS Yap\u0131land\u0131rmas\u0131:<\/strong> Hassas verileri iletirken HTTP yerine HTTPS kullanmak i\u00e7in Tomcat&#8217;i SSL\/TLS ile yap\u0131land\u0131r\u0131n. Bu, <code>server.xml<\/code> dosyas\u0131nda bir SSL konekt\u00f6r\u00fc tan\u0131mlayarak ve bir sertifika sa\u011flayarak yap\u0131l\u0131r. Let&#8217;s Encrypt gibi \u00fccretsiz sertifika sa\u011flay\u0131c\u0131lar\u0131 kullan\u0131labilir.<br \/>\n*   <strong>G\u00fcvenlik G\u00fcncellemeleri:<\/strong> Apache Tomcat&#8217;in ve Java&#8217;n\u0131n d\u00fczenli olarak g\u00fcvenlik g\u00fcncellemelerini takip edin ve sunucunuzu g\u00fcncel tutun.<br \/>\n*   <strong>Tomcat Kullan\u0131c\u0131s\u0131n\u0131n Yetkilerini K\u0131s\u0131tlama:<\/strong> Tomcat&#8217;i \u00f6zel bir kullan\u0131c\u0131 (<code>tomcat<\/code>) alt\u0131nda \u00e7al\u0131\u015ft\u0131rmak, g\u00fcvenlik i\u00e7in \u00f6nemli bir ad\u0131md\u0131r. Bu kullan\u0131c\u0131n\u0131n yaln\u0131zca Tomcat&#8217;in \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olan dosyalara eri\u015fim yetkisi oldu\u011fundan emin olun.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu kapsaml\u0131 rehberde, Linux i\u015fletim sistemi \u00fczerine Apache Tomcat&#8217;in kurulumunu, yap\u0131land\u0131rmas\u0131n\u0131 ve temel optimizasyonlar\u0131n\u0131 ad\u0131m ad\u0131m ele ald\u0131k. Java Development Kit (JDK) kurulumundan ba\u015flayarak, Tomcat&#8217;i g\u00fcvenli bir kullan\u0131c\u0131 alt\u0131nda kurmaya, bir sistem servisi olarak yap\u0131land\u0131rmaya ve y\u00f6netici aray\u00fczlerini ayarlamaya kadar t\u00fcm s\u00fcre\u00e7leri detayl\u0131 bir \u015fekilde inceledik. Ayr\u0131ca, yayg\u0131n sorun giderme y\u00f6ntemleri, performans optimizasyon ipu\u00e7lar\u0131 ve g\u00fcvenlik \u00f6nerileri sunarak, Tomcat ortam\u0131n\u0131z\u0131 daha sa\u011flam ve verimli hale getirmenize yard\u0131mc\u0131 olmay\u0131 ama\u00e7lad\u0131k.<\/p>\n<p>Art\u0131k sunucunuzda \u00e7al\u0131\u015fan, yap\u0131land\u0131r\u0131lm\u0131\u015f ve temel g\u00fcvenlik \u00f6nlemleri al\u0131nm\u0131\u015f bir Apache Tomcat \u00f6rne\u011fine sahipsiniz. Bu noktadan sonra, kendi web uygulamalar\u0131n\u0131z\u0131 da\u011f\u0131tabilir, daha geli\u015fmi\u015f yap\u0131land\u0131rmalar (\u00f6rne\u011fin, Nginx veya Apache HTTP sunucusu ile ters proxy entegrasyonu) yapabilir ve Tomcat&#8217;in sundu\u011fu t\u00fcm olanaklardan faydalanmaya ba\u015flayabilirsiniz. Unutmay\u0131n, herhangi bir \u00fcretim ortam\u0131nda g\u00fcvenlik ve performans optimizasyonu s\u00fcrekli bir s\u00fcre\u00e7tir ve d\u00fczenli bak\u0131m gerektirir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber\nGiri\u015f\nG\u00fcn\u00fcm\u00fcz\u00fcn dinamik web uygulamalar\u0131 d\u00fcnyas\u0131nda, g\u00fcvenilir ve performansl\u0131","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-36117","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn dinamik web uygulamalar\u0131 d\u00fcnyas\u0131nda, g\u00fcvenilir ve performansl\u0131\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-08T11:40:47+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-12-08T11:40:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/\"},\"wordCount\":2876,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/\",\"name\":\"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-08T11:40:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber","og_description":"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn dinamik web uygulamalar\u0131 d\u00fcnyas\u0131nda, g\u00fcvenilir ve performansl\u0131","og_url":"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-08T11:40:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber","datePublished":"2025-12-08T11:40:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/"},"wordCount":2876,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/","name":"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-08T11:40:47+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/linux-uzerine-apache-tomcat-kurulumu-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Linux \u00dczerine Apache Tomcat Kurulumu: Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=36117"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36117\/revisions"}],"predecessor-version":[{"id":36118,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36117\/revisions\/36118"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}