{"id":40848,"date":"2026-03-01T18:40:48","date_gmt":"2026-03-01T15:40:48","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=40848"},"modified":"2026-03-01T18:40:48","modified_gmt":"2026-03-01T15:40:48","slug":"apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/","title":{"rendered":"Apache Tomcat 9&#8217;u Debian 10 \u00dczerine Kurulum Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Apache Tomcat 9&#8217;u Debian 10 \u00dczerine Kurulum Rehberi<\/h2>\n<h2>Giri\u015f<\/h2>\n<p>Apache Tomcat, Java tabanl\u0131 web uygulamalar\u0131n\u0131 bar\u0131nd\u0131rmak i\u00e7in yayg\u0131n olarak kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 bir web sunucusu ve servlet konteyneridir. Java Servlet, JavaServer Pages (JSP), Java Expression Language (EL) ve Java WebSocket teknolojilerini destekler. Genellikle &#8220;Tomcat&#8221; olarak an\u0131l\u0131r ve Java uygulamalar\u0131 i\u00e7in hafif, esnek ve performansl\u0131 bir \u00e7\u00f6z\u00fcm sunar. Debian 10 (Buster), kararl\u0131l\u0131\u011f\u0131 ve geni\u015f paket deste\u011fi ile bilinen pop\u00fcler bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Bu makale, Apache Tomcat 9&#8217;u Debian 10 sunucunuza ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ve y\u00f6netece\u011finizi detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r.<\/p>\n<p>Bu rehber, Tomcat&#8217;i manuel olarak indirip kurmay\u0131 tercih eden ve sistem \u00fczerinde daha fazla kontrol sahibi olmak isteyen kullan\u0131c\u0131lar i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu y\u00f6ntem, Tomcat&#8217;in en son stabil s\u00fcr\u00fcm\u00fcn\u00fc kullanman\u0131za ve kurulum dizinleri \u00fczerinde tam esneklik sa\u011flaman\u0131za olanak tan\u0131r. Kurulum s\u00fcreci, gerekli \u00f6n gereksinimlerin kar\u015f\u0131lanmas\u0131ndan, Tomcat servisinin systemd ile y\u00f6netilmesine ve temel g\u00fcvenlik ayarlar\u0131n\u0131n yap\u0131lmas\u0131na kadar t\u00fcm ad\u0131mlar\u0131 kapsayacakt\u0131r.<\/p>\n<h2>\u00d6n Gereksinimler<\/h2>\n<p>Tomcat 9 kurulumuna ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlerin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olman\u0131z gerekmektedir:<\/p>\n<p>*   <strong>Debian 10 Sunucusu:<\/strong> Temiz bir Debian 10 (Buster) kurulumu.<br \/>\n*   <strong>Sudo Yetkileri:<\/strong> Kurulumu ger\u00e7ekle\u015ftirecek kullan\u0131c\u0131n\u0131n <code>sudo<\/code> yetkilerine sahip olmas\u0131 gerekmektedir. Root kullan\u0131c\u0131s\u0131 olarak da i\u015flem yapabilirsiniz, ancak g\u00fcvenlik a\u00e7\u0131s\u0131ndan <code>sudo<\/code> kullanmak daha iyi bir yakla\u015f\u0131md\u0131r.<br \/>\n*   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Gerekli paketleri indirmek ve Tomcat ar\u015fivini \u00e7ekmek i\u00e7in aktif bir internet ba\u011flant\u0131s\u0131.<br \/>\n*   <strong>Minimum Donan\u0131m:<\/strong> Tomcat, genellikle \u00e7ok fazla kaynak t\u00fcketmez, ancak \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z uygulamalar\u0131n gereksinimlerine ba\u011fl\u0131 olarak yeterli CPU, RAM ve disk alan\u0131na sahip olman\u0131z \u00f6nemlidir. Genel bir kural olarak, en az 1GB RAM ve 2 CPU \u00e7ekirde\u011fi \u00f6nerilir.<\/p>\n<p>Bu \u00f6n gereksinimler sa\u011fland\u0131\u011f\u0131nda, Tomcat kurulumuna sorunsuz bir \u015fekilde devam edebilirsiniz.<\/p>\n<h2>Sistemi G\u00fcncelleme<\/h2>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumuna ba\u015flamadan \u00f6nce, sunucunuzdaki paket listelerini g\u00fcncellemek ve mevcut paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltmek iyi bir uygulamad\u0131r. Bu, potansiyel uyumluluk sorunlar\u0131n\u0131 \u00f6nler ve sisteminizin g\u00fcvenli\u011fini art\u0131r\u0131r.<\/p>\n<p>Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>*   <code>sudo apt update<\/code>: Bu komut, Debian paket y\u00f6neticisinin (APT) yerel paket indeksini g\u00fcncelleyerek, mevcut t\u00fcm paketlerin en son s\u00fcr\u00fcmleri hakk\u0131nda bilgi edinmesini sa\u011flar.<br \/>\n*   <code>sudo apt upgrade -y<\/code>: Bu komut, <code>update<\/code> ile edinilen bilgilere dayanarak, kurulu t\u00fcm paketleri mevcut en son s\u00fcr\u00fcmlerine y\u00fckseltir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 verilmesini sa\u011flar, b\u00f6ylece y\u00fckseltme i\u015flemi kesintisiz devam eder.<\/p>\n<p>Sisteminiz g\u00fcncellendikten sonra, bir sonraki ad\u0131ma, yani Java Geli\u015ftirme Kiti (JDK) kurulumuna ge\u00e7ebiliriz.<\/p>\n<h2>Java Geli\u015ftirme Kiti (JDK) Kurulumu<\/h2>\n<p>Apache Tomcat, Java ile yaz\u0131lm\u0131\u015f bir uygulama oldu\u011fundan, \u00e7al\u0131\u015fabilmesi i\u00e7in bir Java \u00c7al\u0131\u015fma Ortam\u0131na (JRE) veya daha iyisi bir Java Geli\u015ftirme Kitine (JDK) ihtiya\u00e7 duyar. JDK, JRE&#8217;nin t\u00fcm \u00f6zelliklerine ek olarak derleyici ve hata ay\u0131klay\u0131c\u0131 gibi geli\u015ftirme ara\u00e7lar\u0131n\u0131 da i\u00e7erir. Tomcat 9 i\u00e7in OpenJDK 8 veya OpenJDK 11 \u00f6nerilir. Bu rehberde OpenJDK 11&#8217;i kuraca\u011f\u0131z, \u00e7\u00fcnk\u00fc bu, Debian 10 i\u00e7in kararl\u0131 ve uzun s\u00fcre desteklenen bir s\u00fcr\u00fcmd\u00fcr.<\/p>\n<p>A\u015fa\u011f\u0131daki komutla OpenJDK 11&#8217;i kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install openjdk-11-jdk -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Java&#8217;n\u0131n do\u011fru bir \u015fekilde kurulup kurulmad\u0131\u011f\u0131n\u0131 ve varsay\u0131lan s\u00fcr\u00fcm\u00fcn\u00fc do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">java -version\njavac -version<\/code><\/pre>\n<p>Bu komutlar, kurulu Java ve Java derleyicisinin s\u00fcr\u00fcmlerini g\u00f6stermelidir. \u00c7\u0131kt\u0131da &#8220;OpenJDK Runtime Environment&#8221; ve &#8220;OpenJDK 64-Bit Server VM&#8221; gibi ifadeler g\u00f6rmelisiniz.<\/p>\n<h3>JAVA_HOME Ortam De\u011fi\u015fkenini Ayarlama<\/h3>\n<p>Tomcat ve di\u011fer baz\u0131 Java uygulamalar\u0131, Java kurulum dizinini bulmak i\u00e7in <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkenine ihtiya\u00e7 duyar. Bu de\u011fi\u015fkeni do\u011fru bir \u015fekilde ayarlamak \u00f6nemlidir.<\/p>\n<p>\u00d6ncelikle, Java&#8217;n\u0131n tam kurulum yolunu bulal\u0131m. Genellikle <code>update-alternatives<\/code> komutu ile bulunabilir:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --config java<\/code><\/pre>\n<p>Bu komut, sisteminizdeki y\u00fckl\u00fc Java s\u00fcr\u00fcmlerini listeleyecektir. OpenJDK 11 i\u00e7in yol genellikle <code>\/usr\/lib\/jvm\/java-11-openjdk-amd64<\/code> \u015feklinde olacakt\u0131r. Bu yolu not al\u0131n.<\/p>\n<p>\u015eimdi, <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkenini sistem genelinde ayarlayaca\u011f\u0131z. Bunun i\u00e7in <code>\/etc\/profile.d\/<\/code> dizininde yeni bir dosya olu\u015fturmak en iyi y\u00f6ntemdir. Bu, her kullan\u0131c\u0131 oturumu a\u00e7t\u0131\u011f\u0131nda bu de\u011fi\u015fkenin otomatik olarak ayarlanmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/profile.d\/set-java-home.sh<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin. <code>JAVA_HOME<\/code> yolunu kendi sisteminizdeki yolla de\u011fi\u015ftirmeyi unutmay\u0131n (genellikle yukar\u0131da belirtilen yoldur):<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/bash\nexport JAVA_HOME=\/usr\/lib\/jvm\/java-11-openjdk-amd64\nexport PATH=$PATH:$JAVA_HOME\/bin<\/code><\/pre>\n<p>Dosyay\u0131 kaydedin (Ctrl+O, Enter) ve kapat\u0131n (Ctrl+X).<\/p>\n<p>\u015eimdi, bu beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin:<\/p>\n<pre><code class=\"language-bash\">sudo chmod +x \/etc\/profile.d\/set-java-home.sh<\/code><\/pre>\n<p>Ortam de\u011fi\u015fkeninin etkinle\u015fmesi i\u00e7in oturumu kapat\u0131p tekrar a\u00e7man\u0131z veya a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">source \/etc\/profile.d\/set-java-home.sh<\/code><\/pre>\n<p><code>JAVA_HOME<\/code> de\u011fi\u015fkeninin do\u011fru ayarlan\u0131p ayarlanmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">echo $JAVA_HOME<\/code><\/pre>\n<p>Bu komut, az \u00f6nce ayarlad\u0131\u011f\u0131n\u0131z Java yolunu g\u00f6stermelidir.<\/p>\n<h2>Apache Tomcat 9 Kurulumu<\/h2>\n<p>Java ortam\u0131 haz\u0131r oldu\u011funa g\u00f6re, \u015fimdi Apache Tomcat 9&#8217;u indirip kurmaya ba\u015flayabiliriz. Tomcat&#8217;i do\u011frudan <code>\/opt<\/code> dizinine kuraca\u011f\u0131z, bu Linux standartlar\u0131na g\u00f6re iste\u011fe ba\u011fl\u0131 yaz\u0131l\u0131mlar i\u00e7in uygun bir yerdir.<\/p>\n<h3>Tomcat Kullan\u0131c\u0131s\u0131 Olu\u015fturma<\/h3>\n<p>G\u00fcvenlik a\u00e7\u0131s\u0131ndan, Tomcat&#8217;i root kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015ft\u0131rmak yerine, \u00f6zel bir <code>tomcat<\/code> kullan\u0131c\u0131s\u0131 olu\u015fturmak en iyi uygulamad\u0131r. Bu kullan\u0131c\u0131, yaln\u0131zca Tomcat&#8217;in ihtiya\u00e7 duydu\u011fu minimum izinlere sahip olacakt\u0131r.<\/p>\n<p>A\u015fa\u011f\u0131daki komutu kullanarak <code>tomcat<\/code> grubunu ve <code>tomcat<\/code> kullan\u0131c\u0131s\u0131n\u0131 olu\u015fturun. <code>-r<\/code> bayra\u011f\u0131 sistem kullan\u0131c\u0131s\u0131 oldu\u011funu belirtir, <code>-d \/opt\/tomcat<\/code> ana dizinini <code>\/opt\/tomcat<\/code> olarak ayarlar ve <code>-s \/bin\/false<\/code> kullan\u0131c\u0131n\u0131n kabuk eri\u015fimine sahip olmamas\u0131n\u0131 sa\u011flar (g\u00fcvenlik i\u00e7in):<\/p>\n<pre><code class=\"language-bash\">sudo groupadd tomcat\nsudo useradd -r -g tomcat -d \/opt\/tomcat -s \/bin\/false tomcat<\/code><\/pre>\n<h3>Tomcat Ar\u015fivini \u0130ndirme<\/h3>\n<p>Tomcat 9&#8217;un en son stabil s\u00fcr\u00fcm\u00fcn\u00fc Apache Tomcat&#8217;in resmi web sitesinden indirece\u011fiz. \u0130ndirme ba\u011flant\u0131s\u0131n\u0131 bulmak i\u00e7in Apache Tomcat 9 indirme sayfas\u0131na (\u00f6rne\u011fin <code>https:\/\/tomcat.apache.org\/download-90.cgi<\/code>) gidip &#8220;Binary Distributions&#8221; alt\u0131nda &#8220;Core&#8221; b\u00f6l\u00fcm\u00fcndeki &#8220;.tar.gz&#8221; ba\u011flant\u0131s\u0131n\u0131 kopyalayabilirsiniz.<\/p>\n<p>Bu makalenin yaz\u0131ld\u0131\u011f\u0131 tarihte Tomcat 9&#8217;un en son s\u00fcr\u00fcm\u00fc 9.0.83 idi. G\u00fcncel s\u00fcr\u00fcm\u00fc kontrol etmek i\u00e7in resmi siteye bakman\u0131z \u00f6nemlidir.<\/p>\n<p>A\u015fa\u011f\u0131daki komutu kullanarak Tomcat ar\u015fivini <code>\/tmp<\/code> dizinine indirin:<\/p>\n<pre><code class=\"language-bash\">cd \/tmp\nwget https:\/\/downloads.apache.org\/tomcat\/tomcat-9\/v9.0.83\/bin\/apache-tomcat-9.0.83.tar.gz<\/code><\/pre>\n<p><em>Not: <code>v9.0.83<\/code> ve <code>apache-tomcat-9.0.83.tar.gz<\/code> k\u0131sm\u0131n\u0131 indirdi\u011finiz g\u00fcncel s\u00fcr\u00fcme g\u00f6re de\u011fi\u015ftirmeniz gerekebilir.<\/em><\/p>\n<h3>Tomcat Ar\u015fivini \u00c7\u0131kartma<\/h3>\n<p>\u0130ndirilen ar\u015fivi <code>\/opt\/tomcat<\/code> dizinine \u00e7\u0131karaca\u011f\u0131z. \u00d6nce <code>\/opt\/tomcat<\/code> dizinini olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir \/opt\/tomcat<\/code><\/pre>\n<p>\u015eimdi ar\u015fivi \u00e7\u0131kar\u0131n ve i\u00e7eri\u011fini <code>\/opt\/tomcat<\/code> dizinine ta\u015f\u0131y\u0131n. <code>tar<\/code> komutu ile s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyay\u0131 a\u00e7abiliriz:<\/p>\n<pre><code class=\"language-bash\">sudo tar -xf apache-tomcat-9.0.83.tar.gz -C \/opt\/tomcat<\/code><\/pre>\n<p>\u00c7\u0131kartma i\u015flemi tamamland\u0131ktan sonra, Tomcat&#8217;in s\u00fcr\u00fcm ba\u011f\u0131ms\u0131z bir sembolik ba\u011flant\u0131s\u0131n\u0131 olu\u015fturmak iyi bir uygulamad\u0131r. Bu, gelecekte Tomcat&#8217;i y\u00fckseltirken veya farkl\u0131 s\u00fcr\u00fcmler aras\u0131nda ge\u00e7i\u015f yaparken kolayl\u0131k sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/opt\/tomcat\/apache-tomcat-9.0.83 \/opt\/tomcat\/latest<\/code><\/pre>\n<p>Art\u0131k Tomcat&#8217;e <code>\/opt\/tomcat\/latest<\/code> yolu \u00fczerinden eri\u015febiliriz.<\/p>\n<h3>Dizin \u0130zinlerini Ayarlama<\/h3>\n<p><code>tomcat<\/code> kullan\u0131c\u0131s\u0131n\u0131n Tomcat kurulum dizinleri \u00fczerinde do\u011fru izinlere sahip olmas\u0131 \u00e7ok \u00f6nemlidir. Bu, Tomcat&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131n\u0131 ve ayn\u0131 zamanda g\u00fcvenli\u011fini sa\u011flar.<\/p>\n<p>\u00d6ncelikle, <code>\/opt\/tomcat<\/code> dizininin ve t\u00fcm i\u00e7eri\u011finin sahipli\u011fini <code>tomcat<\/code> kullan\u0131c\u0131s\u0131 ve grubuna verin:<\/p>\n<pre><code class=\"language-bash\">sudo chown -R tomcat:tomcat \/opt\/tomcat<\/code><\/pre>\n<p>Ard\u0131ndan, belirli dizinler ve dosyalar i\u00e7in uygun izinleri ayarlay\u0131n:<\/p>\n<p>*   <code>conf<\/code> dizini, <code>tomcat<\/code> kullan\u0131c\u0131s\u0131n\u0131n okuma eri\u015fimine sahip olmas\u0131 ve grubun yazma eri\u015fimine sahip olmas\u0131 gereken yap\u0131land\u0131rma dosyalar\u0131n\u0131 i\u00e7erir. Di\u011ferleri i\u00e7in yazma izni olmamal\u0131d\u0131r.<br \/>\n*   <code>webapps<\/code>, <code>work<\/code>, <code>temp<\/code> ve <code>logs<\/code> dizinleri, Tomcat&#8217;in uygulama da\u011f\u0131t\u0131m\u0131, ge\u00e7ici dosyalar, \u00e7al\u0131\u015fma alan\u0131 ve log dosyalar\u0131 i\u00e7in yazma iznine ihtiya\u00e7 duyar.<br \/>\n*   <code>bin<\/code> dizinindeki betikler (startup.sh, shutdown.sh vb.) y\u00fcr\u00fct\u00fclebilir olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo chmod -R u+rwx \/opt\/tomcat\/latest\/conf\nsudo chmod g+r \/opt\/tomcat\/latest\/conf\/*\nsudo chmod o-rwx \/opt\/tomcat\/latest\/conf\/*\n\nsudo chmod -R u+rwx \/opt\/tomcat\/latest\/webapps \/opt\/tomcat\/latest\/work \/opt\/tomcat\/latest\/temp \/opt\/tomcat\/latest\/logs\nsudo chmod -R u+x \/opt\/tomcat\/latest\/bin<\/code><\/pre>\n<p>Bu komutlar, <code>tomcat<\/code> kullan\u0131c\u0131s\u0131na gerekli okuma, yazma ve y\u00fcr\u00fctme izinlerini verirken, di\u011fer kullan\u0131c\u0131lardan gereksiz eri\u015fimi k\u0131s\u0131tlar.<\/p>\n<h2>Tomcat Servisini Olu\u015fturma (systemd)<\/h2>\n<p>Tomcat&#8217;i manuel olarak ba\u015flat\u0131p durdurmak yerine, systemd kullanarak bir servis olarak y\u00f6netmek \u00e7ok daha pratiktir. Bu, Tomcat&#8217;in sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131, kolayca ba\u015flat\u0131l\u0131p durdurulmas\u0131n\u0131 ve durumunun izlenmesini sa\u011flar.<\/p>\n<p>Yeni bir systemd servis dosyas\u0131 olu\u015ftural\u0131m:<\/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. <code>JAVA_HOME<\/code> de\u011fi\u015fkenini kendi sisteminizdeki yolla e\u015fle\u015fti\u011finden emin olun (daha \u00f6nce ayarlad\u0131\u011f\u0131m\u0131z <code>set-java-home.sh<\/code> dosyas\u0131ndaki yol ile ayn\u0131 olmal\u0131d\u0131r).<\/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-11-openjdk-amd64\"\nEnvironment=\"CATALINA_PID=\/opt\/tomcat\/latest\/tomcat.pid\"\nEnvironment=\"CATALINA_HOME=\/opt\/tomcat\/latest\"\nEnvironment=\"CATALINA_BASE=\/opt\/tomcat\/latest\"\nExecStart=\/opt\/tomcat\/latest\/bin\/startup.sh\nExecStop=\/opt\/tomcat\/latest\/bin\/shutdown.sh\nExecReload=\/bin\/kill -HUP $MAINPID\nSuccessExitStatus=143\nRestartSec=10\nRestart=always\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p>*   <strong><code>[Unit]<\/code> B\u00f6l\u00fcm\u00fc:<\/strong> Servisin a\u00e7\u0131klamas\u0131n\u0131 ve hangi servislerden sonra ba\u015flamas\u0131 gerekti\u011fini belirtir (bu durumda <code>network.target<\/code>&#8216;tan sonra).<br \/>\n*   <strong><code>[Service]<\/code> B\u00f6l\u00fcm\u00fc:<\/strong> Servisin nas\u0131l \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 tan\u0131mlar.<br \/>\n    *   <code>Type=forking<\/code>: Servisin ana i\u015fleminin bir alt s\u00fcre\u00e7 olu\u015fturup ana s\u00fcrecin \u00e7\u0131kaca\u011f\u0131n\u0131 belirtir.<br \/>\n    *   <code>User<\/code> ve <code>Group<\/code>: Servisin <code>tomcat<\/code> kullan\u0131c\u0131s\u0131 ve grubu alt\u0131nda \u00e7al\u0131\u015faca\u011f\u0131n\u0131 belirtir.<br \/>\n    *   <code>Environment<\/code>: <code>JAVA_HOME<\/code>, <code>CATALINA_PID<\/code>, <code>CATALINA_HOME<\/code> ve <code>CATALINA_BASE<\/code> gibi ortam de\u011fi\u015fkenlerini ayarlar.<br \/>\n    *   <code>ExecStart<\/code>: Tomcat&#8217;i ba\u015flatmak i\u00e7in \u00e7al\u0131\u015ft\u0131r\u0131lacak beti\u011fi belirtir.<br \/>\n    *   <code>ExecStop<\/code>: Tomcat&#8217;i durdurmak i\u00e7in \u00e7al\u0131\u015ft\u0131r\u0131lacak beti\u011fi belirtir.<br \/>\n    *   <code>ExecReload<\/code>: Servisi yeniden y\u00fcklemek i\u00e7in bir komut sa\u011flar (iste\u011fe ba\u011fl\u0131, Tomcat i\u00e7in genellikle restart tercih edilir).<br \/>\n    *   <code>SuccessExitStatus=143<\/code>: Servisin ba\u015far\u0131yla durduruldu\u011funu belirtir.<br \/>\n    *   <code>RestartSec=10<\/code>: Hata durumunda yeniden ba\u015flatmadan \u00f6nce 10 saniye bekler.<br \/>\n    *   <code>Restart=always<\/code>: Servis herhangi bir nedenle durursa otomatik olarak yeniden ba\u015flat\u0131l\u0131r.<br \/>\n*   <strong><code>[Install]<\/code> B\u00f6l\u00fcm\u00fc:<\/strong> Servisin sistem ba\u015flang\u0131c\u0131nda nas\u0131l etkinle\u015ftirilece\u011fini belirtir. <code>multi-user.target<\/code> ile ili\u015fkilendirilmi\u015ftir, bu da \u00e7ok kullan\u0131c\u0131l\u0131 moda ge\u00e7ildi\u011finde ba\u015flayaca\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p>Dosyay\u0131 kaydedin (Ctrl+O, Enter) ve kapat\u0131n (Ctrl+X).<\/p>\n<p>\u015eimdi systemd&#8217;ye yeni servisi tan\u0131tmak i\u00e7in yap\u0131land\u0131rmay\u0131 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>Tomcat&#8217;in sistem ba\u015flang\u0131c\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in 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\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status tomcat<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ibaresini g\u00f6rmelisiniz.<\/p>\n<h2>Tomcat Web Aray\u00fcz\u00fcne Eri\u015fim ve Y\u00f6netici Ayarlar\u0131<\/h2>\n<p>Tomcat varsay\u0131lan olarak 8080 portunu dinler. Sunucunuzda bir g\u00fcvenlik duvar\u0131 (UFW gibi) etkinse, bu porta gelen trafi\u011fe izin vermeniz gerekir.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (UFW)<\/h3>\n<p>E\u011fer UFW kullan\u0131yorsan\u0131z, 8080 portuna izin vermek i\u00e7in a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 8080\/tcp\nsudo ufw enable # E\u011fer UFW etkin de\u011filse<\/code><\/pre>\n<h3>Web Aray\u00fcz\u00fcne Eri\u015fim<\/h3>\n<p>\u015eimdi bir web taray\u0131c\u0131s\u0131 a\u00e7\u0131n ve sunucunuzun IP adresini veya alan ad\u0131n\u0131 8080 portuyla birlikte kullanarak Tomcat ana sayfas\u0131na eri\u015fin:<\/p>\n<pre><code class=\"language-\">http:\/\/SUNUCU_IP_ADRESINIZ:8080<\/code><\/pre>\n<p>Tomcat varsay\u0131lan ana sayfas\u0131n\u0131 g\u00f6rmelisiniz. Bu sayfa, Tomcat&#8217;in ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<h3>Y\u00f6netici Kullan\u0131c\u0131lar\u0131 Yap\u0131land\u0131rma<\/h3>\n<p>Tomcat&#8217;in Y\u00f6netici (Manager App) ve Host Manager web aray\u00fczleri, uygulamalar\u0131 da\u011f\u0131tmak, sunucuyu izlemek ve sanal ana bilgisayarlar\u0131 y\u00f6netmek i\u00e7in kullan\u0131l\u0131r. Bu aray\u00fczlere eri\u015fmek i\u00e7in kullan\u0131c\u0131 ad\u0131 ve \u015fifre tan\u0131mlaman\u0131z gerekir.<\/p>\n<p>Yap\u0131land\u0131rma dosyas\u0131 <code>\/opt\/tomcat\/latest\/conf\/tomcat-users.xml<\/code> dosyas\u0131ndad\u0131r. Bu dosyay\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/opt\/tomcat\/latest\/conf\/tomcat-users.xml<\/code><\/pre>\n<p><code><tomcat-users><\/code> etiketleri aras\u0131na a\u015fa\u011f\u0131daki <code><role><\/code> ve <code><user><\/code> tan\u0131mlar\u0131n\u0131 ekleyin. Kendi g\u00fcvenli kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 ve g\u00fc\u00e7l\u00fc bir \u015fifre belirledi\u011finizden 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>*   <code>manager-gui<\/code>: Bu rol, Tomcat Manager web aray\u00fcz\u00fcne (uygulamalar\u0131 da\u011f\u0131tma, durdurma, ba\u015flatma vb.) eri\u015fim sa\u011flar.<br \/>\n*   <code>admin-gui<\/code>: Bu rol, Host Manager web aray\u00fcz\u00fcne (sanal ana bilgisayarlar\u0131 y\u00f6netme) eri\u015fim sa\u011flar.<\/p>\n<p>Dosyay\u0131 kaydedin ve kapat\u0131n.<\/p>\n<p>De\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in Tomcat servisini yeniden ba\u015flatman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart tomcat<\/code><\/pre>\n<p>\u015eimdi taray\u0131c\u0131n\u0131zdan Tomcat ana sayfas\u0131na geri d\u00f6n\u00fcn (<code>http:\/\/SUNUCU_IP_ADRESINIZ:8080<\/code>). &#8220;Manager App&#8221; veya &#8220;Host Manager&#8221; d\u00fc\u011fmelerine t\u0131klad\u0131\u011f\u0131n\u0131zda, az \u00f6nce olu\u015fturdu\u011funuz kullan\u0131c\u0131 ad\u0131 ve \u015fifre ile giri\u015f yapman\u0131z istenecektir.<\/p>\n<h3>Uzak Eri\u015fim K\u0131s\u0131tlamas\u0131n\u0131 Kald\u0131rma (\u0130ste\u011fe Ba\u011fl\u0131 ve G\u00fcvenlik Notu ile)<\/h3>\n<p>Varsay\u0131lan olarak, Tomcat Manager ve Host Manager web aray\u00fczlerine yaln\u0131zca <code>localhost<\/code> (sunucunun kendisi) \u00fczerinden eri\u015filebilir. Bu, g\u00fcvenlik i\u00e7in iyi bir \u00f6nlemdir. Ancak, e\u011fer bu aray\u00fczlere uzaktan eri\u015fmeniz gerekiyorsa, bu k\u0131s\u0131tlamay\u0131 kald\u0131rman\u0131z veya belirli IP adreslerine izin vermeniz gerekir.<\/p>\n<p><strong>\u00d6NEML\u0130 G\u00dcVENL\u0130K UYARISI:<\/strong> Bu k\u0131s\u0131tlamay\u0131 kald\u0131rmak, sunucunuzu potansiyel g\u00fcvenlik risklerine a\u00e7\u0131k hale getirebilir. Yaln\u0131zca g\u00fcvenli a\u011flarda veya VPN \u00fczerinden eri\u015fim sa\u011fland\u0131\u011f\u0131nda yap\u0131lmal\u0131d\u0131r. M\u00fcmk\u00fcnse, bu aray\u00fczlere SSH t\u00fcnelleme ile eri\u015fmeyi 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>*   Manager App i\u00e7in: <code>\/opt\/tomcat\/latest\/webapps\/manager\/META-INF\/context.xml<\/code><br \/>\n*   Host Manager i\u00e7in: <code>\/opt\/tomcat\/latest\/webapps\/host-manager\/META-INF\/context.xml<\/code><\/p>\n<p>\u00d6rne\u011fin, Manager App i\u00e7in dosyay\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/opt\/tomcat\/latest\/webapps\/manager\/META-INF\/context.xml<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun:<\/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\" \/><\/code><\/pre>\n<p>Bu sat\u0131r\u0131 yorum sat\u0131r\u0131 yapmak (<code><!-- ... --><\/code> aras\u0131na almak) veya belirli bir IP adres aral\u0131\u011f\u0131na izin vermek i\u00e7in <code>allow<\/code> \u00f6zniteli\u011fini de\u011fi\u015ftirmek (\u00f6rne\u011fin, <code>allow=\"127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1|192\\.168\\.1\\.1\/24\"<\/code>) isteyebilirsiniz.<\/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 <code>context.xml<\/code> dosyas\u0131 i\u00e7in de ayn\u0131 de\u011fi\u015fikli\u011fi yapt\u0131ktan sonra, Tomcat servisini yeniden ba\u015flatmay\u0131 unutmay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart tomcat<\/code><\/pre>\n<h2>Tomcat G\u00fcvenli\u011fi \u0130\u00e7in Ek Ad\u0131mlar<\/h2>\n<p>Tomcat kurulumunuzu daha g\u00fcvenli hale getirmek i\u00e7in baz\u0131 ek ad\u0131mlar atman\u0131z \u00f6nemlidir.<\/p>\n<h3>Varsay\u0131lan Uygulamalar\u0131 Kald\u0131rma<\/h3>\n<p>Tomcat, kutudan \u00e7\u0131kt\u0131\u011f\u0131nda birka\u00e7 \u00f6rnek uygulama ve dok\u00fcmantasyon ile birlikte gelir (<code>webapps\/examples<\/code>, <code>webapps\/docs<\/code>, <code>webapps\/host-manager<\/code>, <code>webapps\/manager<\/code>). \u00dcretim ortam\u0131nda bu uygulamalara genellikle ihtiya\u00e7 duyulmaz ve potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131 olu\u015fturabilirler. Kullanmayacaksan\u0131z bunlar\u0131 kald\u0131rman\u0131z \u00f6nerilir:<\/p>\n<pre><code class=\"language-bash\">sudo rm -rf \/opt\/tomcat\/latest\/webapps\/examples\nsudo rm -rf \/opt\/tomcat\/latest\/webapps\/docs\n<h2>E\u011fer Host Manager ve Manager App'i uzaktan kullanm\u0131yorsan\u0131z ve SSH t\u00fcnelleme gibi alternatifleriniz varsa, bunlar\u0131 da kald\u0131rabilirsiniz:<\/h2>\n<h2>sudo rm -rf \/opt\/tomcat\/latest\/webapps\/host-manager<\/h2>\n<h2>sudo rm -rf \/opt\/tomcat\/latest\/webapps\/manager<\/code><\/pre>\n<\/h2>\n<h3>Tomcat Portunu De\u011fi\u015ftirme<\/h3>\n<p>Varsay\u0131lan 8080 portunu kullanmak yerine, daha az bilinen bir port kullanmak veya bir ters proxy (Nginx\/Apache HTTPD) ile 80\/443 portlar\u0131na y\u00f6nlendirmek iyi bir g\u00fcvenlik uygulamas\u0131d\u0131r. Portu de\u011fi\u015ftirmek i\u00e7in <code>\/opt\/tomcat\/latest\/conf\/server.xml<\/code> dosyas\u0131n\u0131 d\u00fczenlemeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/opt\/tomcat\/latest\/conf\/server.xml<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun:<\/p>\n<pre><code class=\"language-xml\"><Connector port=\"8080\" protocol=\"HTTP\/1.1\"\n           connectionTimeout=\"20000\"\n           redirectPort=\"8443\" \/><\/code><\/pre>\n<p><code>port=\"8080\"<\/code> de\u011ferini istedi\u011finiz ba\u015fka bir port numaras\u0131yla de\u011fi\u015ftirin (\u00f6rne\u011fin, <code>port=\"8081\"<\/code>). G\u00fcvenlik duvar\u0131n\u0131z\u0131 da yeni porta g\u00f6re g\u00fcncellemeniz gerekecektir.<\/p>\n<h3>SSL\/TLS Yap\u0131land\u0131rmas\u0131 (HTTPS)<\/h3>\n<p>Web uygulamalar\u0131n\u0131z hassas veriler i\u00e7eriyorsa, trafi\u011fi \u015fifrelemek i\u00e7in SSL\/TLS (HTTPS) kullanmak zorunludur. Tomcat&#8217;i do\u011frudan SSL ile yap\u0131land\u0131rabilir veya bir ters proxy (Nginx veya Apache HTTPD) kullanarak SSL sonland\u0131rmas\u0131 yapabilirsiniz. Ters proxy y\u00f6ntemi daha yayg\u0131n ve genellikle daha esnektir.<\/p>\n<p>Tomcat&#8217;i do\u011frudan SSL ile yap\u0131land\u0131rmak i\u00e7in, bir SSL sertifikas\u0131na (Let&#8217;s Encrypt veya ticari bir sertifika) ihtiyac\u0131n\u0131z olacakt\u0131r. <code>\/opt\/tomcat\/latest\/conf\/server.xml<\/code> dosyas\u0131nda, yorum sat\u0131r\u0131 yap\u0131lm\u0131\u015f olan SSL Connector&#8217;\u00fc etkinle\u015ftirmeniz ve sertifika ayarlar\u0131n\u0131 yapman\u0131z gerekir. Bu, genellikle a\u015fa\u011f\u0131daki gibi bir b\u00f6l\u00fcm\u00fc i\u00e7erir:<\/p>\n<pre><code class=\"language-xml\"><!--\n<Connector port=\"8443\" protocol=\"org.apache.coyote.http11.Http11NioProtocol\"\n           maxThreads=\"150\" SSLEnabled=\"true\">\n    <SSLHostConfig>\n        <Certificate certificateKeystoreFile=\"conf\/localhost-rsa.jks\"\n                     certificateKeystorePassword=\"changeit\"\n                     type=\"RSA\" \/>\n    <\/SSLHostConfig>\n<\/Connector>\n--><\/code><\/pre>\n<p>Bu b\u00f6l\u00fcm\u00fc etkinle\u015ftirip <code>certificateKeystoreFile<\/code>, <code>certificateKeystorePassword<\/code> gibi de\u011ferleri kendi sertifika bilgilerinizle g\u00fcncellemeniz gerekecektir. Bu, kendi ba\u015f\u0131na detayl\u0131 bir konu oldu\u011fu i\u00e7in bu makalenin kapsam\u0131 d\u0131\u015f\u0131ndad\u0131r, ancak kurulum sonras\u0131 yap\u0131lmas\u0131 gereken \u00f6nemli bir ad\u0131md\u0131r.<\/p>\n<h3>AJP Connector&#8217;\u00fc Devre D\u0131\u015f\u0131 B\u0131rakma<\/h3>\n<p>AJP (Apache JServ Protocol) Connector, Apache HTTPD gibi bir web sunucusunun Tomcat ile daha verimli bir \u015fekilde ileti\u015fim kurmas\u0131n\u0131 sa\u011flar. E\u011fer Apache HTTPD veya Nginx gibi bir ters proxy kullanm\u0131yorsan\u0131z, AJP Connector&#8217;e ihtiyac\u0131n\u0131z yoktur ve g\u00fcvenlik nedeniyle devre d\u0131\u015f\u0131 b\u0131rakman\u0131z \u00f6nerilir.<\/p>\n<p><code>\/opt\/tomcat\/latest\/conf\/server.xml<\/code> dosyas\u0131nda a\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun ve yorum sat\u0131r\u0131 yap\u0131n:<\/p>\n<pre><code class=\"language-xml\"><!-- Define an AJP 1.3 Connector on port 8009 -->\n<!--\n<Connector protocol=\"AJP\/1.3\"\n           address=\"::1\"\n           port=\"8009\"\n           redirectPort=\"8443\" \/>\n--><\/code><\/pre>\n<h3>Ba\u015flatma Betiklerini G\u00fcvenli Hale Getirme ve Optimizasyon<\/h3>\n<p>Tomcat&#8217;in performans\u0131n\u0131 ve g\u00fcvenli\u011fini art\u0131rmak i\u00e7in <code>JAVA_OPTS<\/code> ve <code>CATALINA_OPTS<\/code> ortam de\u011fi\u015fkenlerini kullanarak JVM (Java Virtual Machine) ayarlar\u0131n\u0131 yap\u0131land\u0131rabilirsiniz. Bu ayarlar, bellek limitleri, \u00e7\u00f6p toplama (garbage collection) stratejileri ve g\u00fcvenlik politikalar\u0131 gibi parametreleri i\u00e7erir.<\/p>\n<p>Bu de\u011fi\u015fkenleri genellikle <code>\/opt\/tomcat\/latest\/bin\/setenv.sh<\/code> adl\u0131 bir dosyada tan\u0131mlars\u0131n\u0131z. Bu dosyay\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/opt\/tomcat\/latest\/bin\/setenv.sh<\/code><\/pre>\n<p>\u0130\u00e7ine a\u015fa\u011f\u0131daki \u00f6rnek ayarlar\u0131 ekleyebilirsiniz (bu ayarlar\u0131 uygulaman\u0131z\u0131n gereksinimlerine g\u00f6re de\u011fi\u015ftirmeniz gerekecektir):<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/bash\n<h2>Minimum ve maksimum heap belle\u011fi ayarlar\u0131<\/h2>\nexport JAVA_OPTS=\"-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m\"\n<h2>Tomcat'e \u00f6zg\u00fc se\u00e7enekler (\u00f6rne\u011fin g\u00fcvenlik y\u00f6neticisi)<\/h2>\n<h2>export CATALINA_OPTS=\"-Djava.security.manager -Djava.security.policy=\/opt\/tomcat\/latest\/conf\/catalina.policy\"<\/code><\/pre>\n<\/h2>\n<p>Dosyay\u0131 kaydedin ve \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin:<\/p>\n<pre><code class=\"language-bash\">sudo chmod +x \/opt\/tomcat\/latest\/bin\/setenv.sh<\/code><\/pre>\n<p>Bu ayarlardan sonra Tomcat servisini yeniden ba\u015flatman\u0131z gerekecektir.<\/p>\n<h2>Tomcat Uygulama Da\u011f\u0131t\u0131m\u0131<\/h2>\n<p>Java web uygulamalar\u0131 genellikle <code>.war<\/code> (Web Application Archive) format\u0131nda paketlenir. Tomcat&#8217;e bir uygulama da\u011f\u0131tman\u0131n birka\u00e7 yolu vard\u0131r:<\/p>\n<p>1.  <strong>Manager GUI Kullanarak:<\/strong> Tomcat Manager web aray\u00fcz\u00fcne giri\u015f yap\u0131n. &#8220;WAR file to deploy&#8221; b\u00f6l\u00fcm\u00fcnden WAR dosyan\u0131z\u0131 se\u00e7ip &#8220;Deploy&#8221; d\u00fc\u011fmesine t\u0131klayarak uygulaman\u0131z\u0131 kolayca da\u011f\u0131tabilirsiniz.<br \/>\n2.  <strong><code>webapps<\/code> Dizinine Kopyalayarak:<\/strong> WAR dosyan\u0131z\u0131 do\u011frudan <code>\/opt\/tomcat\/latest\/webapps\/<\/code> dizinine kopyalayabilirsiniz. Tomcat, bu dizini otomatik olarak izler ve yeni bir WAR dosyas\u0131 alg\u0131lad\u0131\u011f\u0131nda onu otomatik olarak da\u011f\u0131t\u0131r. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/path\/to\/your\/application.war \/opt\/tomcat\/latest\/webapps\/<\/code><\/pre>\n<p>    Uygulaman\u0131z\u0131n URL&#8217;si <code>http:\/\/SUNUCU_IP_ADRESINIZ:8080\/application_name<\/code> olacakt\u0131r (burada <code>application_name<\/code>, WAR dosyas\u0131n\u0131n ad\u0131d\u0131r, <code>.war<\/code> uzant\u0131s\u0131 olmadan).<\/p>\n<h2>Sorun Giderme<\/h2>\n<p>Tomcat kurulumu veya \u00e7al\u0131\u015fmas\u0131 s\u0131ras\u0131nda sorunlarla kar\u015f\u0131la\u015f\u0131rsan\u0131z, a\u015fa\u011f\u0131daki ad\u0131mlar size yard\u0131mc\u0131 olabilir:<\/p>\n<p>*   <strong>Log Dosyalar\u0131n\u0131 Kontrol Edin:<\/strong> Tomcat, sorun giderme i\u00e7in \u00e7ok de\u011ferli bilgiler i\u00e7eren log dosyalar\u0131 \u00fcretir. Ana log dosyalar\u0131 <code>\/opt\/tomcat\/latest\/logs\/<\/code> dizininde bulunur. \u00d6zellikle <code>catalina.out<\/code>, <code>localhost.log<\/code> ve <code>manager.log<\/code> dosyalar\u0131n\u0131 kontrol edin.<\/p>\n<pre><code class=\"language-bash\">tail -f \/opt\/tomcat\/latest\/logs\/catalina.out<\/code><\/pre>\n<p>*   <strong>Systemd Servis Durumunu Kontrol Edin:<\/strong> Tomcat servisinin durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status tomcat<\/code><\/pre>\n<p>    Hata mesajlar\u0131 veya servisin neden ba\u015flamad\u0131\u011f\u0131n\u0131 g\u00f6steren ipu\u00e7lar\u0131 aray\u0131n.<br \/>\n*   <strong>JAVA_HOME Hatas\u0131:<\/strong> E\u011fer <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkeni do\u011fru ayarlanmam\u0131\u015fsa, Tomcat ba\u015flamayabilir. <code>echo $JAVA_HOME<\/code> komutuyla kontrol edin ve <code>\/etc\/profile.d\/set-java-home.sh<\/code> dosyas\u0131ndaki yolu do\u011frulay\u0131n.<br \/>\n*   <strong>Port \u00c7ak\u0131\u015fmas\u0131:<\/strong> Tomcat&#8217;in kulland\u0131\u011f\u0131 8080 portunun ba\u015fka bir uygulama taraf\u0131ndan kullan\u0131l\u0131p kullan\u0131lmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo netstat -tulnp | grep 8080<\/code><\/pre>\n<p>    E\u011fer ba\u015fka bir i\u015flem bu portu kullan\u0131yorsa, ya o i\u015flemi durdurun ya da Tomcat&#8217;in portunu de\u011fi\u015ftirin.<br \/>\n*   <strong>\u0130zin Hatalar\u0131:<\/strong> Tomcat&#8217;in log dosyalar\u0131na yazma veya belirli betikleri \u00e7al\u0131\u015ft\u0131rma izni yoksa, sorunlar ortaya \u00e7\u0131kabilir. <code>chown<\/code> ve <code>chmod<\/code> komutlar\u0131yla izinleri tekrar kontrol edin.<br \/>\n*   <strong>Bellek Sorunlar\u0131:<\/strong> Java uygulamalar\u0131 bellek sorunlar\u0131 ya\u015fayabilir. <code>setenv.sh<\/code> dosyas\u0131ndaki <code>-Xms<\/code> ve <code>-Xmx<\/code> parametrelerini ayarlayarak JVM&#8217;ye ayr\u0131lan bellek miktar\u0131n\u0131 art\u0131rmay\u0131 deneyebilirsiniz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu kapsaml\u0131 rehberde, Apache Tomcat 9&#8217;u Debian 10 sunucunuza g\u00fcvenli ve verimli bir \u015fekilde nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz. Sistem g\u00fcncellemelerinden ba\u015flayarak, Java Development Kit&#8217;in kurulumuna, Tomcat&#8217;in indirilip yap\u0131land\u0131r\u0131lmas\u0131na, systemd servisi olarak \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131na ve temel g\u00fcvenlik ayarlar\u0131n\u0131n yap\u0131lmas\u0131na kadar t\u00fcm \u00f6nemli ad\u0131mlar\u0131 tamamlad\u0131k.<\/p>\n<p>Art\u0131k Debian 10 sunucunuzda \u00e7al\u0131\u015fan bir Apache Tomcat 9 \u00f6rne\u011fine sahipsiniz ve Java tabanl\u0131 web uygulamalar\u0131n\u0131z\u0131 da\u011f\u0131tmaya haz\u0131rs\u0131n\u0131z. Unutmay\u0131n ki \u00fcretim ortamlar\u0131 i\u00e7in ek g\u00fcvenlik \u00f6nlemleri, performans optimizasyonlar\u0131 ve d\u00fczenli bak\u0131m kritik \u00f6neme sahiptir. SSL\/TLS yap\u0131land\u0131rmas\u0131, bir ters proxy kullan\u0131m\u0131 ve s\u00fcrekli izleme, sa\u011flam bir web uygulama ortam\u0131 i\u00e7in sonraki ad\u0131mlar\u0131n\u0131z olmal\u0131d\u0131r. Kurulumunuzda ba\u015far\u0131lar dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Apache Tomcat 9&#8217;u Debian 10 \u00dczerine Kurulum Rehberi Giri\u015f Apache Tomcat, Java tabanl\u0131 web uygulamalar\u0131n\u0131 bar\u0131nd\u0131rmak i\u00e7in yayg\u0131n olarak kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 bir web sunucusu ve servlet konteyneridir.","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-40848","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>Apache Tomcat 9&#039;u Debian 10 \u00dczerine Kurulum Rehberi - 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\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Tomcat 9&#039;u Debian 10 \u00dczerine Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Apache Tomcat 9&#039;u Debian 10 \u00dczerine Kurulum Rehberi Giri\u015f Apache Tomcat, Java tabanl\u0131 web uygulamalar\u0131n\u0131 bar\u0131nd\u0131rmak i\u00e7in yayg\u0131n olarak kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 bir web sunucusu ve servlet konteyneridir.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-01T15:40:48+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=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Apache Tomcat 9&#8217;u Debian 10 \u00dczerine Kurulum Rehberi\",\"datePublished\":\"2026-03-01T15:40:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/\"},\"wordCount\":3097,\"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\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/\",\"name\":\"Apache Tomcat 9'u Debian 10 \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-03-01T15:40:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache Tomcat 9&#8217;u Debian 10 \u00dczerine Kurulum Rehberi\"}]},{\"@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":"Apache Tomcat 9'u Debian 10 \u00dczerine Kurulum Rehberi - 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\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Apache Tomcat 9'u Debian 10 \u00dczerine Kurulum Rehberi","og_description":"Apache Tomcat 9'u Debian 10 \u00dczerine Kurulum Rehberi Giri\u015f Apache Tomcat, Java tabanl\u0131 web uygulamalar\u0131n\u0131 bar\u0131nd\u0131rmak i\u00e7in yayg\u0131n olarak kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 bir web sunucusu ve servlet konteyneridir.","og_url":"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-03-01T15:40:48+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Apache Tomcat 9&#8217;u Debian 10 \u00dczerine Kurulum Rehberi","datePublished":"2026-03-01T15:40:48+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/"},"wordCount":3097,"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\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/","name":"Apache Tomcat 9'u Debian 10 \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-03-01T15:40:48+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/apache-tomcat-9u-debian-10-uzerine-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Apache Tomcat 9&#8217;u Debian 10 \u00dczerine Kurulum Rehberi"}]},{"@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\/40848","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=40848"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/40848\/revisions"}],"predecessor-version":[{"id":40849,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/40848\/revisions\/40849"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=40848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=40848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=40848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}