{"id":32180,"date":"2025-10-18T17:41:04","date_gmt":"2025-10-18T14:41:04","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32180"},"modified":"2025-10-18T17:41:04","modified_gmt":"2025-10-18T14:41:04","slug":"debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/","title":{"rendered":"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur?"},"content":{"rendered":"<p><body><\/p>\n<h2>Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur?<\/h2>\n<p>Web sunucusu y\u00f6netimi, \u00f6zellikle birden fazla web sitesini tek bir fiziksel sunucu \u00fczerinde bar\u0131nd\u0131rmak gerekti\u011finde, verimlilik ve d\u00fczen a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Apache HTTP Sunucusu, bu t\u00fcr senaryolar i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir \u00e7\u00f6z\u00fcm sunar: Sanal Sunucular (Virtual Hosts). Bu teknik makale, Debian 7 &#8220;Wheezy&#8221; i\u015fletim sistemi \u00fczerinde Apache sanal sunucular\u0131n\u0131 ad\u0131m ad\u0131m nas\u0131l yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 detayl\u0131 bir \u015fekilde a\u00e7\u0131klayacakt\u0131r. Debian 7, g\u00fcncel bir s\u00fcr\u00fcm olmasa da, temel Apache yap\u0131land\u0131rma prensipleri ve sanal sunucu mant\u0131\u011f\u0131 bu s\u00fcr\u00fcmde de ge\u00e7erlidir ve bir\u00e7ok eski sistemde hala aktif olarak kullan\u0131lmaktad\u0131r. Bu rehber sayesinde, tek bir sunucu IP adresi ve portu \u00fczerinden birden fazla alan ad\u0131na sahip web sitesini sorunsuz bir \u015fekilde yay\u0131nlayabileceksiniz.<\/p>\n<p>Sanal sunucular, temel olarak bir Apache sunucusunun farkl\u0131 alan adlar\u0131na gelen istekleri ayr\u0131\u015ft\u0131rmas\u0131n\u0131 ve her bir alan ad\u0131 i\u00e7in belirli bir dizinden i\u00e7erik sunmas\u0131n\u0131 sa\u011flar. Bu sayede, kaynaklar\u0131 daha verimli kullanabilir, farkl\u0131 projeler i\u00e7in ayr\u0131 ortamlar olu\u015fturabilir ve y\u00f6netimsel y\u00fck\u00fc azaltabilirsiniz. \u0130ster ki\u015fisel projeleriniz olsun ister k\u00fc\u00e7\u00fck i\u015fletmenizin web varl\u0131\u011f\u0131, sanal sunucular\u0131n do\u011fru yap\u0131land\u0131r\u0131lmas\u0131, web altyap\u0131n\u0131z\u0131n sa\u011flam temeller \u00fczerine kurulmas\u0131n\u0131 sa\u011flar. Bu makalede, \u00f6ncelikle Apache&#8217;nin temel kurulumunu kontrol edecek, ard\u0131ndan sanal sunucu dizin yap\u0131s\u0131n\u0131 olu\u015fturacak, yap\u0131land\u0131rma dosyalar\u0131n\u0131 haz\u0131rlayacak ve son olarak bu yap\u0131land\u0131rmalar\u0131 etkinle\u015ftirerek test edece\u011fiz.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>Apache sanal sunucular\u0131n\u0131 ba\u015far\u0131yla kurabilmek i\u00e7in baz\u0131 temel \u00f6n ko\u015fullar\u0131n yerine getirilmi\u015f olmas\u0131 gerekmektedir. Bu b\u00f6l\u00fcm, kuruluma ba\u015flamadan \u00f6nce sisteminizin haz\u0131r oldu\u011fundan emin olman\u0131z i\u00e7in gerekli ad\u0131mlar\u0131 ve bilgileri i\u00e7ermektedir.<\/p>\n<h4>Debian 7 \u0130\u015fletim Sistemi<\/h4>\n<p>Bu rehber, \u00f6zellikle Debian 7 &#8220;Wheezy&#8221; s\u00fcr\u00fcm\u00fc \u00fczerinde \u00e7al\u0131\u015fmak \u00fczere tasarlanm\u0131\u015ft\u0131r. Sunucunuzda Debian 7&#8217;nin kurulu ve g\u00fcncel oldu\u011fundan emin olun. Ayr\u0131ca, root eri\u015fimine veya <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 hesab\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r. T\u00fcm komutlar root yetkisiyle veya <code>sudo<\/code> \u00f6n ekiyle \u00e7al\u0131\u015ft\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\"># Sistem g\u00fcncellemelerini kontrol edin ve uygulay\u0131n\nsudo apt-get update\nsudo apt-get upgrade<\/code><\/pre>\n<h4>Apache2 Kurulumu<\/h4>\n<p>Sanal sunucular\u0131 yap\u0131land\u0131rmadan \u00f6nce, Apache HTTP Sunucusunun sisteminizde kurulu olmas\u0131 gerekmektedir. E\u011fer Apache hen\u00fcz kurulu de\u011filse, a\u015fa\u011f\u0131daki komutlar\u0131 kullanarak kolayca kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt-get install apache2<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Apache servisinin \u00e7al\u0131\u015f\u0131r durumda oldu\u011funu do\u011frulamak i\u00e7in sunucunuzun IP adresini veya <code>localhost<\/code> adresini web taray\u0131c\u0131n\u0131zda a\u00e7\u0131n. Debian&#8217;\u0131n varsay\u0131lan Apache kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz. Servisin durumunu kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu da kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo service apache2 status<\/code><\/pre>\n<p>Bu komut, Apache servisinin aktif (running) olup olmad\u0131\u011f\u0131n\u0131 size bildirecektir.<\/p>\n<h4>Alan Adlar\u0131 (Domain Names) ve DNS<\/h4>\n<p>Sanal sunucular\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015fabilmesi i\u00e7in, her bir web sitesine atanm\u0131\u015f bir alan ad\u0131na (\u00f6rne\u011fin, <code>site1.com<\/code>, <code>site2.com<\/code>) ihtiyac\u0131n\u0131z olacakt\u0131r. E\u011fer bu alan adlar\u0131 internet \u00fczerinde canl\u0131 olacaksa, DNS kay\u0131tlar\u0131n\u0131z\u0131n (A kay\u0131tlar\u0131) sunucunuzun IP adresini i\u015faret etti\u011finden emin olmal\u0131s\u0131n\u0131z.<\/p>\n<p>Yerel testler i\u00e7in veya hen\u00fcz ger\u00e7ek alan adlar\u0131na sahip de\u011filseniz, bilgisayar\u0131n\u0131z\u0131n <code>hosts<\/code> dosyas\u0131n\u0131 kullanarak alan adlar\u0131n\u0131 sunucunuzun IP adresine (genellikle <code>127.0.0.1<\/code> veya sunucunun \u00f6zel IP adresi) y\u00f6nlendirebilirsiniz. Bu konuya &#8220;DNS Ayarlar\u0131 ve Yerel Test&#8221; b\u00f6l\u00fcm\u00fcnde daha detayl\u0131 de\u011finece\u011fiz.<\/p>\n<h4>Temel Linux Komut Bilgisi<\/h4>\n<p>Bu rehberi takip edebilmek i\u00e7in temel Linux komutlar\u0131na (dizin olu\u015fturma, dosya d\u00fczenleme, izinleri de\u011fi\u015ftirme vb.) a\u015fina olman\u0131z gerekmektedir. <code>mkdir<\/code>, <code>cd<\/code>, <code>cp<\/code>, <code>mv<\/code>, <code>nano<\/code> veya <code>vi<\/code> gibi komutlar\u0131 rahatl\u0131kla kullanabilmelisiniz.<\/p>\n<h3>Virtual Host Kavram\u0131n\u0131 Anlamak<\/h3>\n<p>Apache sanal sunucular\u0131, tek bir fiziksel sunucu \u00fczerinde birden fazla web sitesini bar\u0131nd\u0131rman\u0131n anahtar\u0131d\u0131r. Bu, \u00f6zellikle maliyet etkinli\u011fi ve kaynaklar\u0131n verimli kullan\u0131m\u0131 a\u00e7\u0131s\u0131ndan b\u00fcy\u00fck avantajlar sunar. Apache, gelen HTTP isteklerini analiz ederek hangi web sitesine ait oldu\u011funu belirler ve ilgili i\u00e7eri\u011fi sunar. \u0130ki ana sanal sunucu t\u00fcr\u00fc vard\u0131r: IP tabanl\u0131 ve Ad tabanl\u0131. Bu rehberde Ad tabanl\u0131 sanal sunuculara odaklanaca\u011f\u0131z, \u00e7\u00fcnk\u00fc bunlar \u00e7ok daha yayg\u0131n ve esnektir.<\/p>\n<h4>Ad Tabanl\u0131 Sanal Sunucular (Name-based Virtual Hosts)<\/h4>\n<p>Ad tabanl\u0131 sanal sunucular, ayn\u0131 IP adresi ve port numaras\u0131 (genellikle 80 veya 443) \u00fczerinden birden fazla web sitesini bar\u0131nd\u0131rman\u0131za olanak tan\u0131r. Apache, gelen HTTP iste\u011finin &#8220;Host&#8221; ba\u015fl\u0131\u011f\u0131n\u0131 inceleyerek hangi alan ad\u0131na y\u00f6nelik oldu\u011funu anlar. \u00d6rne\u011fin, <code>www.site1.com<\/code> ve <code>www.site2.com<\/code> adreslerine gelen istekler ayn\u0131 IP adresine ula\u015fsa bile, Apache bu alan adlar\u0131na \u00f6zel yap\u0131land\u0131r\u0131lm\u0131\u015f sanal sunucu bloklar\u0131n\u0131 kullanarak do\u011fru i\u00e7eri\u011fi sunar.<\/p>\n<p>Bu yap\u0131land\u0131rma, <code>ServerName<\/code> ve <code>ServerAlias<\/code> direktifleri arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r. <code>ServerName<\/code>, sanal sunucunun birincil alan ad\u0131n\u0131 belirtirken, <code>ServerAlias<\/code> ise bu sanal sunucuya y\u00f6nlendirilecek ek alan adlar\u0131n\u0131 (\u00f6rne\u011fin, <code>www.site1.com<\/code> i\u00e7in <code>site1.com<\/code>) tan\u0131mlar. Bu sayede, tek bir sanal sunucu yap\u0131land\u0131rma blo\u011fu ile bir alan ad\u0131n\u0131n hem &#8220;www&#8221; hem de &#8220;www&#8217;siz&#8221; versiyonlar\u0131n\u0131 y\u00f6netebilirsiniz. Ad tabanl\u0131 sanal sunucular, modern web sunucular\u0131n\u0131n temelini olu\u015fturur ve \u00e7o\u011fu senaryoda tercih edilen y\u00f6ntemdir.<\/p>\n<h4>IP Tabanl\u0131 Sanal Sunucular (IP-based Virtual Hosts)<\/h4>\n<p>IP tabanl\u0131 sanal sunucular, her bir web sitesi i\u00e7in farkl\u0131 bir IP adresi gerektirir. Apache, gelen iste\u011fin ula\u015ft\u0131\u011f\u0131 IP adresine g\u00f6re hangi web sitesini sunaca\u011f\u0131n\u0131 belirler. Bu y\u00f6ntem, ad tabanl\u0131 sanal sunuculara k\u0131yasla daha az esnektir ve her web sitesi i\u00e7in ayr\u0131 bir IP adresi tahsis etme maliyeti nedeniyle g\u00fcn\u00fcm\u00fczde nadiren kullan\u0131l\u0131r. \u00d6zellikle IPv4 adreslerinin s\u0131n\u0131rl\u0131 olmas\u0131 nedeniyle, IP tabanl\u0131 sanal sunucular sadece belirli \u00f6zel durumlar (\u00f6rne\u011fin, SSL sertifikalar\u0131n\u0131n eski y\u00f6ntemlerle y\u00f6netilmesi gereken durumlar) i\u00e7in tercih edilebilir. Bu rehberde, ad tabanl\u0131 sanal sunuculara odaklanaca\u011f\u0131m\u0131z i\u00e7in IP tabanl\u0131 yap\u0131land\u0131rmaya derinlemesine girmeyece\u011fiz.<\/p>\n<h3>Apache Sanal Sunucular\u0131 Yap\u0131land\u0131rma Ad\u0131mlar\u0131<\/h3>\n<p>\u015eimdi, Debian 7 sisteminizde Apache sanal sunucular\u0131n\u0131 ad\u0131m ad\u0131m nas\u0131l yap\u0131land\u0131raca\u011f\u0131m\u0131za ge\u00e7elim. Bu b\u00f6l\u00fcm, her bir web sitesi i\u00e7in gerekli dizinleri olu\u015fturmaktan, yap\u0131land\u0131rma dosyalar\u0131n\u0131 d\u00fczenlemeye ve Apache&#8217;yi yeniden ba\u015flatmaya kadar t\u00fcm s\u00fcreci kapsar.<\/p>\n<h4>Dizin Yap\u0131s\u0131 Olu\u015fturma<\/h4>\n<p>Her web sitesi i\u00e7in ayr\u0131 bir k\u00f6k dizin (document root) olu\u015fturmak, dosyalar\u0131n d\u00fczenli kalmas\u0131n\u0131 sa\u011flar. Genellikle bu dizinler <code>\/var\/www\/<\/code> alt\u0131nda olu\u015fturulur. \u0130ki \u00f6rnek alan ad\u0131 (<code>site1.com<\/code> ve <code>site2.com<\/code>) kullanarak ilerleyece\u011fiz.<\/p>\n<p>\u00d6ncelikle, her alan ad\u0131 i\u00e7in ana dizini ve bu dizinin alt\u0131nda web dosyalar\u0131n\u0131n bulunaca\u011f\u0131 <code>public_html<\/code> dizinini olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/site1.com\/public_html\nsudo mkdir -p \/var\/www\/site2.com\/public_html<\/code><\/pre>\n<p>Ard\u0131ndan, Apache&#8217;nin (genellikle <code>www-data<\/code> kullan\u0131c\u0131s\u0131 alt\u0131nda \u00e7al\u0131\u015f\u0131r) bu dizinlere yazma ve okuma eri\u015fimi oldu\u011fundan emin olmal\u0131y\u0131z. \u0130zinleri ve sahiplikleri ayarlamak \u00f6nemlidir:<\/p>\n<pre><code class=\"language-bash\">sudo chown -R www-data:www-data \/var\/www\/site1.com\nsudo chmod -R 755 \/var\/www\/site1.com\n\nsudo chown -R www-data:www-data \/var\/www\/site2.com\nsudo chmod -R 755 \/var\/www\/site2.com<\/code><\/pre>\n<p><code>chown -R www-data:www-data<\/code> komutu, dizinin ve i\u00e7erdi\u011fi t\u00fcm dosyalar\u0131n sahipli\u011fini <code>www-data<\/code> kullan\u0131c\u0131s\u0131na ve grubuna verir. <code>chmod -R 755<\/code> komutu ise dizinlere ve dosyalara okuma, yazma ve \u00e7al\u0131\u015ft\u0131rma izinlerini ayarlar (sahip i\u00e7in tam, grup ve di\u011ferleri i\u00e7in okuma ve \u00e7al\u0131\u015ft\u0131rma).<\/p>\n<h4>Test Sayfalar\u0131 Olu\u015fturma<\/h4>\n<p>Sanal sunucular\u0131m\u0131z\u0131n do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulamak i\u00e7in her bir web sitesinin <code>public_html<\/code> dizinine basit bir <code>index.html<\/code> dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<p><strong>site1.com i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/site1.com\/public_html\/index.html<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi yap\u0131\u015ft\u0131r\u0131n ve kaydedin (Ctrl+O, Enter, Ctrl+X):<\/p>\n<pre><code class=\"language-html\"><!DOCTYPE html>\n<html>\n<head>\n    <title>Site 1 - Apache Virtual Host<\/title>\n<\/head>\n<body>\n    \n    <p>This is the default page for site1.com.<\/p>\n<\/body>\n<\/html><\/code><\/pre>\n<p><strong>site2.com i\u00e7in:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/site2.com\/public_html\/index.html<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi yap\u0131\u015ft\u0131r\u0131n ve kaydedin:<\/p>\n<pre><code class=\"language-html\"><!DOCTYPE html>\n<html>\n<head>\n    <title>Site 2 - Apache Virtual Host<\/title>\n<\/head>\n<body>\n    \n    <p>This is the default page for site2.com.<\/p>\n<\/body>\n<\/html><\/code><\/pre>\n<p>Bu test sayfalar\u0131, her bir alan ad\u0131na eri\u015fti\u011finizde do\u011fru i\u00e7eri\u011fin sunulup sunulmad\u0131\u011f\u0131n\u0131 anlamam\u0131z\u0131 sa\u011flayacakt\u0131r.<\/p>\n<h4>Sanal Sunucu Yap\u0131land\u0131rma Dosyalar\u0131n\u0131 Olu\u015fturma<\/h4>\n<p>Apache, sanal sunucu yap\u0131land\u0131rma dosyalar\u0131n\u0131 <code>\/etc\/apache2\/sites-available\/<\/code> dizininde saklar. Bu dosyalar, etkinle\u015ftirilene kadar pasif kal\u0131r. Etkinle\u015ftirilen sanal sunucular i\u00e7in <code>\/etc\/apache2\/sites-enabled\/<\/code> dizinine sembolik ba\u011flant\u0131lar olu\u015fturulur.<\/p>\n<p>Varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131n\u0131 kopyalayarak yeni sanal sunucu dosyalar\u0131n\u0131 olu\u015fturmak en kolay yoldur:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/apache2\/sites-available\/default \/etc\/apache2\/sites-available\/site1.com.conf\nsudo cp \/etc\/apache2\/sites-available\/default \/etc\/apache2\/sites-available\/site2.com.conf<\/code><\/pre>\n<p>\u015eimdi bu dosyalar\u0131 d\u00fczenleyelim.<\/p>\n<p><strong>site1.com i\u00e7in yap\u0131land\u0131rma dosyas\u0131 (<code>\/etc\/apache2\/sites-available\/site1.com.conf<\/code>):<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/sites-available\/site1.com.conf<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7eri\u011fini a\u015fa\u011f\u0131daki gibi d\u00fczenleyin. Varolan <code>VirtualHost<\/code> blo\u011funu tamamen de\u011fi\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    ServerAdmin webmaster@site1.com\n    ServerName site1.com\n    ServerAlias www.site1.com\n    DocumentRoot \/var\/www\/site1.com\/public_html\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n    <Directory \/var\/www\/site1.com\/public_html>\n        Options Indexes FollowSymLinks MultiViews\n        AllowOverride All\n        Order allow,deny\n        allow from all\n    <\/Directory>\n<\/VirtualHost><\/code><\/pre>\n<p><strong>A\u00e7\u0131klamalar:<\/strong><br \/>\n<em>   <code><VirtualHost <\/em>:80><\/code>: Bu blok, port 80 \u00fczerinden gelen t\u00fcm isteklere yan\u0131t verecek bir sanal sunucu tan\u0131mlar. <code>*<\/code> t\u00fcm IP adreslerini temsil eder.<br \/>\n*   <code>ServerAdmin<\/code>: Web sitesi y\u00f6neticisinin e-posta adresi. Hata mesajlar\u0131nda g\u00f6r\u00fcnebilir.<br \/>\n*   <code>ServerName<\/code>: Bu sanal sunucunun birincil alan ad\u0131. Apache, gelen iste\u011fin &#8220;Host&#8221; ba\u015fl\u0131\u011f\u0131n\u0131 bu de\u011ferle e\u015fle\u015ftirir.<br \/>\n*   <code>ServerAlias<\/code>: Bu sanal sunucu i\u00e7in alternatif alan adlar\u0131. <code>www.site1.com<\/code> gibi varyasyonlar\u0131 buraya ekleyebilirsiniz.<br \/>\n*   <code>DocumentRoot<\/code>: Web sitesi dosyalar\u0131n\u0131n bulundu\u011fu dizin.<br \/>\n*   <code>ErrorLog<\/code> ve <code>CustomLog<\/code>: Hata ve eri\u015fim g\u00fcnl\u00fcklerinin kaydedilece\u011fi dosyalar\u0131 belirtir. <code>${APACHE_LOG_DIR}<\/code> de\u011fi\u015fkeni <code>\/var\/log\/apache2<\/code> dizinini temsil eder.<br \/>\n*   <code><Directory \/var\/www\/site1.com\/public_html><\/code>: Bu blok, belirli bir dizin i\u00e7in \u00f6zel yap\u0131land\u0131rma se\u00e7eneklerini ayarlar.<br \/>\n    *   <code>Options Indexes FollowSymLinks MultiViews<\/code>: Dizinin i\u00e7eri\u011fini listeleme (<code>Indexes<\/code>), sembolik ba\u011flant\u0131lar\u0131 takip etme (<code>FollowSymLinks<\/code>) ve i\u00e7erik anla\u015fmas\u0131 (<code>MultiViews<\/code>) gibi \u00f6zellikleri etkinle\u015ftirir.<br \/>\n    *   <code>AllowOverride All<\/code>: <code>.htaccess<\/code> dosyalar\u0131n\u0131n bu dizinde Apache ayarlar\u0131n\u0131 ge\u00e7ersiz k\u0131lmas\u0131na izin verir. Bu, genellikle WordPress gibi CMS&#8217;ler i\u00e7in gereklidir.<br \/>\n    *   <code>Order allow,deny<\/code> ve <code>allow from all<\/code>: Bu eski Apache 2.2 tarz\u0131 direktifler, t\u00fcm IP adreslerinden eri\u015fime izin verir. Debian 7&#8217;de hala ge\u00e7erlidir. (Apache 2.4+ s\u00fcr\u00fcmlerinde <code>Require all granted<\/code> kullan\u0131l\u0131r.)<\/p>\n<p><strong>site2.com i\u00e7in yap\u0131land\u0131rma dosyas\u0131 (<code>\/etc\/apache2\/sites-available\/site2.com.conf<\/code>):<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/sites-available\/site2.com.conf<\/code><\/pre>\n<p>Ayn\u0131 \u015fekilde, i\u00e7eri\u011fi <code>site2.com<\/code> bilgilerine g\u00f6re d\u00fczenleyin:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    ServerAdmin webmaster@site2.com\n    ServerName site2.com\n    ServerAlias www.site2.com\n    DocumentRoot \/var\/www\/site2.com\/public_html\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n    <Directory \/var\/www\/site2.com\/public_html>\n        Options Indexes FollowSymLinks MultiViews\n        AllowOverride All\n        Order allow,deny\n        allow from all\n    <\/Directory>\n<\/VirtualHost><\/code><\/pre>\n<p>Her iki dosyay\u0131 da kaydetti\u011finizden emin olun.<\/p>\n<h4>Sanal Sunucular\u0131 Etkinle\u015ftirme<\/h4>\n<p>Yap\u0131land\u0131rma dosyalar\u0131n\u0131 olu\u015fturduktan sonra, bunlar\u0131 Apache i\u00e7in etkinle\u015ftirmemiz gerekir. Debian\/Ubuntu tabanl\u0131 sistemlerde <code>a2ensite<\/code> (Apache 2 Enable Site) komutu bu i\u015fi kolayla\u015ft\u0131r\u0131r. Bu komut, <code>\/etc\/apache2\/sites-available\/<\/code> dizinindeki yap\u0131land\u0131rma dosyas\u0131na <code>\/etc\/apache2\/sites-enabled\/<\/code> dizininde bir sembolik ba\u011flant\u0131 olu\u015fturur.<\/p>\n<pre><code class=\"language-bash\">sudo a2ensite site1.com.conf\nsudo a2ensite site2.com.conf<\/code><\/pre>\n<p>Ba\u015far\u0131l\u0131 bir \u015fekilde etkinle\u015ftirildi\u011fini bildiren mesajlar g\u00f6rmelisiniz. E\u011fer bir sanal sunucuyu devre d\u0131\u015f\u0131 b\u0131rakmak isterseniz, <code>a2dissite<\/code> komutunu kullanabilirsiniz: <code>sudo a2dissite site1.com.conf<\/code>.<\/p>\n<h4>Apache Yap\u0131land\u0131rmas\u0131n\u0131 Test Etme<\/h4>\n<p>Herhangi bir Apache servisi yeniden ba\u015flatmas\u0131ndan \u00f6nce, yap\u0131land\u0131rma dosyalar\u0131n\u0131zda bir hata olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek iyi bir uygulamad\u0131r. Bu, sunucunuzun \u00e7\u00f6kmesini veya beklendi\u011fi gibi \u00e7al\u0131\u015fmamas\u0131n\u0131 \u00f6nler.<\/p>\n<pre><code class=\"language-bash\">sudo apache2ctl configtest<\/code><\/pre>\n<p>Veya alternatif olarak:<\/p>\n<pre><code class=\"language-bash\">sudo apachectl configtest<\/code><\/pre>\n<p>E\u011fer her \u015fey yolundaysa, <code>Syntax OK<\/code> mesaj\u0131n\u0131 g\u00f6rmelisiniz. Herhangi bir hata varsa, Apache size hatan\u0131n nerede oldu\u011funu belirten bir mesaj g\u00f6sterecektir. Hatalar\u0131 d\u00fczeltmeden Apache&#8217;yi yeniden ba\u015flatmay\u0131n.<\/p>\n<h4>Apache Servisini Yeniden Ba\u015flatma<\/h4>\n<p>Yeni sanal sunucu yap\u0131land\u0131rmalar\u0131n\u0131n etkili olmas\u0131 i\u00e7in Apache servisini yeniden ba\u015flatman\u0131z gerekmektedir:<\/p>\n<pre><code class=\"language-bash\">sudo service apache2 restart<\/code><\/pre>\n<p>Veya:<\/p>\n<pre><code class=\"language-bash\">sudo \/etc\/init.d\/apache2 restart<\/code><\/pre>\n<p>Bu komut, Apache&#8217;yi durduracak ve yeni yap\u0131land\u0131rmalarla tekrar ba\u015flatacakt\u0131r.<\/p>\n<h3>DNS Ayarlar\u0131 ve Yerel Test<\/h3>\n<p>Sanal sunucular\u0131n\u0131z\u0131 yap\u0131land\u0131rd\u0131ktan ve Apache&#8217;yi yeniden ba\u015flatt\u0131ktan sonra, web taray\u0131c\u0131n\u0131zdan bu sitelere eri\u015febilmeniz gerekir. Bunun i\u00e7in alan adlar\u0131n\u0131z\u0131n sunucunuzun IP adresini i\u015faret etmesi \u00f6nemlidir.<\/p>\n<h4>Ger\u00e7ek Alan Adlar\u0131 \u0130\u00e7in DNS Ayarlar\u0131<\/h4>\n<p>E\u011fer <code>site1.com<\/code> ve <code>site2.com<\/code> gibi ger\u00e7ek alan adlar\u0131na sahipseniz ve bunlar\u0131 internet \u00fczerinde yay\u0131nlamak istiyorsan\u0131z, alan ad\u0131 kay\u0131t sa\u011flay\u0131c\u0131n\u0131z\u0131n (domain registrar) veya DNS y\u00f6netim panelinizin aray\u00fcz\u00fcn\u00fc kullanarak her bir alan ad\u0131 i\u00e7in bir A kayd\u0131 olu\u015fturman\u0131z gerekecektir. Bu A kayd\u0131, alan ad\u0131n\u0131z\u0131 Apache sunucunuzun genel IP adresine y\u00f6nlendirmelidir. \u00d6rne\u011fin:<\/p>\n<p>*   <code>site1.com<\/code> -> Sunucunuzun IP Adresi<br \/>\n*   <code>www.site1.com<\/code> -> Sunucunuzun IP Adresi<br \/>\n*   <code>site2.com<\/code> -> Sunucunuzun IP Adresi<br \/>\n*   <code>www.site2.com<\/code> -> Sunucunuzun IP Adresi<\/p>\n<p>DNS de\u011fi\u015fikliklerinin internet \u00fczerinde yay\u0131lmas\u0131 (propagation) biraz zaman alabilir (genellikle birka\u00e7 dakika ila birka\u00e7 saat).<\/p>\n<h4>Yerel Test \u0130\u00e7in \/etc\/hosts Dosyas\u0131<\/h4>\n<p>Hen\u00fcz ger\u00e7ek alan adlar\u0131n\u0131z yoksa veya sadece yerel olarak test etmek istiyorsan\u0131z, kendi bilgisayar\u0131n\u0131z\u0131n <code>hosts<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek bu alan adlar\u0131n\u0131 sunucunuzun IP adresine y\u00f6nlendirebilirsiniz. Bu, DNS sorgular\u0131n\u0131 atlayarak do\u011frudan belirli bir IP adresine gitmenizi sa\u011flar.<\/p>\n<p><strong>Kendi Bilgisayar\u0131n\u0131zda (Debian\/Linux, macOS):<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/hosts<\/code><\/pre>\n<p><strong>Windows&#8217;ta:<\/strong><\/p>\n<p><code>C:\\Windows\\System32\\drivers\\etc\\hosts<\/code> dosyas\u0131n\u0131 y\u00f6netici olarak a\u00e7t\u0131\u011f\u0131n\u0131z bir metin d\u00fczenleyiciyle d\u00fczenleyin.<\/p>\n<p>Dosyan\u0131n sonuna a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin (e\u011fer testleri sunucunun kendisi \u00fczerinden yap\u0131yorsan\u0131z, <code>127.0.0.1<\/code> kullan\u0131n; ba\u015fka bir bilgisayardan yap\u0131yorsan\u0131z, sunucunuzun ger\u00e7ek IP adresini yaz\u0131n):<\/p>\n<pre><code class=\"language-\">127.0.0.1   site1.com\n127.0.0.1   www.site1.com\n127.0.0.1   site2.com\n127.0.0.1   www.site2.com<\/code><\/pre>\n<p>Bu de\u011fi\u015fiklikleri kaydettikten sonra, web taray\u0131c\u0131n\u0131z\u0131 a\u00e7\u0131p <code>http:\/\/site1.com<\/code> ve <code>http:\/\/site2.com<\/code> adreslerine giderek her iki sitenin de do\u011fru <code>index.html<\/code> dosyas\u0131n\u0131 g\u00f6sterdi\u011fini do\u011frulayabilirsiniz. E\u011fer <code>site1.com<\/code> adresine gitti\u011finizde &#8220;Welcome to Site 1!&#8221; ve <code>site2.com<\/code> adresine gitti\u011finizde &#8220;Welcome to Site 2!&#8221; mesaj\u0131n\u0131 g\u00f6r\u00fcyorsan\u0131z, sanal sunucular\u0131n\u0131z ba\u015far\u0131yla yap\u0131land\u0131r\u0131lm\u0131\u015f demektir.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmler<\/h3>\n<p>Apache sanal sunucular\u0131 yap\u0131land\u0131r\u0131rken baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte bu sorunlar\u0131n baz\u0131lar\u0131 ve olas\u0131 \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>\u0130zinler (Permissions)<\/h4>\n<p>*   <strong>Sorun:<\/strong> Web sitesine eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda &#8220;403 Forbidden&#8221; hatas\u0131 al\u0131yorsunuz.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Apache&#8217;nin web sitesi dizinlerine ve dosyalar\u0131na eri\u015fim izinleri yetersiz olabilir. <code>DocumentRoot<\/code> dizininin ve alt\u0131ndaki t\u00fcm dosyalar\u0131n <code>www-data<\/code> kullan\u0131c\u0131s\u0131na ait oldu\u011fundan ve do\u011fru okuma\/y\u00fcr\u00fctme izinlerine sahip oldu\u011fundan emin olun.<\/p>\n<pre><code class=\"language-bash\">sudo chown -R www-data:www-data \/var\/www\/site1.com\n    sudo chmod -R 755 \/var\/www\/site1.com<\/code><\/pre>\n<p>    Ayr\u0131ca, <code><Directory><\/code> blo\u011fundaki <code>AllowOverride All<\/code> ve <code>allow from all<\/code> (veya Apache 2.4+ i\u00e7in <code>Require all granted<\/code>) direktiflerinin do\u011fru oldu\u011fundan emin olun.<\/p>\n<h4>S\u00f6z Dizimi Hatalar\u0131 (Syntax Errors)<\/h4>\n<p>*   <strong>Sorun:<\/strong> Apache servisi yeniden ba\u015flat\u0131lam\u0131yor veya <code>configtest<\/code> komutu hata veriyor.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Sanal sunucu yap\u0131land\u0131rma dosyalar\u0131n\u0131zda s\u00f6z dizimi hatas\u0131 olabilir. <code>sudo apache2ctl configtest<\/code> komutunu kullanarak hatan\u0131n yerini ve t\u00fcr\u00fcn\u00fc belirleyin. Genellikle eksik bir kapan\u0131\u015f etiketi (<code><\/VirtualHost><\/code>), yanl\u0131\u015f yaz\u0131lm\u0131\u015f bir direktif veya eksik bir t\u0131rnak i\u015fareti hataya neden olur.<\/p>\n<h4>Port \u00c7ak\u0131\u015fmalar\u0131<\/h4>\n<p>*   <strong>Sorun:<\/strong> Apache servisi ba\u015flam\u0131yor ve port 80&#8217;in zaten kullan\u0131mda oldu\u011funa dair bir hata al\u0131yorsunuz.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Ba\u015fka bir servis (\u00f6rne\u011fin Nginx veya ba\u015fka bir web sunucusu) port 80&#8217;i kullan\u0131yor olabilir. Hangi servisin port 80&#8217;i kulland\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo netstat -tulpn | grep :80<\/code><\/pre>\n<p>    E\u011fer ba\u015fka bir servis tespit ederseniz, onu durdurman\u0131z veya Apache&#8217;yi farkl\u0131 bir portta dinleyecek \u015fekilde yap\u0131land\u0131rman\u0131z gerekebilir (ancak bu, ad tabanl\u0131 sanal sunucular i\u00e7in pratik de\u011fildir).<\/p>\n<h4><code>ServerName<\/code> ve <code>ServerAlias<\/code> Yanl\u0131\u015f Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>*   <strong>Sorun:<\/strong> Belirli bir alan ad\u0131na eri\u015fti\u011finizde yanl\u0131\u015f web sitesi i\u00e7eri\u011fi g\u00f6r\u00fcn\u00fcyor veya varsay\u0131lan Apache sayfas\u0131 a\u00e7\u0131l\u0131yor.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>ServerName<\/code> ve <code>ServerAlias<\/code> direktiflerinin sanal sunucu yap\u0131land\u0131rma dosyalar\u0131n\u0131zda do\u011fru oldu\u011fundan emin olun. Apache, gelen iste\u011fin &#8220;Host&#8221; ba\u015fl\u0131\u011f\u0131n\u0131 bu direktiflerle e\u015fle\u015ftirmeye \u00e7al\u0131\u015f\u0131r. E\u011fer bir e\u015fle\u015fme bulunamazsa, genellikle ilk y\u00fcklenen veya varsay\u0131lan sanal sunucuya y\u00f6nlendirir.<\/p>\n<h4>Mod_rewrite veya Di\u011fer Mod\u00fcller<\/h4>\n<p>*   <strong>Sorun:<\/strong> <code>.htaccess<\/code> kurallar\u0131 \u00e7al\u0131\u015fm\u0131yor veya belirli bir web uygulamas\u0131 (\u00f6rne\u011fin WordPress permalinkleri) hatalar veriyor.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>mod_rewrite<\/code> gibi gerekli Apache mod\u00fclleri etkinle\u015ftirilmemi\u015f olabilir. Bir mod\u00fcl\u00fc etkinle\u015ftirmek i\u00e7in <code>a2enmod<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod rewrite\n    sudo service apache2 restart<\/code><\/pre>\n<p>    Ayr\u0131ca, <code>.htaccess<\/code> dosyalar\u0131n\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in ilgili <code><Directory><\/code> blo\u011funda <code>AllowOverride All<\/code> direktifinin ayarl\u0131 oldu\u011fundan emin olun.<\/p>\n<h4>Log Dosyalar\u0131<\/h4>\n<p>*   <strong>Sorun:<\/strong> Ne oldu\u011funu anlam\u0131yorsunuz, hi\u00e7bir \u015fey \u00e7al\u0131\u015fm\u0131yor veya hata mesajlar\u0131 yetersiz.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Apache&#8217;nin hata g\u00fcnl\u00fcklerini (<code>\/var\/log\/apache2\/error.log<\/code>) ve eri\u015fim g\u00fcnl\u00fcklerini (<code>\/var\/log\/apache2\/access.log<\/code>) kontrol edin. Bu dosyalar, sorun giderme i\u00e7in en de\u011ferli bilgi kaynaklar\u0131d\u0131r. Hata g\u00fcnl\u00fckleri, genellikle kar\u015f\u0131la\u015f\u0131lan sorun hakk\u0131nda net ipu\u00e7lar\u0131 verir.<\/p>\n<h3>Geli\u015fmi\u015f Yap\u0131land\u0131rma \u0130pu\u00e7lar\u0131<\/h3>\n<p>Sanal sunucular\u0131n temel kurulumunu tamamlad\u0131ktan sonra, Apache&#8217;nin yeteneklerini daha da geni\u015fletmek ve web sitelerinizin performans\u0131n\u0131, g\u00fcvenli\u011fini ve i\u015flevselli\u011fini art\u0131rmak i\u00e7in baz\u0131 geli\u015fmi\u015f yap\u0131land\u0131rma ipu\u00e7lar\u0131n\u0131 g\u00f6z \u00f6n\u00fcnde bulundurabilirsiniz.<\/p>\n<h4>SSL\/TLS (HTTPS) Kurulumu<\/h4>\n<p>G\u00fcn\u00fcm\u00fczde HTTPS, web siteleri i\u00e7in bir standart haline gelmi\u015ftir. Sanal sunucular\u0131n\u0131z\u0131 g\u00fcvenli hale getirmek i\u00e7in Let&#8217;s Encrypt gibi \u00fccretsiz sertifika sa\u011flay\u0131c\u0131lar\u0131ndan SSL\/TLS sertifikalar\u0131 al\u0131p Apache&#8217;ye kurabilirsiniz. Bu, genellikle her bir sanal sunucu i\u00e7in ayr\u0131 bir <code><VirtualHost *:443><\/code> blo\u011fu olu\u015fturmay\u0131 ve <code>SSLEngine on<\/code>, <code>SSLCertificateFile<\/code>, <code>SSLCertificateKeyFile<\/code> gibi direktifleri kullanmay\u0131 gerektirir. Debian 7&#8217;de Certbot kurulumu biraz daha karma\u015f\u0131k olabilir, ancak manuel kurulum veya eski <code>letsencrypt<\/code> istemcisi ile m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<h4>Mod_rewrite Kullan\u0131m\u0131<\/h4>\n<p><code>mod_rewrite<\/code> mod\u00fcl\u00fc, URL&#8217;leri yeniden yazmak i\u00e7in inan\u0131lmaz derecede g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu, kullan\u0131c\u0131 dostu URL&#8217;ler olu\u015fturmak, eski URL&#8217;leri yenilerine y\u00f6nlendirmek, HTTPS&#8217;ye zorlamak veya belirli ko\u015fullara g\u00f6re i\u00e7eri\u011fi dinamik olarak de\u011fi\u015ftirmek i\u00e7in kullan\u0131labilir. <code>.htaccess<\/code> dosyalar\u0131 veya sanal sunucu yap\u0131land\u0131rma dosyalar\u0131 i\u00e7inde <code>RewriteEngine On<\/code> ve <code>RewriteRule<\/code> direktiflerini kullanarak karma\u015f\u0131k yeniden yazma kurallar\u0131 olu\u015fturabilirsiniz.<\/p>\n<h4>Log Y\u00f6netimi<\/h4>\n<p>Varsay\u0131lan g\u00fcnl\u00fckler genellikle yeterli olsa da, daha detayl\u0131 analizler i\u00e7in \u00f6zel g\u00fcnl\u00fck formatlar\u0131 tan\u0131mlayabilirsiniz. <code>LogFormat<\/code> direktifi ile istedi\u011finiz bilgileri i\u00e7eren kendi g\u00fcnl\u00fck format\u0131n\u0131z\u0131 olu\u015fturabilir ve ard\u0131ndan <code>CustomLog<\/code> direktifini kullanarak bu format\u0131 belirli sanal sunuculara uygulayabilirsiniz. Bu, web sitelerinizin trafi\u011fini ve davran\u0131\u015f\u0131n\u0131 daha iyi anlaman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<h4>Performans Optimizasyonu<\/h4>\n<p>Apache&#8217;nin performans\u0131n\u0131 art\u0131rmak i\u00e7in birka\u00e7 ayar yap\u0131labilir:<br \/>\n*   <strong>MPM (Multi-Processing Modules):<\/strong> Apache, farkl\u0131 MPM&#8217;lerle \u00e7al\u0131\u015fabilir (prefork, worker, event). Debian 7&#8217;de genellikle <code>prefork<\/code> varsay\u0131lan olarak gelir. <code>prefork<\/code> mod\u00fcl\u00fc her ba\u011flant\u0131 i\u00e7in yeni bir s\u00fcre\u00e7 ba\u015flat\u0131r ve daha fazla bellek t\u00fcketebilir. Y\u00fcksek trafikli siteler i\u00e7in <code>worker<\/code> veya <code>event<\/code> gibi daha modern MPM&#8217;ler daha verimli olabilir, ancak PHP gibi mod\u00fcllerin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131na ba\u011fl\u0131 olarak ek yap\u0131land\u0131rma gerektirebilirler.<br \/>\n*   <strong>KeepAlive:<\/strong> <code>KeepAlive On<\/code> ayar\u0131, istemcinin bir ba\u011flant\u0131y\u0131 birden fazla istek i\u00e7in a\u00e7\u0131k tutmas\u0131na izin vererek ba\u011flant\u0131 kurulumu maliyetini azalt\u0131r. <code>KeepAliveTimeout<\/code> ve <code>MaxKeepAliveRequests<\/code> de\u011ferlerini optimize etmek, performans\u0131 art\u0131rabilir.<br \/>\n*   <strong>Mod_deflate ve Mod_expires:<\/strong> <code>mod_deflate<\/code> ile sunulan i\u00e7eri\u011fi s\u0131k\u0131\u015ft\u0131rarak bant geni\u015fli\u011fini azaltabilir, <code>mod_expires<\/code> ile ise taray\u0131c\u0131lar\u0131n statik dosyalar\u0131 (CSS, JS, resimler) \u00f6nbelle\u011fe almas\u0131n\u0131 sa\u011flayarak tekrar tekrar indirme ihtiyac\u0131n\u0131 ortadan kald\u0131rabilirsiniz.<\/p>\n<p>Bu geli\u015fmi\u015f ipu\u00e7lar\u0131, Apache sanal sunucular\u0131n\u0131z\u0131n daha verimli, g\u00fcvenli ve esnek olmas\u0131n\u0131 sa\u011flayarak web altyap\u0131n\u0131z\u0131 daha profesyonel bir seviyeye ta\u015f\u0131man\u0131za yard\u0131mc\u0131 olacakt\u0131r. Ancak, her de\u011fi\u015fiklikten sonra Apache yap\u0131land\u0131rmas\u0131n\u0131 test etmeyi ve servisi yeniden ba\u015flatmay\u0131 unutmay\u0131n.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Debian 7 \u00fczerinde Apache sanal sunucular\u0131n\u0131 kurmak ve yap\u0131land\u0131rmak, tek bir fiziksel sunucu \u00fczerinde birden fazla web sitesini bar\u0131nd\u0131rman\u0131n temel ve g\u00fc\u00e7l\u00fc bir yoludur. Bu rehberde, gerekli \u00f6n ko\u015fullardan ba\u015flayarak, her bir web sitesi i\u00e7in dizin yap\u0131s\u0131n\u0131 olu\u015fturmay\u0131, sanal sunucu yap\u0131land\u0131rma dosyalar\u0131n\u0131 haz\u0131rlamay\u0131, bunlar\u0131 etkinle\u015ftirmeyi ve son olarak Apache servisini yeniden ba\u015flatarak de\u011fi\u015fiklikleri uygulamay\u0131 ad\u0131m ad\u0131m inceledik. Ayr\u0131ca, yerel test i\u00e7in <code>hosts<\/code> dosyas\u0131n\u0131 nas\u0131l kullanaca\u011f\u0131n\u0131z\u0131 ve s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlar\u0131 nas\u0131l giderece\u011finizi de \u00f6\u011frendiniz.<\/p>\n<p>Sanal sunucular\u0131n do\u011fru yap\u0131land\u0131r\u0131lmas\u0131, web projelerinizin d\u00fczenini, \u00f6l\u00e7eklenebilirli\u011fini ve y\u00f6netimini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde kolayla\u015ft\u0131r\u0131r. \u0130ster k\u00fc\u00e7\u00fck ki\u015fisel projeleriniz olsun ister b\u00fcy\u00fcyen bir i\u015fletmenin web varl\u0131\u011f\u0131, Apache&#8217;nin esnekli\u011fi sayesinde ihtiya\u00e7lar\u0131n\u0131za uygun bir bar\u0131nd\u0131rma \u00e7\u00f6z\u00fcm\u00fc olu\u015fturabilirsiniz. Unutmay\u0131n, her zaman yap\u0131land\u0131rma de\u011fi\u015fikliklerinden sonra <code>apache2ctl configtest<\/code> komutuyla hatalar\u0131 kontrol etmek ve <code>error.log<\/code> dosyas\u0131n\u0131 d\u00fczenli olarak incelemek iyi bir al\u0131\u015fkanl\u0131kt\u0131r. Bu temel bilgiyle, Debian 7 sisteminizde birden fazla web sitesini ba\u015far\u0131yla yay\u0131nlayabilir ve web sunucusu y\u00f6netimi becerilerinizi geli\u015ftirebilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur?\nWeb sunucusu y\u00f6netimi, \u00f6zellikle birden fazla web sitesini tek bir fizi","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-32180","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>Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur? - 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\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur?\" \/>\n<meta property=\"og:description\" content=\"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur? Web sunucusu y\u00f6netimi, \u00f6zellikle birden fazla web sitesini tek bir fizi\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-18T14:41:04+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\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur?\",\"datePublished\":\"2025-10-18T14:41:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/\"},\"wordCount\":3280,\"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\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/\",\"name\":\"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-18T14:41:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur?\"}]},{\"@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":"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur? - 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\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/","og_locale":"tr_TR","og_type":"article","og_title":"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur?","og_description":"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur? Web sunucusu y\u00f6netimi, \u00f6zellikle birden fazla web sitesini tek bir fizi","og_url":"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-18T14:41:04+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\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur?","datePublished":"2025-10-18T14:41:04+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/"},"wordCount":3280,"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\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/","url":"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/","name":"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-18T14:41:04+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/debian-7-uzerinde-apache-sanal-sunuculari-virtual-hosts-nasil-kurulur\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Debian 7 \u00dczerinde Apache Sanal Sunucular\u0131 (Virtual Hosts) Nas\u0131l Kurulur?"}]},{"@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\/32180","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=32180"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32180\/revisions"}],"predecessor-version":[{"id":32181,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32180\/revisions\/32181"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}