{"id":35662,"date":"2025-12-02T11:41:38","date_gmt":"2025-12-02T08:41:38","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35662"},"modified":"2025-12-02T11:41:38","modified_gmt":"2025-12-02T08:41:38","slug":"apache-http-sunucusu-kapsamli-bir-teknik-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/","title":{"rendered":"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber<\/h2>\n<p>\u0130nternet d\u00fcnyas\u0131n\u0131n temel ta\u015flar\u0131ndan biri olan Apache HTTP Sunucusu, web sitelerinin ve uygulamalar\u0131n\u0131n kullan\u0131c\u0131lara ula\u015fmas\u0131n\u0131 sa\u011flayan a\u00e7\u0131k kaynakl\u0131, g\u00fc\u00e7l\u00fc ve esnek bir yaz\u0131l\u0131md\u0131r. Onlarca y\u0131ld\u0131r sekt\u00f6r standard\u0131 olarak kabul edilen Apache, d\u00fcnya genelindeki web sitelerinin \u00f6nemli bir y\u00fczdesine g\u00fc\u00e7 vermektedir. Bu rehberde, Apache&#8217;nin ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, kurulumunu, temel yap\u0131land\u0131rmas\u0131n\u0131 ve pratik kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h2>Apache HTTP Sunucusu Nedir?<\/h2>\n<p>Apache HTTP Sunucusu (genellikle sadece &#8220;Apache&#8221; olarak an\u0131l\u0131r), d\u00fcnya \u00e7ap\u0131nda en \u00e7ok kullan\u0131lan web sunucu yaz\u0131l\u0131mlar\u0131ndan biridir. \u0130lk olarak 1995 y\u0131l\u0131nda geli\u015ftirilen ve Apache Yaz\u0131l\u0131m Vakf\u0131 (Apache Software Foundation) taraf\u0131ndan s\u00fcrd\u00fcr\u00fclen bu yaz\u0131l\u0131m, a\u00e7\u0131k kaynak kodlu yap\u0131s\u0131 sayesinde s\u00fcrekli olarak geli\u015ftirilmekte ve geni\u015f bir topluluk taraf\u0131ndan desteklenmektedir. Apache, bir istemcinin (\u00f6rne\u011fin bir web taray\u0131c\u0131s\u0131) yapt\u0131\u011f\u0131 HTTP iste\u011fini al\u0131r, istenen kaynaklar\u0131 (HTML sayfalar\u0131, resimler, CSS dosyalar\u0131, JavaScript dosyalar\u0131 vb.) bulur ve istemciye geri g\u00f6nderir.<\/p>\n<h3>Temel \u00d6zellikleri<\/h3>\n<ul>\n<li><strong>Mod\u00fcler Yap\u0131:<\/strong> Apache, \u00e7ekirdek i\u015flevselli\u011fini mod\u00fcller arac\u0131l\u0131\u011f\u0131yla geni\u015fletir. Bu, sunucuya yaln\u0131zca ihtiya\u00e7 duyulan \u00f6zelliklerin y\u00fcklenmesini sa\u011flayarak performans\u0131 art\u0131r\u0131r ve esneklik sunar (\u00f6rne\u011fin, PHP i\u00e7in <code>mod_php<\/code>, SSL i\u00e7in <code>mod_ssl<\/code>, URL yeniden yazma i\u00e7in <code>mod_rewrite<\/code>).<\/li>\n<li><strong>Platformlar Aras\u0131 Uyumluluk:<\/strong> Linux, Unix, Windows, macOS gibi bir\u00e7ok farkl\u0131 i\u015fletim sistemi \u00fczerinde sorunsuz bir \u015fekilde \u00e7al\u0131\u015fabilir.<\/li>\n<li><strong>Esneklik ve Geni\u015fletilebilirlik:<\/strong> Geni\u015f yap\u0131land\u0131rma se\u00e7enekleri ve mod\u00fcler yap\u0131s\u0131 sayesinde, k\u00fc\u00e7\u00fck ki\u015fisel bloglardan b\u00fcy\u00fck kurumsal uygulamalara kadar \u00e7e\u015fitli ihtiya\u00e7lara uyarlanabilir.<\/li>\n<li><strong>Sanal Host Deste\u011fi:<\/strong> Tek bir fiziksel sunucu \u00fczerinde birden fazla web sitesini (farkl\u0131 alan adlar\u0131 veya IP adresleri kullanarak) bar\u0131nd\u0131rma olana\u011f\u0131 sunar.<\/li>\n<li><strong>G\u00fcvenlik:<\/strong> S\u00fcrekli g\u00fcncellenen g\u00fcvenlik yamalar\u0131 ve esnek eri\u015fim kontrol mekanizmalar\u0131 ile g\u00fc\u00e7l\u00fc g\u00fcvenlik \u00f6zellikleri sunar.<\/li>\n<li><strong>Kimlik Do\u011frulama ve Yetkilendirme:<\/strong> Kullan\u0131c\u0131 ad\u0131\/\u015fifre tabanl\u0131 veya sertifika tabanl\u0131 kimlik do\u011frulama gibi \u00e7e\u015fitli y\u00f6ntemlerle eri\u015fimi k\u0131s\u0131tlama yetene\u011fine sahiptir.<\/li>\n<li><strong>Dinamik \u0130\u00e7erik Deste\u011fi:<\/strong> CGI, FastCGI, PHP, Python, Perl gibi programlama dilleri i\u00e7in \u00e7e\u015fitli mod\u00fcller arac\u0131l\u0131\u011f\u0131yla dinamik web i\u00e7eri\u011fi sunabilir.<\/li>\n<\/ul>\n<h3>Apache Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p>Apache, temel olarak istemci-sunucu modeline g\u00f6re \u00e7al\u0131\u015f\u0131r. Bir kullan\u0131c\u0131 web taray\u0131c\u0131s\u0131na bir URL yazd\u0131\u011f\u0131nda veya bir ba\u011flant\u0131ya t\u0131klad\u0131\u011f\u0131nda, taray\u0131c\u0131 (istemci) bu iste\u011fi Apache sunucusuna g\u00f6nderir. Apache, varsay\u0131lan olarak HTTP istekleri i\u00e7in 80 numaral\u0131 ba\u011flant\u0131 noktas\u0131n\u0131 (port) ve HTTPS (g\u00fcvenli HTTP) istekleri i\u00e7in 443 numaral\u0131 ba\u011flant\u0131 noktas\u0131n\u0131 dinler.<\/p>\n<p>\u0130stek sunucuya ula\u015ft\u0131\u011f\u0131nda, Apache:<\/p>\n<ol>\n<li>\u0130ste\u011fi ayr\u0131\u015ft\u0131r\u0131r ve hangi kaynak dosyas\u0131n\u0131n (HTML, resim vb.) istendi\u011fini belirler.<\/li>\n<li>\u0130stenen dosyay\u0131 sunucu dosya sisteminde arar.<\/li>\n<li>Dosya bulundu\u011funda, gerekli izinleri kontrol eder ve dosyay\u0131 istemciye geri g\u00f6nderir.<\/li>\n<li>Dosya bulunamazsa (404 Not Found hatas\u0131) veya ba\u015fka bir hata olu\u015fursa, ilgili hata kodunu ve mesaj\u0131n\u0131 istemciye iletir.<\/li>\n<\/ol>\n<p>Apache, gelen istekleri i\u015flemek i\u00e7in \u00e7e\u015fitli \u00c7oklu \u0130\u015flem Mod\u00fclleri (Multi-Processing Modules &#8211; MPMs) kullan\u0131r. En yayg\u0131n olanlar\u0131 <code>prefork<\/code> (her istek i\u00e7in ayr\u0131 bir i\u015flem), <code>worker<\/code> (i\u015f par\u00e7ac\u0131klar\u0131 kullanan i\u015flemler) ve <code>event<\/code> (daha verimli ba\u011flant\u0131 y\u00f6netimi) MPM&#8217;leridir. Bu MPM&#8217;ler, sunucunun e\u015f zamanl\u0131 ba\u011flant\u0131lar\u0131 ve kaynak kullan\u0131m\u0131n\u0131 nas\u0131l y\u00f6netece\u011fini belirler.<\/p>\n<h2>Kurulum ve Temel Yap\u0131land\u0131rma<\/h2>\n<p>Apache&#8217;nin kurulumu ve yap\u0131land\u0131rmas\u0131, kullan\u0131lan i\u015fletim sistemine g\u00f6re de\u011fi\u015fiklik g\u00f6sterebilir.<\/p>\n<h3>Kurulum<\/h3>\n<h4>Linux (Debian\/Ubuntu tabanl\u0131 sistemler)<\/h4>\n<p>Terminali a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>sudo apt update\nsudo apt install apache2\nsudo systemctl start apache2\nsudo systemctl enable apache2\n<\/code><\/pre>\n<p>Kurulumdan sonra web taray\u0131c\u0131n\u0131zdan <code>http:\/\/localhost<\/code> adresine giderek Apache&#8217;nin varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h4>Linux (CentOS\/RHEL tabanl\u0131 sistemler)<\/h4>\n<pre><code>sudo yum update\nsudo yum install httpd\nsudo systemctl start httpd\nsudo systemctl enable httpd\n<\/code><\/pre>\n<p>CentOS\/RHEL sistemlerde Apache servisi <code>httpd<\/code> olarak adland\u0131r\u0131l\u0131r.<\/p>\n<h4>Windows<\/h4>\n<p>Windows i\u00e7in Apache Lounge gibi g\u00fcvenilir kaynaklardan Apache ikili dosyalar\u0131n\u0131 indirip kurulum talimatlar\u0131n\u0131 takip edebilirsiniz. Genellikle bir ZIP dosyas\u0131 indirilir, klas\u00f6re a\u00e7\u0131l\u0131r ve <code>httpd.conf<\/code> dosyas\u0131nda gerekli d\u00fczenlemeler yap\u0131ld\u0131ktan sonra servis olarak kaydedilir.<\/p>\n<h3>Temel Yap\u0131land\u0131rma<\/h3>\n<p>Apache&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131 Linux sistemlerde genellikle <code>\/etc\/apache2\/apache2.conf<\/code> (Debian\/Ubuntu) veya <code>\/etc\/httpd\/conf\/httpd.conf<\/code> (CentOS\/RHEL) konumunda bulunur. Windows&#8217;ta ise kurulum dizinindeki <code>conf\/httpd.conf<\/code> i\u00e7indedir.<\/p>\n<p>Bu dosyada ayarlayabilece\u011finiz baz\u0131 \u00f6nemli y\u00f6nergeler (directives) \u015funlard\u0131r:<\/p>\n<ul>\n<li><code>Listen 80<\/code>: Apache&#8217;nin hangi portu dinleyece\u011fini belirtir.<\/li>\n<li><code>ServerName example.com<\/code>: Sunucunun alan ad\u0131n\u0131 belirler. Sanal hostlar i\u00e7in \u00f6nemlidir.<\/li>\n<li><code>DocumentRoot \"\/var\/www\/html\"<\/code>: Web sitenizin k\u00f6k dizinini belirtir. Taray\u0131c\u0131dan bir istek geldi\u011finde Apache bu dizin alt\u0131nda dosya arar.<\/li>\n<li><code>ErrorLog ${APACHE_LOG_DIR}\/error.log<\/code>: Hata g\u00fcnl\u00fcklerinin yaz\u0131laca\u011f\u0131 dosyan\u0131n yolunu belirtir.<\/li>\n<li><code>CustomLog ${APACHE_LOG_DIR}\/access.log combined<\/code>: Eri\u015fim g\u00fcnl\u00fcklerinin yaz\u0131laca\u011f\u0131 dosyan\u0131n yolunu ve format\u0131n\u0131 belirtir.<\/li>\n<li><code><Directory \/var\/www\/html> ... <\/Directory><\/code>: Belirli bir dizin i\u00e7in eri\u015fim ve yap\u0131land\u0131rma ayarlar\u0131n\u0131 yapar.<\/li>\n<\/ul>\n<p>\u00d6rnek bir temel yap\u0131land\u0131rma (<code>httpd.conf<\/code> veya <code>apache2.conf<\/code> i\u00e7inde):<\/p>\n<pre><code class=\"language-apacheconf\"># Sunucunun dinleyece\u011fi port\nListen 80\n\n<h2>Sunucunun alan ad\u0131 (gerekliyse)<\/h2>\n<h2>ServerName www.example.com:80<\/h2>\n\n<h2>Ana web sitesinin k\u00f6k dizini<\/h2>\nDocumentRoot \"\/var\/www\/html\"\n<Directory \"\/var\/www\/html\">\n    # Dizin listelemeyi kapat, indeks dosyalar\u0131n\u0131 ara\n    Options -Indexes +FollowSymLinks\n    # .htaccess dosyalar\u0131n\u0131n kullan\u0131m\u0131na izin ver\n    AllowOverride All\n    # Herkesin eri\u015fimine izin ver\n    Require all granted\n<\/Directory>\n\n<h2>Hata g\u00fcnl\u00fckleri<\/h2>\nErrorLog ${APACHE_LOG_DIR}\/error.log\n\n<h2>Eri\u015fim g\u00fcnl\u00fckleri<\/h2>\nCustomLog ${APACHE_LOG_DIR}\/access.log combined\n<\/code><\/pre>\n<p>Yap\u0131land\u0131rma dosyas\u0131nda de\u011fi\u015fiklik yapt\u0131ktan sonra Apache servisini yeniden ba\u015flatmay\u0131 unutmay\u0131n:<\/p>\n<pre><code>sudo systemctl restart apache2 # Debian\/Ubuntu\nsudo systemctl restart httpd   # CentOS\/RHEL\n<\/code><\/pre>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131n s\u00f6zdizimini kontrol etmek i\u00e7in:<\/p>\n<pre><code>sudo apachectl configtest\n<\/code><\/pre>\n<h3>Sanal Hostlar (Virtual Hosts)<\/h3>\n<p>Sanal hostlar, tek bir Apache sunucusunda birden fazla web sitesi bar\u0131nd\u0131rman\u0131n anahtar\u0131d\u0131r. Her sanal host, kendi alan ad\u0131na, dok\u00fcman k\u00f6k dizinine (<code>DocumentRoot<\/code>), log dosyalar\u0131na ve hatta farkl\u0131 yap\u0131land\u0131rma ayarlar\u0131na sahip olabilir.<\/p>\n<p>Debian\/Ubuntu&#8217;da sanal host yap\u0131land\u0131rma dosyalar\u0131 genellikle <code>\/etc\/apache2\/sites-available\/<\/code> dizininde bulunur ve <code>.conf<\/code> uzant\u0131l\u0131d\u0131r. Etkinle\u015ftirmek i\u00e7in bu dosyalar\u0131n <code>\/etc\/apache2\/sites-enabled\/<\/code> dizinine sembolik bir ba\u011flant\u0131s\u0131 olmal\u0131d\u0131r.<\/p>\n<p>\u00d6rnek bir sanal host yap\u0131land\u0131rmas\u0131 (<code>\/etc\/apache2\/sites-available\/example.com.conf<\/code>):<\/p>\n<pre><code class=\"language-apacheconf\"><VirtualHost *:80>\n    ServerAdmin webmaster@example.com\n    ServerName example.com\n    ServerAlias www.example.com\n    DocumentRoot \/var\/www\/example.com\/public_html\n    ErrorLog ${APACHE_LOG_DIR}\/example.com_error.log\n    CustomLog ${APACHE_LOG_DIR}\/example.com_access.log combined\n\n    <Directory \/var\/www\/example.com\/public_html>\n        Options -Indexes +FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n<\/VirtualHost>\n<\/code><\/pre>\n<p>Bu sanal hostu etkinle\u015ftirmek i\u00e7in:<\/p>\n<pre><code>sudo a2ensite example.com.conf\nsudo systemctl reload apache2\n<\/code><\/pre>\n<p>Bir sanal hostu devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in <code>a2dissite<\/code> komutunu kullan\u0131n.<\/p>\n<h2>\u0130leri D\u00fczey Konular ve Pratik Kullan\u0131m Senaryolar\u0131<\/h2>\n<h3>Mod\u00fcller<\/h3>\n<p>Apache&#8217;nin g\u00fcc\u00fc, mod\u00fcler yap\u0131s\u0131ndan gelir. Her mod\u00fcl, sunucuya belirli bir i\u015flevsellik ekler. \u0130\u015fte baz\u0131 yayg\u0131n mod\u00fcller ve kullan\u0131m alanlar\u0131:<\/p>\n<ul>\n<li><code>mod_ssl<\/code>: HTTPS (g\u00fcvenli HTTP) ba\u011flant\u0131lar\u0131 i\u00e7in SSL\/TLS \u015fifrelemesi sa\u011flar.<\/li>\n<li><code>mod_rewrite<\/code>: URL&#8217;leri yeniden yazmak i\u00e7in kullan\u0131l\u0131r, SEO dostu URL&#8217;ler olu\u015fturmaya veya eski URL&#8217;leri yenilerine y\u00f6nlendirmeye yarar.<\/li>\n<li><code>mod_proxy<\/code>: Apache&#8217;yi bir vekil sunucu (proxy server) olarak \u00e7al\u0131\u015ft\u0131rmaya olanak tan\u0131r, gelen istekleri ba\u015fka sunuculara y\u00f6nlendirebilir.<\/li>\n<li><code>mod_headers<\/code>: HTTP yan\u0131t ba\u015fl\u0131klar\u0131n\u0131 manip\u00fcle etmek i\u00e7in kullan\u0131l\u0131r (\u00f6rne\u011fin, g\u00fcvenlik ba\u015fl\u0131klar\u0131 eklemek).<\/li>\n<li><code>mod_deflate<\/code>: Giden i\u00e7eri\u011fi s\u0131k\u0131\u015ft\u0131rarak bant geni\u015fli\u011fini ve sayfa y\u00fckleme s\u00fcresini azalt\u0131r.<\/li>\n<\/ul>\n<p>Bir mod\u00fcl\u00fc etkinle\u015ftirmek veya devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in Debian\/Ubuntu&#8217;da a\u015fa\u011f\u0131daki komutlar\u0131 kullanabilirsiniz:<\/p>\n<pre><code>sudo a2enmod rewrite   # mod_rewrite'\u0131 etkinle\u015ftir\nsudo a2dismod ssl     # mod_ssl'i devre d\u0131\u015f\u0131 b\u0131rak\nsudo systemctl restart apache2\n<\/code><\/pre>\n<p><strong><code>mod_rewrite<\/code> \u00d6rne\u011fi:<\/strong><\/p>\n<p>A\u015fa\u011f\u0131daki \u00f6rnek, <code>http:\/\/example.com\/eski-sayfa.html<\/code> adresine gelen bir iste\u011fi <code>http:\/\/example.com\/yeni-sayfa.php<\/code> adresine y\u00f6nlendirir:<\/p>\n<pre><code class=\"language-apacheconf\"><VirtualHost *:80>\n    ServerName example.com\n    DocumentRoot \/var\/www\/example.com\/public_html\n\n    RewriteEngine On\n    RewriteRule ^\/eski-sayfa\\.html$ \/yeni-sayfa.php [R=301,L]\n<\/VirtualHost>\n<\/code><\/pre>\n<p>Bu kural\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in <code>mod_rewrite<\/code> mod\u00fcl\u00fcn\u00fcn etkin olmas\u0131 gerekir.<\/p>\n<h3>.htaccess Dosyalar\u0131<\/h3>\n<p><code>.htaccess<\/code> dosyalar\u0131, Apache&#8217;nin ana yap\u0131land\u0131rma dosyas\u0131na eri\u015fimi olmayan kullan\u0131c\u0131lar\u0131n (\u00f6rne\u011fin payla\u015f\u0131ml\u0131 hosting kullan\u0131c\u0131lar\u0131) belirli dizinler i\u00e7in Apache yap\u0131land\u0131rmas\u0131n\u0131 de\u011fi\u015ftirmesine olanak tan\u0131r. Bu dosyalar, bulunduklar\u0131 dizin ve alt dizinler i\u00e7in ge\u00e7erlidir.<\/p>\n<p>Yayg\u0131n kullan\u0131m alanlar\u0131:<\/p>\n<ul>\n<li>URL yeniden yazma (<code>mod_rewrite<\/code> kurallar\u0131)<\/li>\n<li>Parola korumal\u0131 dizinler olu\u015fturma<\/li>\n<li>\u00d6zel hata sayfalar\u0131 belirleme (404 Not Found, 500 Internal Server Error vb.)<\/li>\n<li>IP adreslerine g\u00f6re eri\u015fim kontrol\u00fc<\/li>\n<li>Varsay\u0131lan indeks dosyalar\u0131n\u0131 de\u011fi\u015ftirme<\/li>\n<\/ul>\n<p><code>.htaccess<\/code> dosyalar\u0131n\u0131n \u00e7al\u0131\u015fabilmesi i\u00e7in ilgili <code><Directory><\/code> blo\u011funda <code>AllowOverride All<\/code> veya en az\u0131ndan ihtiyac\u0131n\u0131z olan y\u00f6nergeler i\u00e7in <code>AllowOverride<\/code> de\u011ferinin ayarlanm\u0131\u015f olmas\u0131 gerekir.<\/p>\n<p><strong><code>.htaccess<\/code> \u00d6rne\u011fi (301 Y\u00f6nlendirme):<\/strong><\/p>\n<pre><code class=\"language-apacheconf\"># eski-sayfa.html adresini yeni-sayfa.php adresine kal\u0131c\u0131 olarak y\u00f6nlendir\nRedirect 301 \/eski-sayfa.html \/yeni-sayfa.php\n<\/code><\/pre>\n<p><strong><code>.htaccess<\/code> \u00d6rne\u011fi (\u015eifre Korumas\u0131):<\/strong><\/p>\n<pre><code class=\"language-apacheconf\">AuthType Basic\nAuthName \"K\u0131s\u0131tl\u0131 Alan\"\nAuthUserFile \/etc\/apache2\/.htpasswd\nRequire valid-user\n<\/code><\/pre>\n<p>Bu \u00f6rne\u011fin \u00e7al\u0131\u015fmas\u0131 i\u00e7in <code>.htpasswd<\/code> dosyas\u0131n\u0131 olu\u015fturman\u0131z gerekir:<\/p>\n<pre><code>sudo htpasswd -c \/etc\/apache2\/.htpasswd username\n<\/code><\/pre>\n<h3>G\u00fcvenlik En \u0130yi Uygulamalar\u0131<\/h3>\n<ul>\n<li><strong>G\u00fcncel Tutun:<\/strong> Apache ve i\u015fletim sisteminizi d\u00fczenli olarak g\u00fcncelleyerek bilinen g\u00fcvenlik a\u00e7\u0131klar\u0131ndan korunun.<\/li>\n<li><strong>Gereksiz Mod\u00fclleri Devre D\u0131\u015f\u0131 B\u0131rak\u0131n:<\/strong> Kullanmad\u0131\u011f\u0131n\u0131z mod\u00fclleri <code>a2dismod<\/code> ile devre d\u0131\u015f\u0131 b\u0131rak\u0131n. Bu, potansiyel sald\u0131r\u0131 y\u00fczeyini azalt\u0131r.<\/li>\n<li><strong>Dizin Listelemeyi Kapat\u0131n:<\/strong> <code>Options -Indexes<\/code> y\u00f6nergesini kullanarak kullan\u0131c\u0131lar\u0131n dizin i\u00e7eriklerini listelemesini engelleyin.<\/li>\n<li><strong><code>.htaccess<\/code> K\u0131s\u0131tlamalar\u0131:<\/strong> <code>AllowOverride<\/code> y\u00f6nergesini yaln\u0131zca ger\u00e7ekten ihtiya\u00e7 duyulan yerlerde ve minimum d\u00fczeyde kullan\u0131n. Performans ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan ana yap\u0131land\u0131rma dosyas\u0131n\u0131 tercih edin.<\/li>\n<li><strong>SSL\/TLS Kullan\u0131n:<\/strong> <code>mod_ssl<\/code> ile t\u00fcm hassas web siteleri i\u00e7in HTTPS kullan\u0131n. \u00dccretsiz Let&#8217;s Encrypt sertifikalar\u0131 bu konuda b\u00fcy\u00fck kolayl\u0131k sa\u011flar.<\/li>\n<li><strong>Eri\u015fim Kontrol\u00fc:<\/strong> Hassas dizinlere veya y\u00f6netim panellerine IP adresi k\u0131s\u0131tlamalar\u0131 uygulay\u0131n (<code>Require ip 192.168.1.0\/24<\/code>).<\/li>\n<li><strong>Sunucu \u0130mzalar\u0131n\u0131 Gizleyin:<\/strong> <code>ServerSignature Off<\/code> ve <code>ServerTokens Prod<\/code> y\u00f6nergeleriyle Apache s\u00fcr\u00fcm bilgilerini gizleyerek potansiyel sald\u0131rganlara bilgi vermeyi engelleyin.<\/li>\n<li><strong>G\u00fcnl\u00fckleri \u0130zleyin:<\/strong> Eri\u015fim ve hata g\u00fcnl\u00fcklerini d\u00fczenli olarak kontrol ederek anormal aktiviteleri veya sald\u0131r\u0131 giri\u015fimlerini tespit edin.<\/li>\n<\/ul>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Apache HTTP Sunucusu, web d\u00fcnyas\u0131n\u0131n bel kemi\u011fi olmaya devam eden, g\u00fcvenilir, esnek ve g\u00fc\u00e7l\u00fc bir platformdur. A\u00e7\u0131k kaynak kodlu yap\u0131s\u0131, geni\u015f mod\u00fcl deste\u011fi ve aktif toplulu\u011fu sayesinde, web geli\u015ftiricileri ve sistem y\u00f6neticileri i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r. Do\u011fru yap\u0131land\u0131rma ve g\u00fcvenlik uygulamalar\u0131yla, Apache ile y\u00fcksek performansl\u0131 ve g\u00fcvenli web ortamlar\u0131 olu\u015fturmak m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>Apache mi, Nginx mi? Hangisini Kullanmal\u0131y\u0131m?<\/h4>\n<p>Hem Apache hem de Nginx pop\u00fcler web sunucular\u0131d\u0131r, ancak farkl\u0131 mimarilere sahiptirler. Apache, zengin mod\u00fcl deste\u011fi ve <code>.htaccess<\/code> gibi dizin bazl\u0131 yap\u0131land\u0131rma yetene\u011fi ile esneklik sunar. Nginx ise daha \u00e7ok y\u00fcksek performansl\u0131 statik i\u00e7erik sunumu ve ters proxy (reverse proxy) olarak \u00f6ne \u00e7\u0131kar, daha az kaynak t\u00fcketir. Genel bir kural olarak, dinamik i\u00e7erik yo\u011fun sitelerde (WordPress gibi) Apache, y\u00fcksek trafikli statik sitelerde veya y\u00fck dengeleyici olarak Nginx tercih edilebilir. \u00c7o\u011fu zaman ikisi birlikte (Nginx \u00f6n u\u00e7ta proxy, Apache arka u\u00e7ta uygulama sunucusu olarak) kullan\u0131l\u0131r.<\/p>\n<h4>Apache neden bu kadar pop\u00fcler?<\/h4>\n<p>Apache&#8217;nin pop\u00fclerli\u011finin arkas\u0131nda birka\u00e7 temel neden yatmaktad\u0131r: uzun ge\u00e7mi\u015fi ve olgunlu\u011fu, a\u00e7\u0131k kaynak kodlu ve \u00fccretsiz olmas\u0131, geni\u015f platform deste\u011fi, zengin mod\u00fcl ekosistemi, kapsaml\u0131 dok\u00fcmantasyonu ve b\u00fcy\u00fck, aktif bir topluluk deste\u011fi.<\/p>\n<h4>Apache ile neler yapabilirim?<\/h4>\n<p>Apache ile statik HTML web sitelerinden, PHP, Python, Perl gibi dillerle yaz\u0131lm\u0131\u015f dinamik web uygulamalar\u0131na (WordPress, Joomla, Drupal gibi CMS&#8217;ler dahil) kadar her t\u00fcrl\u00fc web i\u00e7eri\u011fini bar\u0131nd\u0131rabilirsiniz. Ayr\u0131ca bir ters proxy, y\u00fck dengeleyici veya sanal host sunucusu olarak da g\u00f6rev yapabilir.<\/p>\n<h4>Apache \u00fccretli mi?<\/h4>\n<p>Hay\u0131r, Apache HTTP Sunucusu Apache Yaz\u0131l\u0131m Vakf\u0131 taraf\u0131ndan geli\u015ftirilen a\u00e7\u0131k kaynakl\u0131 bir yaz\u0131l\u0131md\u0131r ve tamamen \u00fccretsizdir. Kullan\u0131m\u0131, da\u011f\u0131t\u0131m\u0131 ve de\u011fi\u015ftirilmesi i\u00e7in herhangi bir lisans \u00fccreti talep edilmez.<\/p>\n<h4><code>.htaccess<\/code> dosyalar\u0131 performans\u0131 etkiler mi?<\/h4>\n<p>Evet, <code>.htaccess<\/code> dosyalar\u0131 Apache&#8217;nin her istekte ilgili dizin ve \u00fcst dizinlerde bu dosyalar\u0131 aramas\u0131n\u0131 gerektirdi\u011fi i\u00e7in performans\u0131 bir miktar etkileyebilir. M\u00fcmk\u00fcn oldu\u011funca, bu t\u00fcr yap\u0131land\u0131rmalar\u0131 ana Apache yap\u0131land\u0131rma dosyas\u0131na (<code>httpd.conf<\/code> veya sanal host dosyalar\u0131) ta\u015f\u0131mak daha iyi performans sa\u011flayacakt\u0131r. Ancak k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli siteler i\u00e7in bu etki genellikle g\u00f6z ard\u0131 edilebilir d\u00fczeydedir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber\n\u0130nternet d\u00fcnyas\u0131n\u0131n temel ta\u015flar\u0131ndan biri olan Apache HTTP Sunucusu, web sitelerinin ve uy","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":[874],"tags":[],"class_list":{"0":"post-35662","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-server","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 HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber\" \/>\n<meta property=\"og:description\" content=\"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber \u0130nternet d\u00fcnyas\u0131n\u0131n temel ta\u015flar\u0131ndan biri olan Apache HTTP Sunucusu, web sitelerinin ve uy\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-02T08:41:38+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=\"11 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber\",\"datePublished\":\"2025-12-02T08:41:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/\"},\"wordCount\":1924,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Server\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/\",\"name\":\"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-02T08:41:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber","og_description":"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber \u0130nternet d\u00fcnyas\u0131n\u0131n temel ta\u015flar\u0131ndan biri olan Apache HTTP Sunucusu, web sitelerinin ve uy","og_url":"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-02T08:41:38+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber","datePublished":"2025-12-02T08:41:38+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/"},"wordCount":1924,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Server"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/","name":"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-02T08:41:38+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/apache-http-sunucusu-kapsamli-bir-teknik-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Apache HTTP Sunucusu: Kapsaml\u0131 Bir Teknik Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35662","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=35662"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35662\/revisions"}],"predecessor-version":[{"id":35663,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35662\/revisions\/35663"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}