{"id":31259,"date":"2025-10-07T23:41:21","date_gmt":"2025-10-07T20:41:21","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31259"},"modified":"2025-10-07T23:41:21","modified_gmt":"2025-10-07T20:41:21","slug":"apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/","title":{"rendered":"Apache Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Apache Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi<\/h2>\n<p>Apache HTTP Sunucusu, d\u00fcnya genelinde en yayg\u0131n kullan\u0131lan a\u00e7\u0131k kaynak kodlu web sunucular\u0131ndan biridir. Esnek yap\u0131s\u0131, geni\u015f mod\u00fcl deste\u011fi ve g\u00fc\u00e7l\u00fc topluluk deste\u011fi sayesinde, k\u00fc\u00e7\u00fck ki\u015fisel bloglardan b\u00fcy\u00fck kurumsal uygulamalara kadar \u00e7e\u015fitli web sitelerini bar\u0131nd\u0131rmak i\u00e7in ideal bir \u00e7\u00f6z\u00fcmd\u00fcr. Ubuntu 20.04 (Focal Fossa), uzun s\u00fcreli destek (LTS) sa\u011flayan kararl\u0131 bir i\u015fletim sistemi oldu\u011fundan, Apache&#8217;yi bu platform \u00fczerine kurmak, g\u00fcvenilir ve bak\u0131m\u0131 kolay bir web sunucusu ortam\u0131 olu\u015fturmak isteyenler i\u00e7in m\u00fckemmel bir se\u00e7imdir.<\/p>\n<p>Bu kapsaml\u0131 rehberde, Apache web sunucusunu Ubuntu 20.04 \u00fczerine ad\u0131m ad\u0131m nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, temel yap\u0131land\u0131rmalar\u0131 nas\u0131l yapaca\u011f\u0131n\u0131z\u0131, sanal ana bilgisayarlar\u0131 (virtual hosts) kullanarak birden fazla web sitesini nas\u0131l bar\u0131nd\u0131raca\u011f\u0131n\u0131z\u0131 ve sunucunuzun g\u00fcvenli\u011fini ve performans\u0131n\u0131 art\u0131rmak i\u00e7in ek ipu\u00e7lar\u0131n\u0131 \u00f6\u011freneceksiniz. Bu rehber, temel Linux komut bilgisine sahip ve <code>sudo<\/code> ayr\u0131cal\u0131klar\u0131na sahip bir kullan\u0131c\u0131 hesab\u0131 olan herkes i\u00e7in uygundur.<\/p>\n<h3>1. \u00d6n Ko\u015fullar ve \u0130lk Ad\u0131mlar<\/h3>\n<p>Apache kurulumuna ba\u015flamadan \u00f6nce, sunucunuzun g\u00fcncel oldu\u011fundan ve temel g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131n yap\u0131ld\u0131\u011f\u0131ndan emin olmal\u0131y\u0131z. Bu ad\u0131mlar, sorunsuz bir kurulum s\u00fcreci ve g\u00fcvenli bir \u00e7al\u0131\u015fma ortam\u0131 i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h4>1.1 Sunucuya Ba\u011flanma<\/h4>\n<p>Kuruluma ba\u015flamak i\u00e7in Ubuntu 20.04 sunucunuza SSH (Secure Shell) \u00fczerinden ba\u011flanman\u0131z gerekmektedir. E\u011fer yerel bir makinede \u00e7al\u0131\u015f\u0131yorsan\u0131z bu ad\u0131m\u0131 atlayabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">ssh kullanici_adi@sunucu_ip_adresi<\/code><\/pre>\n<p><code>kullanici_adi<\/code> yerine kendi kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 ve <code>sunucu_ip_adresi<\/code> yerine sunucunuzun IP adresini yazarak ba\u011flanabilirsiniz.<\/p>\n<h4>1.2 Sistem G\u00fcncelleme<\/h4>\n<p>Kuruluma ba\u015flamadan \u00f6nce, sisteminizdeki paket listelerini ve mevcut paketleri en son s\u00fcr\u00fcmlerine g\u00fcncellemek iyi bir uygulamad\u0131r. Bu, potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapat\u0131r ve yaz\u0131l\u0131m uyumlulu\u011fu sorunlar\u0131n\u0131 \u00f6nler.<\/p>\n<p>\u00d6ncelikle paket listesini g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>Ard\u0131ndan, y\u00fckl\u00fc paketleri y\u00fckseltin:<\/p>\n<pre><code class=\"language-bash\">sudo apt upgrade<\/code><\/pre>\n<p>Bu komutlar, sisteminizdeki t\u00fcm yaz\u0131l\u0131mlar\u0131n en g\u00fcncel hallerine getirilmesini sa\u011flar. Y\u00fckseltme i\u015flemi s\u0131ras\u0131nda baz\u0131 servislerin yeniden ba\u015flat\u0131lmas\u0131 gerekebilir; onay istendi\u011finde <code>Y<\/code> tu\u015funa basarak devam edin.<\/p>\n<h4>1.3 G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131 (UFW)<\/h4>\n<p>Ubuntu&#8217;da varsay\u0131lan g\u00fcvenlik duvar\u0131 arac\u0131 UFW (Uncomplicated Firewall)&#8217;dur. Web sunucunuzun d\u00fczg\u00fcn \u00e7al\u0131\u015fabilmesi i\u00e7in HTTP (80) ve HTTPS (443) trafi\u011fine izin vermeniz gerekmektedir.<\/p>\n<p>\u00d6ncelikle UFW&#8217;nin durumunu kontrol edin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>E\u011fer UFW etkin de\u011filse veya Apache i\u00e7in gerekli kurallar tan\u0131ml\u0131 de\u011filse, bu ad\u0131mlar\u0131 izleyin. UFW genellikle varsay\u0131lan olarak devre d\u0131\u015f\u0131d\u0131r.<\/p>\n<p>Apache kurulumu s\u0131ras\u0131nda UFW, otomatik olarak baz\u0131 profil tan\u0131mlar\u0131 ekler. Bu profilleri listeleyerek hangi servislerin mevcut oldu\u011funu g\u00f6rebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw app list<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131nda genellikle \u015fu profilleri g\u00f6rmelisiniz:<br \/>\n*   <code>Apache<\/code>: Sadece 80 numaral\u0131 ba\u011flant\u0131 noktas\u0131ndan (HTTP) gelen trafi\u011fe izin verir.<br \/>\n*   <code>Apache Secure<\/code>: Sadece 443 numaral\u0131 ba\u011flant\u0131 noktas\u0131ndan (HTTPS) gelen trafi\u011fe izin verir.<br \/>\n*   <code>Apache Full<\/code>: Hem 80 (HTTP) hem de 443 (HTTPS) numaral\u0131 ba\u011flant\u0131 noktalar\u0131ndan gelen trafi\u011fe izin verir.<\/p>\n<p>Web sunucunuzu hem HTTP hem de HTTPS \u00fczerinden eri\u015filebilir k\u0131lmak istiyorsan\u0131z, <code>Apache Full<\/code> profilini etkinle\u015ftirmelisiniz:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Apache Full'<\/code><\/pre>\n<p>E\u011fer sadece HTTP \u00fczerinden eri\u015fim sa\u011flamak istiyorsan\u0131z <code>Apache<\/code> profilini, sadece HTTPS \u00fczerinden eri\u015fim sa\u011flamak istiyorsan\u0131z <code>Apache Secure<\/code> profilini etkinle\u015ftirebilirsiniz. Genellikle, gelecekte SSL\/TLS kullanmay\u0131 planlad\u0131\u011f\u0131n\u0131z i\u00e7in <code>Apache Full<\/code> se\u00e7ene\u011fi daha uygundur.<\/p>\n<p>SSH ba\u011flant\u0131n\u0131z\u0131n kesilmemesi i\u00e7in SSH portuna (varsay\u0131lan 22) izin verildi\u011finden emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow OpenSSH<\/code><\/pre>\n<p>\u015eimdi UFW&#8217;yi etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw enable<\/code><\/pre>\n<p>Onay istendi\u011finde <code>Y<\/code> tu\u015funa basarak devam edin. UFW&#8217;nin durumunu tekrar kontrol ederek kurallar\u0131n do\u011fru bir \u015fekilde uyguland\u0131\u011f\u0131ndan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da hem <code>Apache Full<\/code> (veya se\u00e7ti\u011finiz di\u011fer Apache profili) hem de <code>OpenSSH<\/code> kurallar\u0131n\u0131n &#8220;ALLOW&#8221; olarak listelendi\u011fini g\u00f6rmelisiniz.<\/p>\n<h3>2. Apache Kurulumu<\/h3>\n<p>\u00d6n ko\u015fullar\u0131 tamamlad\u0131ktan sonra, Apache web sunucusunu sisteminize kurmaya ba\u015flayabiliriz.<\/p>\n<h4>2.1 Apache Paketini Y\u00fckleme<\/h4>\n<p>Apache paketi, Ubuntu&#8217;nun varsay\u0131lan depolar\u0131nda mevcuttur. Kurulum i\u00e7in <code>apt<\/code> paket y\u00f6neticisini kullanaca\u011f\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo apt install apache2<\/code><\/pre>\n<p>Bu komut, Apache ve gerekli t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckleyecektir. Kurulum tamamland\u0131\u011f\u0131nda, Apache servisi otomatik olarak ba\u015flayacak ve sistem a\u00e7\u0131l\u0131\u015f\u0131nda otomatik olarak ba\u015flamak \u00fczere ayarlanacakt\u0131r.<\/p>\n<h4>2.2 Apache Servisini Kontrol Etme<\/h4>\n<p>Kurulumdan sonra Apache servisinin d\u00fczg\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmek \u00f6nemlidir. Bunu <code>systemctl<\/code> komutu ile yapabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status apache2<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ifadesini g\u00f6rmeniz, Apache servisinin ba\u015far\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131 anlam\u0131na gelir. E\u011fer servis \u00e7al\u0131\u015fm\u0131yorsa, a\u015fa\u011f\u0131daki komutlarla ba\u015flatabilir ve sistem a\u00e7\u0131l\u0131\u015f\u0131nda otomatik ba\u015flamas\u0131n\u0131 sa\u011flayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start apache2\nsudo systemctl enable apache2<\/code><\/pre>\n<h4>2.3 Web Sunucusunu Do\u011frulama<\/h4>\n<p>Apache&#8217;nin d\u00fczg\u00fcn bir \u015fekilde kuruldu\u011fundan ve g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131n do\u011fru oldu\u011fundan emin olmak i\u00e7in, web taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresine eri\u015fmeyi deneyebilirsiniz.<\/p>\n<p>Sunucunuzun genel IP adresini \u00f6\u011frenmek i\u00e7in \u00e7e\u015fitli y\u00f6ntemler vard\u0131r:<\/p>\n<p>*   E\u011fer bir bulut sunucu kullan\u0131yorsan\u0131z, sa\u011flay\u0131c\u0131n\u0131z\u0131n kontrol panelinden IP adresini bulabilirsiniz.<br \/>\n*   Sunucunuzun komut sat\u0131r\u0131ndan a\u015fa\u011f\u0131daki komutlardan birini kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">ip a s eth0 | grep inet | awk '{print $2}' | cut -d\/ -f1<\/code><\/pre>\n<p>    veya harici bir servis kullanarak:<\/p>\n<pre><code class=\"language-bash\">curl -4 icanhazip.com<\/code><\/pre>\n<p>Taray\u0131c\u0131n\u0131z\u0131n adres \u00e7ubu\u011funa <code>http:\/\/sunucu_ip_adresi<\/code> yazarak eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda, Ubuntu&#8217;nun varsay\u0131lan Apache 2 kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz. Bu sayfa, Apache&#8217;nin ba\u015far\u0131yla kuruldu\u011funu ve eri\u015filebilir oldu\u011funu g\u00f6sterir.<\/p>\n<h3>3. Apache Yap\u0131land\u0131rmas\u0131n\u0131n Temelleri<\/h3>\n<p>Apache, olduk\u00e7a mod\u00fcler ve yap\u0131land\u0131r\u0131labilir bir web sunucusudur. Temel yap\u0131land\u0131rma dosyalar\u0131n\u0131 ve dizin yap\u0131s\u0131n\u0131 anlamak, ileride daha karma\u015f\u0131k yap\u0131land\u0131rmalar yapman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h4>3.1 Apache Dosya ve Dizin Yap\u0131s\u0131<\/h4>\n<p>Ubuntu \u00fczerindeki Apache kurulumu, belirli bir dosya ve dizin yap\u0131s\u0131na sahiptir:<\/p>\n<p>*   <code>\/etc\/apache2\/<\/code>: Apache&#8217;nin ana yap\u0131land\u0131rma dizinidir. T\u00fcm genel yap\u0131land\u0131rma dosyalar\u0131 burada bulunur.<br \/>\n    *   <code>\/etc\/apache2\/apache2.conf<\/code>: Ana Apache yap\u0131land\u0131rma dosyas\u0131d\u0131r. Bu dosya, global ayarlar\u0131, mod\u00fcl y\u00fcklemelerini ve di\u011fer yap\u0131land\u0131rma dosyalar\u0131n\u0131n dahil edilmesini i\u00e7erir.<br \/>\n    *   <code>\/etc\/apache2\/ports.conf<\/code>: Apache&#8217;nin hangi ba\u011flant\u0131 noktalar\u0131n\u0131 dinleyece\u011fini tan\u0131mlar (varsay\u0131lan olarak 80 ve 443).<br \/>\n    *   <code>\/etc\/apache2\/conf-available\/<\/code>: Ek yap\u0131land\u0131rma par\u00e7ac\u0131klar\u0131n\u0131 (fragment) i\u00e7erir.<br \/>\n    *   <code>\/etc\/apache2\/conf-enabled\/<\/code>: Etkinle\u015ftirilmi\u015f yap\u0131land\u0131rma par\u00e7ac\u0131klar\u0131n\u0131n sembolik ba\u011flant\u0131lar\u0131n\u0131 i\u00e7erir.<br \/>\n    *   <code>\/etc\/apache2\/mods-available\/<\/code>: Mevcut mod\u00fcl yap\u0131land\u0131rma dosyalar\u0131n\u0131 i\u00e7erir.<br \/>\n    *   <code>\/etc\/apache2\/mods-enabled\/<\/code>: Etkinle\u015ftirilmi\u015f mod\u00fcl yap\u0131land\u0131rma dosyalar\u0131n\u0131n sembolik ba\u011flant\u0131lar\u0131n\u0131 i\u00e7erir.<br \/>\n    *   <code>\/etc\/apache2\/sites-available\/<\/code>: Sanal ana bilgisayar yap\u0131land\u0131rma dosyalar\u0131n\u0131 i\u00e7erir. Bu dizindeki dosyalar, <code>a2ensite<\/code> komutu ile etkinle\u015ftirilene kadar kullan\u0131lmaz.<br \/>\n    *   <code>\/etc\/apache2\/sites-enabled\/<\/code>: Etkinle\u015ftirilmi\u015f sanal ana bilgisayar yap\u0131land\u0131rma dosyalar\u0131n\u0131n sembolik ba\u011flant\u0131lar\u0131n\u0131 i\u00e7erir. <code>a2dissite<\/code> komutu ile devre d\u0131\u015f\u0131 b\u0131rak\u0131labilirler.<\/p>\n<p>*   <code>\/var\/www\/html\/<\/code>: Varsay\u0131lan belge k\u00f6k dizinidir. Taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresine eri\u015fti\u011finizde g\u00f6rd\u00fc\u011f\u00fcn\u00fcz varsay\u0131lan Apache sayfas\u0131 burada bulunur. Web sitelerinizin dosyalar\u0131n\u0131 genellikle bu dizin alt\u0131na veya \u00f6zel sanal ana bilgisayar dizinlerine yerle\u015ftirirsiniz.<\/p>\n<p>*   <code>\/var\/log\/apache2\/<\/code>: Apache&#8217;nin eri\u015fim (access.log) ve hata (error.log) g\u00fcnl\u00fck dosyalar\u0131n\u0131 i\u00e7erir. Sorun giderme i\u00e7in bu g\u00fcnl\u00fckler hayati \u00f6neme sahiptir.<\/p>\n<h4>3.2 Apache Mod\u00fcllerini Y\u00f6netme<\/h4>\n<p>Apache&#8217;nin g\u00fcc\u00fcn\u00fcn \u00f6nemli bir k\u0131sm\u0131, mod\u00fcler yap\u0131s\u0131ndan gelir. Mod\u00fcller, Apache&#8217;ye ek i\u015flevsellik katar. \u00d6rne\u011fin, SSL\/TLS \u015fifrelemesi i\u00e7in <code>mod_ssl<\/code>, URL yeniden yazma i\u00e7in <code>mod_rewrite<\/code> gibi mod\u00fcller bulunur.<\/p>\n<p>Y\u00fckl\u00fc ve etkin mod\u00fclleri listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">apache2ctl -M<\/code><\/pre>\n<p>Bir mod\u00fcl\u00fc etkinle\u015ftirmek i\u00e7in <code>a2enmod<\/code> komutunu kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod [mod\u00fcl_ad\u0131]<\/code><\/pre>\n<p>\u00d6rne\u011fin, URL yeniden yazma mod\u00fcl\u00fcn\u00fc etkinle\u015ftirmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod rewrite<\/code><\/pre>\n<p>Bir mod\u00fcl\u00fc devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in <code>a2dismod<\/code> komutunu kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo a2dismod [mod\u00fcl_ad\u0131]<\/code><\/pre>\n<p>Herhangi bir yap\u0131land\u0131rma de\u011fi\u015fikli\u011finden sonra (mod\u00fcl etkinle\u015ftirme\/devre d\u0131\u015f\u0131 b\u0131rakma dahil), Apache yap\u0131land\u0131rmas\u0131n\u0131 test etmeli ve ard\u0131ndan servisi yeniden ba\u015flatmal\u0131s\u0131n\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo apache2ctl configtest\nsudo systemctl restart apache2<\/code><\/pre>\n<p><code>configtest<\/code> komutu, yap\u0131land\u0131rma dosyan\u0131zda herhangi bir s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. E\u011fer <code>Syntax OK<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6r\u00fcrseniz, yeniden ba\u015flatma g\u00fcvenlidir.<\/p>\n<h3>4. Sanal Ana Bilgisayarlar (Virtual Hosts) Olu\u015fturma<\/h3>\n<p>Sanal ana bilgisayarlar, tek bir Apache sunucusu \u00fczerinde birden fazla web sitesini bar\u0131nd\u0131rman\u0131za olanak tan\u0131r. Her web sitesi, kendi alan ad\u0131na, belge k\u00f6k\u00fcne ve yap\u0131land\u0131rmas\u0131na sahip olabilir. Bu, \u00e7o\u011fu web sitesi bar\u0131nd\u0131rma senaryosu i\u00e7in standart bir yakla\u015f\u0131md\u0131r.<\/p>\n<p>Bu b\u00f6l\u00fcmde, <code>ornekalanadi.com<\/code> ad\u0131nda bir alan ad\u0131 i\u00e7in sanal ana bilgisayar olu\u015fturma s\u00fcrecini ad\u0131m ad\u0131m ele alaca\u011f\u0131z. Kendi alan ad\u0131n\u0131z\u0131 kullanmak i\u00e7in <code>ornekalanadi.com<\/code> yerine kendi alan ad\u0131n\u0131z\u0131 yazman\u0131z gerekmektedir.<\/p>\n<h4>4.1 Alan Ad\u0131 i\u00e7in Dizin Yap\u0131s\u0131 Olu\u015fturma<\/h4>\n<p>\u0130lk ad\u0131m, web sitenizin dosyalar\u0131n\u0131 bar\u0131nd\u0131racak bir dizin yap\u0131s\u0131 olu\u015fturmakt\u0131r. Genellikle, her sanal ana bilgisayar i\u00e7in <code>\/var\/www\/<\/code> alt\u0131nda ayr\u0131 bir dizin olu\u015fturulur.<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/ornekalanadi.com\/html<\/code><\/pre>\n<p>Bu komut, <code>ornekalanadi.com<\/code> i\u00e7in ana dizini ve i\u00e7inde web sitesi dosyalar\u0131n\u0131 bar\u0131nd\u0131racak <code>html<\/code> alt dizinini olu\u015fturur.<\/p>\n<p>Ard\u0131ndan, web sunucusunun bu dizinlere eri\u015febilmesi i\u00e7in do\u011fru izinleri ayarlamam\u0131z gerekir. Genellikle, web sunucusu s\u00fcre\u00e7leri <code>www-data<\/code> kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015f\u0131r. Ancak, dosyalar\u0131 olu\u015fturup d\u00fczenlerken kendi kullan\u0131c\u0131 hesab\u0131n\u0131z\u0131n sahipli\u011finde olmas\u0131 daha pratiktir.<\/p>\n<pre><code class=\"language-bash\">sudo chown -R $USER:$USER \/var\/www\/ornekalanadi.adresi\/html<\/code><\/pre>\n<p>Bu komut, <code>html<\/code> dizininin ve i\u00e7eri\u011finin sahipli\u011fini mevcut kullan\u0131c\u0131n\u0131za (<code>$USER<\/code>) verir.<\/p>\n<p>Son olarak, web k\u00f6k dizini i\u00e7in genel okuma izinlerini ayarlay\u0131n, b\u00f6ylece herkes web sitenizi g\u00f6r\u00fcnt\u00fcleyebilir:<\/p>\n<pre><code class=\"language-bash\">sudo chmod -R 755 \/var\/www\/ornekalanadi.com<\/code><\/pre>\n<h4>4.2 \u00d6rnek Bir HTML Sayfas\u0131 Olu\u015fturma<\/h4>\n<p>Sanal ana bilgisayar\u0131n\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test etmek i\u00e7in basit bir <code>index.html<\/code> dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/ornekalanadi.com\/html\/index.html<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7ine a\u015fa\u011f\u0131daki HTML i\u00e7eri\u011fini yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-html\"><!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n    <meta charset=\"utf-8\">\n    <title>Ho\u015f Geldiniz!<\/title>\n<\/head>\n<body>\n    \n    <p>Bu, ornekalanadi.com i\u00e7in varsay\u0131lan bir web sayfas\u0131d\u0131r.<\/p>\n<\/body>\n<\/html><\/code><\/pre>\n<p>Kaydedin ve kapat\u0131n (CTRL+X, Y, Enter).<\/p>\n<h4>4.3 Sanal Ana Bilgisayar Yap\u0131land\u0131rma Dosyas\u0131 Olu\u015fturma<\/h4>\n<p>Apache, sanal ana bilgisayar yap\u0131land\u0131rma dosyalar\u0131n\u0131 <code>\/etc\/apache2\/sites-available\/<\/code> dizininde saklar. Varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131n\u0131 kopyalayarak yeni bir dosya olu\u015fturmak en kolay yoldur:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/apache2\/sites-available\/000-default.conf \/etc\/apache2\/sites-available\/ornekalanadi.com.conf<\/code><\/pre>\n<p>\u015eimdi yeni olu\u015fturdu\u011funuz yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/sites-available\/ornekalanadi.com.conf<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7eri\u011fini a\u015fa\u011f\u0131daki gibi d\u00fczenleyin. \u00d6zellikle <code>ServerAdmin<\/code>, <code>DocumentRoot<\/code>, <code>ServerName<\/code> ve <code>ServerAlias<\/code> direktiflerine dikkat edin:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    ServerAdmin webmaster@ornekalanadi.com\n    ServerName ornekalanadi.com\n    ServerAlias www.ornekalanadi.com\n    DocumentRoot \/var\/www\/ornekalanadi.com\/html\n\n    ErrorLog ${APACHE_LOG_DIR}\/ornekalanadi.com_error.log\n    CustomLog ${APACHE_LOG_DIR}\/ornekalanadi.com_access.log combined\n\n    <Directory \/var\/www\/ornekalanadi.com\/html>\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n<\/VirtualHost><\/code><\/pre>\n<p>A\u00e7\u0131klamalar:<br \/>\n*   <code>ServerAdmin<\/code>: Sunucu y\u00f6neticisinin e-posta adresi. Hata mesajlar\u0131nda g\u00f6r\u00fcnebilir.<br \/>\n*   <code>ServerName<\/code>: Bu sanal ana bilgisayar\u0131n yan\u0131t verece\u011fi birincil alan ad\u0131.<br \/>\n*   <code>ServerAlias<\/code>: Bu sanal ana bilgisayar\u0131n yan\u0131t verece\u011fi di\u011fer alan adlar\u0131 (\u00f6rne\u011fin <code>www<\/code> \u00f6n eki ile).<br \/>\n*   <code>DocumentRoot<\/code>: Web sitesi dosyalar\u0131n\u0131n bulundu\u011fu dizin.<br \/>\n*   <code>ErrorLog<\/code> ve <code>CustomLog<\/code>: Bu sanal ana bilgisayar i\u00e7in hata ve eri\u015fim g\u00fcnl\u00fcklerinin kaydedilece\u011fi dosyalar. Bu, her site i\u00e7in ayr\u0131 g\u00fcnl\u00fck tutman\u0131za olanak tan\u0131r.<br \/>\n*   <code><Directory \/var\/www\/ornekalanadi.com\/html><\/code> blo\u011fu: Bu dizin i\u00e7in \u00f6zel ayarlar\u0131 tan\u0131mlar.<br \/>\n    *   <code>Options Indexes FollowSymLinks<\/code>: Dizin listelemeye (Indexes) ve sembolik ba\u011flant\u0131lar\u0131 takip etmeye (FollowSymLinks) izin verir. G\u00fcvenlik nedeniyle <code>Indexes<\/code> se\u00e7ene\u011fini kald\u0131rmak isteyebilirsiniz.<br \/>\n    *   <code>AllowOverride All<\/code>: <code>.htaccess<\/code> dosyalar\u0131n\u0131n bu dizindeki Apache direktiflerini ge\u00e7ersiz k\u0131lmas\u0131na izin verir. Bu, WordPress gibi CMS&#8217;ler i\u00e7in genellikle gereklidir.<br \/>\n    *   <code>Require all granted<\/code>: Bu dizine t\u00fcm isteklerin eri\u015fmesine izin verir.<\/p>\n<p>Kaydedin ve kapat\u0131n.<\/p>\n<h4>4.4 Sanal Ana Bilgisayar\u0131 Etkinle\u015ftirme<\/h4>\n<p>Yeni sanal ana bilgisayar yap\u0131land\u0131rma dosyas\u0131n\u0131 etkinle\u015ftirmek i\u00e7in <code>a2ensite<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo a2ensite ornekalanadi.com.conf<\/code><\/pre>\n<p>Bu komut, <code>\/etc\/apache2\/sites-available\/ornekalanadi.com.conf<\/code> dosyas\u0131ndan <code>\/etc\/apache2\/sites-enabled\/<\/code> dizinine bir sembolik ba\u011flant\u0131 olu\u015fturur.<\/p>\n<h4>4.5 Varsay\u0131lan Sanal Ana Bilgisayar\u0131 Devre D\u0131\u015f\u0131 B\u0131rakma (\u0130ste\u011fe Ba\u011fl\u0131)<\/h4>\n<p>E\u011fer sunucunuzda sadece \u00f6zel alan adlar\u0131n\u0131z \u00fczerinden eri\u015fim sa\u011flamak istiyorsan\u0131z, varsay\u0131lan <code>000-default.conf<\/code> sanal ana bilgisayar\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rakabilirsiniz. Bu, sunucunuzun IP adresine do\u011frudan eri\u015fildi\u011finde sitenizin g\u00f6r\u00fcnmesini engeller.<\/p>\n<pre><code class=\"language-bash\">sudo a2dissite 000-default.conf<\/code><\/pre>\n<h4>4.6 Yap\u0131land\u0131rmay\u0131 Test Etme ve Apache&#8217;yi Yeniden Ba\u015flatma<\/h4>\n<p>De\u011fi\u015fiklikleri uygulamadan \u00f6nce Apache yap\u0131land\u0131rman\u0131zda hata olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek her zaman iyi bir uygulamad\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apache2ctl configtest<\/code><\/pre>\n<p><code>Syntax OK<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6rmeniz durumunda, Apache servisini yeniden ba\u015flatarak de\u011fi\u015fiklikleri uygulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart apache2<\/code><\/pre>\n<h4>4.7 Alan Ad\u0131n\u0131 Test Etme<\/h4>\n<p>Sanal ana bilgisayar\u0131n\u0131z\u0131n do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in, alan ad\u0131n\u0131z\u0131n (\u00f6rne\u011fin <code>ornekalanadi.com<\/code>) sunucunuzun IP adresine i\u015faret etti\u011finden emin olman\u0131z gerekir. Bunu, alan ad\u0131 kay\u0131t \u015firketinizin DNS ayarlar\u0131ndan bir A kayd\u0131 olu\u015fturarak yapars\u0131n\u0131z.<\/p>\n<p>DNS de\u011fi\u015fikliklerinin internet genelinde yay\u0131lmas\u0131 biraz zaman alabilir (genellikle birka\u00e7 dakika ile birka\u00e7 saat aras\u0131nda). DNS yay\u0131l\u0131m\u0131 tamamland\u0131ktan sonra, web taray\u0131c\u0131n\u0131zdan <code>http:\/\/ornekalanadi.com<\/code> adresine giderek olu\u015fturdu\u011funuz \u00f6rnek HTML sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>5. Ek Apache Yap\u0131land\u0131rmalar\u0131 ve G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h3>\n<p>Apache kurulumunuzu daha i\u015flevsel, g\u00fcvenli ve performansl\u0131 hale getirmek i\u00e7in baz\u0131 ek yap\u0131land\u0131rmalar ve en iyi uygulamalar mevcuttur.<\/p>\n<h4>5.1 .htaccess Dosyalar\u0131n\u0131 Etkinle\u015ftirme<\/h4>\n<p><code>.htaccess<\/code> dosyalar\u0131, Apache&#8217;nin dizin baz\u0131nda yap\u0131land\u0131rma de\u011fi\u015fiklikleri yapmas\u0131na olanak tan\u0131r. \u00d6zellikle WordPress gibi i\u00e7erik y\u00f6netim sistemleri (CMS) veya di\u011fer web uygulamalar\u0131 i\u00e7in URL yeniden yazma (mod_rewrite) gibi \u00f6zellikler i\u00e7in gereklidir.<\/p>\n<p>\u00d6nceki sanal ana bilgisayar yap\u0131land\u0131rman\u0131zda (<code>ornekalanadi.com.conf<\/code>), <code><Directory \/var\/www\/ornekalanadi.com\/html><\/code> blo\u011fu i\u00e7inde <code>AllowOverride All<\/code> direktifini zaten ekledik. Bu direktif, <code>.htaccess<\/code> dosyalar\u0131n\u0131n bu dizindeki Apache direktiflerini ge\u00e7ersiz k\u0131lmas\u0131na izin verir.<\/p>\n<p>E\u011fer hen\u00fcz etkin de\u011filse, <code>mod_rewrite<\/code> mod\u00fcl\u00fcn\u00fc etkinle\u015ftirmeniz gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod rewrite<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri uygulamak i\u00e7in Apache&#8217;yi yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart apache2<\/code><\/pre>\n<p>Art\u0131k <code>DocumentRoot<\/code> dizininizde <code>.htaccess<\/code> dosyalar\u0131 olu\u015fturarak URL yeniden yazma kurallar\u0131, parola korumal\u0131 dizinler veya \u00f6zel hata sayfalar\u0131 gibi ayarlar\u0131 yapabilirsiniz.<\/p>\n<h4>5.2 SSL\/TLS Kurulumu (Certbot ile Let&#8217;s Encrypt)<\/h4>\n<p>G\u00fcn\u00fcm\u00fczde web siteleri i\u00e7in HTTPS kullanmak bir zorunluluk haline gelmi\u015ftir. HTTPS, taray\u0131c\u0131 ile sunucu aras\u0131ndaki ileti\u015fimi \u015fifreleyerek veri g\u00fcvenli\u011fini sa\u011flar. Let&#8217;s Encrypt, \u00fccretsiz SSL\/TLS sertifikalar\u0131 sa\u011flayan bir sertifika yetkilisidir ve Certbot arac\u0131 ile kolayca entegre edilebilir.<\/p>\n<p>\u00d6ncelikle Certbot ve Apache eklentisini kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install certbot python3-certbot-apache<\/code><\/pre>\n<p>Ard\u0131ndan, alan ad\u0131n\u0131z i\u00e7in bir SSL sertifikas\u0131 almak ve Apache yap\u0131land\u0131rmas\u0131n\u0131 otomatik olarak yapmak i\u00e7in Certbot&#8217;u \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo certbot --apache -d ornekalanadi.com -d www.ornekalanadi.com<\/code><\/pre>\n<p>Certbot, e-posta adresi, hizmet \u015fartlar\u0131 onay\u0131 gibi baz\u0131 sorular soracak ve ard\u0131ndan sertifikay\u0131 otomatik olarak al\u0131p Apache yap\u0131land\u0131rman\u0131z\u0131 HTTPS i\u00e7in g\u00fcncelleyecektir. Ayr\u0131ca, sertifikalar\u0131n otomatik yenilenmesini de ayarlayacakt\u0131r.<\/p>\n<h4>5.3 Apache G\u00fcvenli\u011fini Art\u0131rma<\/h4>\n<p>Web sunucunuzun g\u00fcvenli\u011fi, siber sald\u0131r\u0131lara kar\u015f\u0131 koruma sa\u011flamak i\u00e7in hayati \u00f6neme sahiptir. \u0130\u015fte baz\u0131 temel g\u00fcvenlik ipu\u00e7lar\u0131:<\/p>\n<p>*   <strong>Sunucu \u0130mzalar\u0131n\u0131 Kapatma:<\/strong> Varsay\u0131lan olarak Apache, hata sayfalar\u0131nda veya HTTP ba\u015fl\u0131klar\u0131nda sunucu s\u00fcr\u00fcm\u00fc ve i\u015fletim sistemi hakk\u0131nda bilgi g\u00f6sterir. Bu bilgiler, potansiyel sald\u0131rganlar i\u00e7in faydal\u0131 olabilir. Bu bilgileri gizlemek i\u00e7in <code>\/etc\/apache2\/apache2.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/apache2.conf<\/code><\/pre>\n<p>    A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulun veya ekleyin:<\/p>\n<pre><code class=\"language-apache\">ServerTokens Prod\n    ServerSignature Off<\/code><\/pre>\n<p>    <code>ServerTokens Prod<\/code>, Apache&#8217;nin sadece &#8220;Apache&#8221; olarak g\u00f6r\u00fcnmesini sa\u011flar (s\u00fcr\u00fcm numaras\u0131 olmadan). <code>ServerSignature Off<\/code>, sunucu taraf\u0131ndan olu\u015fturulan sayfalarda (hata sayfalar\u0131 gibi) sunucu s\u00fcr\u00fcm\u00fcn\u00fcn g\u00f6sterilmesini engeller.<\/p>\n<p>*   <strong>Dizin Listelemeyi Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong> E\u011fer bir dizinde <code>index.html<\/code> veya <code>index.php<\/code> gibi bir dizin dosyas\u0131 yoksa, Apache varsay\u0131lan olarak dizin i\u00e7eri\u011fini listeler. Bu, hassas bilgilerin a\u00e7\u0131\u011fa \u00e7\u0131kmas\u0131na neden olabilir. Dizin listelemeyi devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in, sanal ana bilgisayar yap\u0131land\u0131rman\u0131zdaki <code><Directory><\/code> blo\u011funda <code>Options -Indexes<\/code> kullan\u0131n:<\/p>\n<pre><code class=\"language-apache\"><Directory \/var\/www\/ornekalanadi.com\/html>\n        Options -Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory><\/code><\/pre>\n<p>    <code>Indexes<\/code> se\u00e7ene\u011finin \u00f6n\u00fcndeki eksi i\u015fareti, bu \u00f6zelli\u011fin devre d\u0131\u015f\u0131 b\u0131rak\u0131ld\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p>*   <strong>Gereksiz Mod\u00fclleri Devre D\u0131\u015f\u0131 B\u0131rakma:<\/strong> Kullanmad\u0131\u011f\u0131n\u0131z Apache mod\u00fcllerini devre d\u0131\u015f\u0131 b\u0131rakmak, sunucunuzun y\u00fczey alan\u0131n\u0131 azalt\u0131r ve potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 azalt\u0131r. \u00d6rne\u011fin, e\u011fer CGI betikleri kullanm\u0131yorsan\u0131z <code>mod_cgi<\/code> veya <code>mod_cgid<\/code> mod\u00fcllerini devre d\u0131\u015f\u0131 b\u0131rakabilirsiniz.<\/p>\n<p>*   <strong><code>mod_security<\/code> Kullan\u0131m\u0131:<\/strong> <code>mod_security<\/code>, Apache i\u00e7in g\u00fc\u00e7l\u00fc bir Web Uygulamas\u0131 G\u00fcvenlik Duvar\u0131 (WAF) mod\u00fcl\u00fcd\u00fcr. SQL enjeksiyonu, XSS (Cross-Site Scripting) gibi yayg\u0131n web sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flar. Kurulumu ve yap\u0131land\u0131rmas\u0131 daha karma\u015f\u0131k olsa da, y\u00fcksek g\u00fcvenlik gerektiren uygulamalar i\u00e7in \u00f6nerilir.<\/p>\n<p>*   <strong>D\u00fczenli G\u00fcncellemeler:<\/strong> Sisteminizdeki ve Apache&#8217;deki g\u00fcvenlik g\u00fcncellemelerini d\u00fczenli olarak yapmak, bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 korunman\u0131n en temel yoludur.<\/p>\n<p>T\u00fcm bu de\u011fi\u015fikliklerden sonra Apache&#8217;yi yeniden ba\u015flatmay\u0131 unutmay\u0131n.<\/p>\n<h4>5.4 Performans Optimizasyonu<\/h4>\n<p>Web sitenizin y\u00fckleme h\u0131z\u0131n\u0131 art\u0131rmak ve sunucu kaynaklar\u0131n\u0131 daha verimli kullanmak i\u00e7in Apache performans\u0131n\u0131 optimize edebilirsiniz:<\/p>\n<p>*   <strong>MPM (Multi-Processing Modules) Se\u00e7imi:<\/strong> Apache, istemci ba\u011flant\u0131lar\u0131n\u0131 i\u015flemek i\u00e7in farkl\u0131 MPM&#8217;ler kullan\u0131r. Ubuntu 20.04&#8217;te varsay\u0131lan olarak <code>event<\/code> MPM etkinle\u015ftirilmi\u015ftir ve \u00e7o\u011fu modern web sitesi i\u00e7in iyi bir performans sunar. Ancak, PHP&#8217;yi <code>mod_php<\/code> ile kullan\u0131yorsan\u0131z <code>prefork<\/code> MPM&#8217;ye ge\u00e7meniz gerekebilir. PHP-FPM kullan\u0131yorsan\u0131z <code>event<\/code> MPM daha uygun olacakt\u0131r.<\/p>\n<p>    *   Etkin MPM&#8217;yi kontrol etmek i\u00e7in: <code>sudo apache2ctl -V | grep -i mpm<\/code><br \/>\n    *   Bir MPM&#8217;yi devre d\u0131\u015f\u0131 b\u0131rakmak: <code>sudo a2dismod [mpm_ad\u0131]<\/code><br \/>\n    *   Bir MPM&#8217;yi etkinle\u015ftirmek: <code>sudo a2enmod [mpm_ad\u0131]<\/code><br \/>\n    *   \u00d6rne\u011fin, <code>prefork<\/code> MPM&#8217;yi etkinle\u015ftirmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo a2dismod mpm_event\n        sudo a2enmod mpm_prefork\n        sudo systemctl restart apache2<\/code><\/pre>\n<p>*   <strong><code>mod_deflate<\/code> (S\u0131k\u0131\u015ft\u0131rma):<\/strong> Bu mod\u00fcl, sunucudan g\u00f6nderilen dosyalar\u0131 (HTML, CSS, JavaScript gibi metin tabanl\u0131 i\u00e7erikler) s\u0131k\u0131\u015ft\u0131rarak bant geni\u015fli\u011fini azalt\u0131r ve sayfa y\u00fckleme s\u00fcrelerini h\u0131zland\u0131r\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod deflate\n    sudo systemctl restart apache2<\/code><\/pre>\n<p>    Daha sonra <code>\/etc\/apache2\/mods-enabled\/deflate.conf<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek hangi dosya t\u00fcrlerinin s\u0131k\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 yap\u0131land\u0131rabilirsiniz.<\/p>\n<p>*   <strong><code>mod_expires<\/code> (\u00d6nbellekleme):<\/strong> Bu mod\u00fcl, taray\u0131c\u0131lara belirli dosya t\u00fcrlerini ne kadar s\u00fcreyle \u00f6nbelle\u011fe alacaklar\u0131n\u0131 bildirerek tekrar eden ziyaretlerde sayfa y\u00fckleme s\u00fcrelerini azalt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod expires\n    sudo systemctl restart apache2<\/code><\/pre>\n<p>    <code>\/etc\/apache2\/mods-enabled\/expires.conf<\/code> veya sanal ana bilgisayar yap\u0131land\u0131rma dosyan\u0131zda \u00f6nbellekleme kurallar\u0131n\u0131 tan\u0131mlayabilirsiniz.<\/p>\n<h3>6. Sorun Giderme ve Yayg\u0131n Hatalar<\/h3>\n<p>Apache ile \u00e7al\u0131\u015f\u0131rken baz\u0131 sorunlarla kar\u015f\u0131la\u015fman\u0131z olas\u0131d\u0131r. Sorun giderme yetene\u011fi, bir sunucu y\u00f6neticisinin en \u00f6nemli becerilerinden biridir.<\/p>\n<h4>6.1 Apache G\u00fcnl\u00fcklerini Kontrol Etme<\/h4>\n<p>Apache&#8217;nin g\u00fcnl\u00fck dosyalar\u0131, sorun giderme i\u00e7in en de\u011ferli bilgi kaynaklar\u0131d\u0131r.<\/p>\n<p>*   <strong>Hata G\u00fcnl\u00fc\u011f\u00fc:<\/strong> Sunucunun kar\u015f\u0131la\u015ft\u0131\u011f\u0131 sorunlar\u0131, uyar\u0131lar\u0131 ve hatalar\u0131 kaydeder.<\/p>\n<pre><code class=\"language-bash\">sudo tail -f \/var\/log\/apache2\/error.log<\/code><\/pre>\n<p>    Bu komut, hata g\u00fcnl\u00fc\u011f\u00fcn\u00fc ger\u00e7ek zamanl\u0131 olarak izlemenizi sa\u011flar.<\/p>\n<p>*   <strong>Eri\u015fim G\u00fcnl\u00fc\u011f\u00fc:<\/strong> Web sitenize yap\u0131lan t\u00fcm istekleri kaydeder. Hangi sayfalar\u0131n ziyaret edildi\u011fini, hangi IP adreslerinden istek geldi\u011fini ve HTTP durum kodlar\u0131n\u0131 g\u00f6sterir.<\/p>\n<pre><code class=\"language-bash\">sudo tail -f \/var\/log\/apache2\/access.log<\/code><\/pre>\n<p>Sanal ana bilgisayarlar i\u00e7in \u00f6zel g\u00fcnl\u00fck dosyalar\u0131 ayarlad\u0131ysan\u0131z (\u00f6rne\u011fin <code>\/var\/log\/apache2\/ornekalanadi.com_error.log<\/code>), bunlar\u0131 kontrol etmeyi unutmay\u0131n.<\/p>\n<h4>6.2 Yap\u0131land\u0131rma S\u00f6z Dizimi Hatalar\u0131<\/h4>\n<p>Apache yap\u0131land\u0131rma dosyalar\u0131nda yap\u0131lan hatalar, servisin ba\u015flamamas\u0131na veya beklenmedik davran\u0131\u015flara neden olabilir.<\/p>\n<pre><code class=\"language-bash\">sudo apache2ctl configtest<\/code><\/pre>\n<p>Bu komut, yap\u0131land\u0131rma dosyalar\u0131n\u0131zdaki s\u00f6z dizimi hatalar\u0131n\u0131 kontrol eder. E\u011fer bir hata varsa, hatan\u0131n konumunu ve t\u00fcr\u00fcn\u00fc belirtir. \u00d6rne\u011fin, <code>Syntax error on line 123 of \/etc\/apache2\/apache2.conf: Invalid command 'ServerNamee'<\/code> gibi bir \u00e7\u0131kt\u0131 alabilirsiniz.<\/p>\n<h4>6.3 Ba\u011flant\u0131 Noktas\u0131 \u00c7ak\u0131\u015fmalar\u0131<\/h4>\n<p>Apache&#8217;nin varsay\u0131lan olarak 80 (HTTP) ve 443 (HTTPS) numaral\u0131 ba\u011flant\u0131 noktalar\u0131n\u0131 dinlemesi gerekir. Ba\u015fka bir servis bu ba\u011flant\u0131 noktalar\u0131n\u0131 kullan\u0131yorsa, Apache ba\u015flat\u0131lamaz.<\/p>\n<p>Hangi servislerin hangi ba\u011flant\u0131 noktalar\u0131n\u0131 kulland\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo ss -tulnp | grep -E ':80|:443'<\/code><\/pre>\n<p>veya<\/p>\n<pre><code class=\"language-bash\">sudo netstat -tulnp | grep -E ':80|:443'<\/code><\/pre>\n<p>Bu komutlar, 80 veya 443 numaral\u0131 ba\u011flant\u0131 noktalar\u0131n\u0131 dinleyen s\u00fcre\u00e7leri listeler. E\u011fer Apache d\u0131\u015f\u0131nda bir s\u00fcre\u00e7 listeleniyorsa, o servisi durdurman\u0131z veya ba\u011flant\u0131 noktas\u0131n\u0131 de\u011fi\u015ftirmeniz gerekebilir.<\/p>\n<h4>6.4 G\u00fcvenlik Duvar\u0131 Engellemeleri<\/h4>\n<p>UFW kurallar\u0131n\u0131z\u0131n do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun. E\u011fer 80 veya 443 numaral\u0131 ba\u011flant\u0131 noktalar\u0131na izin verilmediyse, web siteniz d\u0131\u015far\u0131dan eri\u015filemez olacakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo ufw status verbose<\/code><\/pre>\n<p>Bu komut, UFW&#8217;nin t\u00fcm kurallar\u0131n\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde g\u00f6sterir. Apache i\u00e7in gerekli ba\u011flant\u0131 noktalar\u0131n\u0131n &#8220;ALLOW&#8221; olarak listelendi\u011finden emin olun.<\/p>\n<h3>7. Sonu\u00e7<\/h3>\n<p>Bu rehberde, Apache web sunucusunu Ubuntu 20.04 \u00fczerine kurman\u0131n t\u00fcm ad\u0131mlar\u0131n\u0131, temel yap\u0131land\u0131rmalar\u0131n\u0131, sanal ana bilgisayarlar olu\u015fturmay\u0131, g\u00fcvenlik ve performans ipu\u00e7lar\u0131n\u0131 ve yayg\u0131n sorun giderme y\u00f6ntemlerini ayr\u0131nt\u0131l\u0131 olarak ele ald\u0131k. Art\u0131k kendi web sitelerinizi bar\u0131nd\u0131rmak i\u00e7in sa\u011flam ve g\u00fcvenilir bir Apache sunucusuna sahipsiniz.<\/p>\n<p>Kurulumdan sonraki ad\u0131mlar\u0131n\u0131z \u015funlar olabilir:<\/p>\n<p>*   <strong>\u0130\u00e7erik Y\u00f6netim Sistemi (CMS) Kurulumu:<\/strong> WordPress, Joomla, Drupal gibi bir CMS kurarak web sitenizin i\u00e7eri\u011fini kolayca y\u00f6netebilirsiniz.<br \/>\n*   <strong>Veritaban\u0131 Kurulumu:<\/strong> \u00c7o\u011fu web uygulamas\u0131 bir veritaban\u0131 gerektirir. MySQL\/MariaDB veya PostgreSQL gibi bir veritaban\u0131 sunucusu kurman\u0131z gerekebilir.<br \/>\n*   <strong>FTP Sunucusu Kurulumu:<\/strong> Dosyalar\u0131 sunucuya daha kolay aktarmak i\u00e7in bir FTP sunucusu (\u00f6rne\u011fin vsftpd) kurabilirsiniz.<br \/>\n*   <strong>\u0130leri Seviye Apache Yap\u0131land\u0131rmalar\u0131:<\/strong> Daha karma\u015f\u0131k y\u00f6nlendirmeler, kimlik do\u011frulama mekanizmalar\u0131 veya \u00f6zel mod\u00fcller gibi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re Apache&#8217;yi daha da \u00f6zelle\u015ftirebilirsiniz.<\/p>\n<p>Unutmay\u0131n ki bir sunucuyu y\u00f6netmek s\u00fcrekli bir \u00f6\u011frenme ve dikkat gerektiren bir s\u00fcre\u00e7tir. G\u00fcvenlik g\u00fcncellemelerini takip etmek, g\u00fcnl\u00fckleri d\u00fczenli olarak kontrol etmek ve performans iyile\u015ftirmeleri yapmak, sunucunuzun sa\u011fl\u0131kl\u0131 ve g\u00fcvenli \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in \u00f6nemlidir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Apache Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi\nApache HTTP Sunucusu, d\u00fcnya genelinde en yayg\u0131n kullan\u0131lan a\u00e7\u0131k kaynak kodlu web sun","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":[1468],"tags":[],"class_list":{"0":"post-31259","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","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 Web Sunucusunu Ubuntu 20.04 \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-web-sunucusunu-ubuntu-20-04-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 Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Apache Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi Apache HTTP Sunucusu, d\u00fcnya genelinde en yayg\u0131n kullan\u0131lan a\u00e7\u0131k kaynak kodlu web sun\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-07T20:41:21+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=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Apache Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi\",\"datePublished\":\"2025-10-07T20:41:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/\"},\"wordCount\":3466,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/\",\"name\":\"Apache Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-07T20:41:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache Web Sunucusunu Ubuntu 20.04 \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 Web Sunucusunu Ubuntu 20.04 \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-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Apache Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi","og_description":"Apache Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi Apache HTTP Sunucusu, d\u00fcnya genelinde en yayg\u0131n kullan\u0131lan a\u00e7\u0131k kaynak kodlu web sun","og_url":"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-07T20:41:21+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Apache Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi","datePublished":"2025-10-07T20:41:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/"},"wordCount":3466,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/","name":"Apache Web Sunucusunu Ubuntu 20.04 \u00dczerine Kurulum Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-07T20:41:21+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/apache-web-sunucusunu-ubuntu-20-04-uzerine-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Apache Web Sunucusunu Ubuntu 20.04 \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\/31259","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=31259"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31259\/revisions"}],"predecessor-version":[{"id":31260,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31259\/revisions\/31260"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}