{"id":32553,"date":"2025-10-23T06:41:05","date_gmt":"2025-10-23T03:41:05","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32553"},"modified":"2025-10-23T06:41:05","modified_gmt":"2025-10-23T03:41:05","slug":"apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/","title":{"rendered":"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]"},"content":{"rendered":"<p><body><\/p>\n<h2>Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]<\/h2>\n<p>Apache web sunucusu, internetteki en pop\u00fcler ve g\u00fc\u00e7l\u00fc sunuculardan biridir. Esnek yap\u0131s\u0131 sayesinde, tek bir sunucu \u00fczerinde birden fazla web sitesini bar\u0131nd\u0131rman\u0131za olanak tan\u0131r. Bu yetenek, &#8220;Sanal Hostlar&#8221; (Virtual Hosts) olarak bilinir. Sanal hostlar, web geli\u015ftiricileri ve sistem y\u00f6neticileri i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r, \u00e7\u00fcnk\u00fc maliyetleri d\u00fc\u015f\u00fcr\u00fcr, kaynaklar\u0131 optimize eder ve y\u00f6netimi kolayla\u015ft\u0131r\u0131r. Bu kapsaml\u0131 rehberde, Ubuntu 18.04 i\u015fletim sistemi \u00fczerinde Apache sanal hostlar\u0131n\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m, h\u0131zl\u0131 bir ba\u015flang\u0131\u00e7 format\u0131nda \u00f6\u011freneceksiniz.<\/p>\n<h3>Giri\u015f: Sanal Hostlar Neden \u00d6nemlidir?<\/h3>\n<p>Sanal hostlar, Apache&#8217;nin temel \u00f6zelliklerinden biridir ve bir sunucunun ayn\u0131 IP adresi ve portu kullanarak birden fazla alan ad\u0131na (domain) hizmet vermesini sa\u011flar. Basit\u00e7e ifade etmek gerekirse, tek bir fiziksel sunucu \u00fczerinde <code>alanadiniz1.com<\/code>, <code>alanadiniz2.net<\/code> ve <code>blog.alanadiniz1.com<\/code> gibi farkl\u0131 web sitelerini \u00e7al\u0131\u015ft\u0131rabilirsiniz. Her bir web sitesi, sanki kendine ait \u00f6zel bir sunucusu varm\u0131\u015f gibi davran\u0131r.<\/p>\n<p>Bu yakla\u015f\u0131m\u0131n ba\u015fl\u0131ca avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <strong>Maliyet Verimlili\u011fi:<\/strong> Her web sitesi i\u00e7in ayr\u0131 bir fiziksel sunucuya veya IP adresine ihtiya\u00e7 duymazs\u0131n\u0131z. Bu, donan\u0131m ve IP adresi maliyetlerinden tasarruf etmenizi sa\u011flar.<br \/>\n*   <strong>Kaynak Optimizasyonu:<\/strong> Sunucunun i\u015flem g\u00fcc\u00fc, belle\u011fi ve disk alan\u0131 gibi kaynaklar\u0131, birden fazla site aras\u0131nda payla\u015f\u0131labilir ve daha verimli kullan\u0131labilir.<br \/>\n*   <strong>Kolay Y\u00f6netim:<\/strong> T\u00fcm web sitelerinizi tek bir merkezi konumdan y\u00f6netebilirsiniz, bu da bak\u0131m ve g\u00fcncellemeleri basitle\u015ftirir.<br \/>\n*   <strong>Esneklik:<\/strong> Her sanal host i\u00e7in farkl\u0131 yap\u0131land\u0131rmalar (\u00f6rne\u011fin, PHP s\u00fcr\u00fcmleri, SSL sertifikalar\u0131, eri\u015fim izinleri) belirleyebilirsiniz.<\/p>\n<p>Bu rehber, Ubuntu 18.04 \u00fczerinde Apache&#8217;nin kurulu oldu\u011funu ve temel sunucu y\u00f6netimi bilgisine sahip oldu\u011funuzu varsaymaktad\u0131r. E\u011fer Apache kurulu de\u011filse veya temel sunucu kurulumu hakk\u0131nda bilgiye ihtiyac\u0131n\u0131z varsa, ilk ad\u0131mla ba\u015flayabilirsiniz.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki maddelerin haz\u0131r oldu\u011fundan emin olun:<\/p>\n<p>*   <strong>Ubuntu 18.04 Sunucusu:<\/strong> SSH eri\u015fimi olan bir Ubuntu 18.04 sunucusu (VPS, fiziksel sunucu veya sanal makine).<br \/>\n*   <strong>Root veya Sudo Yetkileri:<\/strong> Komutlar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 veya root eri\u015fimi.<br \/>\n*   <strong>Alan Ad\u0131 (Domain Name):<\/strong> Test etmek i\u00e7in bir alan ad\u0131na sahip olman\u0131z veya yerel <code>\/etc\/hosts<\/code> dosyan\u0131z\u0131 d\u00fczenleyerek alan ad\u0131 sim\u00fclasyonu yapabilmeniz gerekmektedir. E\u011fer ger\u00e7ek bir alan ad\u0131n\u0131z varsa, DNS kay\u0131tlar\u0131n\u0131z\u0131n sunucunuzun IP adresini i\u015faret etti\u011finden emin olun.<br \/>\n*   <strong>Apache Web Sunucusu:<\/strong> Apache&#8217;nin sunucunuzda kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmas\u0131. E\u011fer kurulu de\u011filse, ilk ad\u0131mda kurulumu ger\u00e7ekle\u015ftirece\u011fiz.<\/p>\n<h3>Ad\u0131m 1: Apache Web Sunucusunu Kurma<\/h3>\n<p>E\u011fer sunucunuzda Apache kurulu de\u011filse, bu ad\u0131m\u0131 uygulayarak kurulumu ger\u00e7ekle\u015ftirebilirsiniz. Zaten kuruluysa, bu ad\u0131m\u0131 atlayabilirsiniz.<\/p>\n<h4>Paket Listesini G\u00fcncelleme<\/h4>\n<p>\u0130lk olarak, sunucunuzdaki paket listesini g\u00fcncelleyelim:<\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<h4>Apache Kurulumu<\/h4>\n<p>\u015eimdi Apache web sunucusunu kural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo apt install apache2<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Apache servisi otomatik olarak ba\u015flayacakt\u0131r. Servisin durumunu kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl status apache2<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ifadesini g\u00f6rmelisiniz.<\/p>\n<h4>G\u00fcvenlik Duvar\u0131n\u0131 Yap\u0131land\u0131rma (UFW)<\/h4>\n<p>E\u011fer sunucunuzda UFW (Uncomplicated Firewall) etkinse, Apache&#8217;nin gelen HTTP (port 80) ve HTTPS (port 443) isteklerini almas\u0131na izin vermeniz gerekir.<\/p>\n<p>Mevcut UFW uygulamalar\u0131n\u0131 listeleyin:<\/p>\n<pre><code class=\"language-bash\">sudo ufw app list<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>Apache Full<\/code>, <code>Apache<\/code> ve <code>Apache Secure<\/code> se\u00e7eneklerini g\u00f6receksiniz.<br \/>\n*   <code>Apache<\/code>: Sadece HTTP (port 80) trafi\u011fine izin verir.<br \/>\n*   <code>Apache Secure<\/code>: Sadece HTTPS (port 443) trafi\u011fine izin verir.<br \/>\n*   <code>Apache Full<\/code>: Hem HTTP hem de HTTPS trafi\u011fine izin verir.<\/p>\n<p>Sanal hostlar genellikle hem HTTP hem de HTTPS \u00fczerinden eri\u015filebilir oldu\u011fu i\u00e7in <code>Apache Full<\/code> profilini etkinle\u015ftirmek en uygunudur:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 'Apache Full'<\/code><\/pre>\n<p>UFW&#8217;nin durumunu kontrol ederek kural\u0131n eklendi\u011finden emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<h4>Apache Kurulumunu Do\u011frulama<\/h4>\n<p>Web taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresini ziyaret ederek Apache&#8217;nin varsay\u0131lan kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rmelisiniz. Bu, Apache&#8217;nin ba\u015far\u0131yla kuruldu\u011funu ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<h3>Ad\u0131m 2: Dizin Yap\u0131s\u0131n\u0131 Olu\u015fturma<\/h3>\n<p>Her sanal host i\u00e7in ayr\u0131 bir belge k\u00f6k\u00fc (DocumentRoot) dizini olu\u015fturman\u0131z \u00f6nerilir. Bu, web sitelerinin dosyalar\u0131n\u0131 birbirinden ayr\u0131 tutar ve y\u00f6netimi kolayla\u015ft\u0131r\u0131r. Tipik olarak, bu dizinler <code>\/var\/www\/<\/code> alt\u0131nda olu\u015fturulur.<\/p>\n<p>\u00d6rnek olarak <code>alanadiniz.com<\/code> ad\u0131nda bir alan ad\u0131 i\u00e7in dizin yap\u0131s\u0131n\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/alanadiniz.com\/public_html<\/code><\/pre>\n<p>Bu komut, <code>\/var\/www\/alanadiniz.com\/<\/code> dizinini ve i\u00e7inde <code>public_html<\/code> dizinini olu\u015fturacakt\u0131r. <code>public_html<\/code> genellikle web sitesinin ana dosyalar\u0131n\u0131n (HTML, CSS, JS vb.) bulundu\u011fu yerdir.<\/p>\n<h4>Dizin Sahipli\u011fini ve \u0130zinlerini Ayarlama<\/h4>\n<p>Olu\u015fturdu\u011funuz dizinlerin sahipli\u011fini ve izinlerini ayarlamak \u00f6nemlidir, b\u00f6ylece web sunucusu (Apache) bu dosyalara eri\u015febilir ve siz de bu dizinlerde dosya olu\u015fturabilirsiniz.<\/p>\n<p>Dizin sahipli\u011fini mevcut kullan\u0131c\u0131n\u0131za verin (genellikle <code>sudo<\/code> kullan\u0131c\u0131n\u0131z):<\/p>\n<pre><code class=\"language-bash\">sudo chown -R $USER:$USER \/var\/www\/alanadiniz.com<\/code><\/pre>\n<p>Burada <code>$USER<\/code>, o anki oturum a\u00e7m\u0131\u015f kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 temsil eder. Bu, size dosyalar \u00fczerinde tam kontrol sa\u011flar. Apache&#8217;nin de dosyalara eri\u015febilmesi i\u00e7in uygun izinleri ayarlayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo chmod -R 755 \/var\/www\/alanadiniz.com<\/code><\/pre>\n<p>Bu komut, dizinlere ve alt\u0131ndaki dosyalara okuma ve y\u00fcr\u00fctme izni verirken, sahibine yazma izni de verir.<\/p>\n<h3>Ad\u0131m 3: \u00d6rnek \u0130\u00e7erik Olu\u015fturma<\/h3>\n<p>Her sanal host i\u00e7in farkl\u0131 bir sayfa g\u00f6r\u00fcnt\u00fcledi\u011finizden emin olmak i\u00e7in, her bir alan ad\u0131n\u0131n <code>public_html<\/code> dizinine basit bir <code>index.html<\/code> dosyas\u0131 olu\u015ftural\u0131m.<\/p>\n<p><code>alanadiniz.com<\/code> i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/var\/www\/alanadiniz.com\/public_html\/index.html<\/code><\/pre>\n<p>\u0130\u00e7ine a\u015fa\u011f\u0131daki HTML i\u00e7eri\u011fini ekleyin:<\/p>\n<pre><code class=\"language-html\"><!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n    <meta charset=\"utf-8\">\n    <title>alanadiniz.com - Ho\u015f Geldiniz!<\/title>\n<\/head>\n<body>\n    \n    <p>Bu, alanadiniz.com i\u00e7in \u00f6zel bir sayfad\u0131r.<\/p>\n<\/body>\n<\/html><\/code><\/pre>\n<p>Kaydedip kapat\u0131n (CTRL+X, Y, Enter).<\/p>\n<p>E\u011fer birden fazla sanal host kuracaksan\u0131z (\u00f6rne\u011fin <code>alanadiniz2.com<\/code>), bu ad\u0131mlar\u0131 tekrarlayarak ikinci bir dizin ve <code>index.html<\/code> dosyas\u0131 olu\u015fturmal\u0131s\u0131n\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/var\/www\/alanadiniz2.com\/public_html\nsudo chown -R $USER:$USER \/var\/www\/alanadiniz2.com\nsudo chmod -R 755 \/var\/www\/alanadiniz2.com\nsudo nano \/var\/www\/alanadiniz2.com\/public_html\/index.html<\/code><\/pre>\n<p>Ve <code>alanadiniz2.com<\/code> i\u00e7in farkl\u0131 bir i\u00e7erik ekleyin:<\/p>\n<pre><code class=\"language-html\"><!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n    <meta charset=\"utf-8\">\n    <title>alanadiniz2.com - Ho\u015f Geldiniz!<\/title>\n<\/head>\n<body>\n    \n    <p>Bu, alanadiniz2.com i\u00e7in \u00f6zel bir sayfad\u0131r.<\/p>\n<\/body>\n<\/html><\/code><\/pre>\n<h3>Ad\u0131m 4: Sanal Host Dosyalar\u0131n\u0131 Olu\u015fturma<\/h3>\n<p>Apache, sanal host yap\u0131land\u0131rma dosyalar\u0131n\u0131 <code>\/etc\/apache2\/sites-available\/<\/code> dizininde saklar. Bu dizindeki dosyalar, etkinle\u015ftirilmedik\u00e7e Apache taraf\u0131ndan kullan\u0131lmaz. Etkinle\u015ftirilen sanal hostlar ise <code>\/etc\/apache2\/sites-enabled\/<\/code> dizinine sembolik ba\u011flant\u0131lar (symlinks) olarak eklenir.<\/p>\n<p>Varsay\u0131lan yap\u0131land\u0131rma dosyas\u0131 <code>000-default.conf<\/code> dosyas\u0131n\u0131 kopyalayarak yeni bir sanal host dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/apache2\/sites-available\/000-default.conf \/etc\/apache2\/sites-available\/alanadiniz.com.conf<\/code><\/pre>\n<p>\u015eimdi bu dosyay\u0131 d\u00fczenleyelim:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/apache2\/sites-available\/alanadiniz.com.conf<\/code><\/pre>\n<p>Dosyan\u0131n i\u00e7eri\u011fini a\u015fa\u011f\u0131daki gibi g\u00fcncelleyin. Mevcut <code>DocumentRoot<\/code> ve <code>ServerName<\/code> gibi direktifleri kendi alan ad\u0131n\u0131za g\u00f6re de\u011fi\u015ftirin ve <code>ServerAdmin<\/code> ile <code>ServerAlias<\/code> direktiflerini ekleyin:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    ServerAdmin webmaster@alanadiniz.com\n    ServerName alanadiniz.com\n    ServerAlias www.alanadiniz.com\n    DocumentRoot \/var\/www\/alanadiniz.com\/public_html\n\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n    <Directory \/var\/www\/alanadiniz.com\/public_html>\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n<\/VirtualHost><\/code><\/pre>\n<p>A\u00e7\u0131klamalar:<\/p>\n<p><em>   <code><VirtualHost <\/em>:80><\/code>: Bu blok, HTTP (port 80) \u00fczerinden gelen istekleri dinleyecek bir sanal host tan\u0131mlar. <code>*<\/code> t\u00fcm IP adreslerini dinlemesi anlam\u0131na gelir.<br \/>\n*   <code>ServerAdmin<\/code>: Web sitesi y\u00f6neticisinin e-posta adresi. Hata durumunda bu e-posta adresi kullan\u0131labilir.<br \/>\n*   <code>ServerName<\/code>: Bu sanal hostun hizmet verece\u011fi birincil alan ad\u0131.<br \/>\n*   <code>ServerAlias<\/code>: Bu sanal hostun hizmet verece\u011fi di\u011fer alan adlar\u0131 veya alt alan adlar\u0131 (\u00f6rne\u011fin, <code>www.alanadiniz.com<\/code>).<br \/>\n*   <code>DocumentRoot<\/code>: Web sitesinin dosyalar\u0131n\u0131n bulundu\u011fu k\u00f6k dizin.<br \/>\n*   <code>ErrorLog<\/code> ve <code>CustomLog<\/code>: Hata ve eri\u015fim g\u00fcnl\u00fcklerinin kaydedilece\u011fi yerler. Apache&#8217;nin varsay\u0131lan g\u00fcnl\u00fck dizini <code>\/var\/log\/apache2\/<\/code> alt\u0131ndad\u0131r.<br \/>\n*   <code><Directory \/var\/www\/alanadiniz.com\/public_html><\/code>: Bu blok, belirli bir dizin i\u00e7in \u00f6zel yap\u0131land\u0131rma ayarlar\u0131 tan\u0131mlar.<br \/>\n    *   <code>Options Indexes FollowSymLinks<\/code>: Dizindeki dosyalar\u0131n listelenmesine (Indexes) ve sembolik ba\u011flant\u0131lar\u0131n takip edilmesine (FollowSymLinks) izin verir. G\u00fcvenlik nedeniyle <code>Indexes<\/code> kapat\u0131labilir.<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, WordPress gibi CMS&#8217;ler i\u00e7in genellikle gereklidir.<br \/>\n    *   <code>Require all granted<\/code>: Bu dizine t\u00fcm isteklerin eri\u015fimine izin verir.<\/p>\n<p>Dosyay\u0131 kaydedip kapat\u0131n. E\u011fer ikinci bir sanal host kuruyorsan\u0131z (<code>alanadiniz2.com<\/code>), ayn\u0131 ad\u0131mlar\u0131 takip ederek ikinci bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturun (<code>alanadiniz2.com.conf<\/code>) ve ilgili alan ad\u0131 ve dizin bilgilerini g\u00fcncelleyin.<\/p>\n<pre><code class=\"language-bash\">sudo cp \/etc\/apache2\/sites-available\/000-default.conf \/etc\/apache2\/sites-available\/alanadiniz2.com.conf\nsudo nano \/etc\/apache2\/sites-available\/alanadiniz2.com.conf<\/code><\/pre>\n<p>\u0130kinci dosya i\u00e7eri\u011fi:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n    ServerAdmin webmaster@alanadiniz2.com\n    ServerName alanadiniz2.com\n    ServerAlias www.alanadiniz2.com\n    DocumentRoot \/var\/www\/alanadiniz2.com\/public_html\n\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n    <Directory \/var\/www\/alanadiniz2.com\/public_html>\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    <\/Directory>\n<\/VirtualHost><\/code><\/pre>\n<h3>Ad\u0131m 5: Sanal Hostlar\u0131 Etkinle\u015ftirme<\/h3>\n<p>Yeni olu\u015fturdu\u011funuz sanal host yap\u0131land\u0131rma dosyalar\u0131n\u0131 etkinle\u015ftirmek i\u00e7in Apache&#8217;nin <code>a2ensite<\/code> yard\u0131mc\u0131 program\u0131n\u0131 kullanman\u0131z gerekir.<\/p>\n<p><code>alanadiniz.com<\/code> sanal hostunu etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo a2ensite alanadiniz.com.conf<\/code><\/pre>\n<p>E\u011fer <code>alanadiniz2.com<\/code> gibi ba\u015fka sanal hostlar\u0131n\u0131z varsa, onlar\u0131 da etkinle\u015ftirin:<\/p>\n<pre><code class=\"language-bash\">sudo a2ensite alanadiniz2.com.conf<\/code><\/pre>\n<p>Varsay\u0131lan Apache sayfas\u0131n\u0131 g\u00f6rmek istemiyorsan\u0131z, <code>000-default.conf<\/code> sanal hostunu devre d\u0131\u015f\u0131 b\u0131rakabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo a2dissite 000-default.conf<\/code><\/pre>\n<h4>Yap\u0131land\u0131rma S\u00f6z Dizimini Kontrol Etme<\/h4>\n<p>Herhangi bir hata olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in Apache yap\u0131land\u0131rma dosyalar\u0131n\u0131z\u0131n s\u00f6z dizimini test edin:<\/p>\n<pre><code class=\"language-bash\">sudo apache2ctl configtest<\/code><\/pre>\n<p>E\u011fer her \u015fey yolundaysa, <code>Syntax OK<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6rmelisiniz. Herhangi bir hata varsa, hatay\u0131 d\u00fczelttikten sonra tekrar test edin.<\/p>\n<h4>Apache Servisini Yeniden Ba\u015flatma<\/h4>\n<p>Yeni yap\u0131land\u0131rmalar\u0131n etkili olmas\u0131 i\u00e7in Apache servisini yeniden y\u00fcklemeniz veya yeniden ba\u015flatman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload apache2<\/code><\/pre>\n<p>Veya:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart apache2<\/code><\/pre>\n<p><code>reload<\/code> komutu, servisi kesintiye u\u011fratmadan yap\u0131land\u0131rmalar\u0131 y\u00fcklerken, <code>restart<\/code> komutu servisi tamamen durdurup yeniden ba\u015flat\u0131r. Genellikle <code>reload<\/code> yeterlidir.<\/p>\n<h3>Ad\u0131m 6: Yerel DNS Ayarlar\u0131n\u0131 Yap\u0131land\u0131rma (Test \u0130\u00e7in)<\/h3>\n<p>E\u011fer ger\u00e7ek bir alan ad\u0131 kullanm\u0131yorsan\u0131z ve sadece yerel olarak test ediyorsan\u0131z, bilgisayar\u0131n\u0131z\u0131n <code>hosts<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek alan adlar\u0131n\u0131z\u0131 sunucunuzun IP adresine y\u00f6nlendirebilirsiniz. Bu, taray\u0131c\u0131n\u0131z\u0131n alan ad\u0131n\u0131 sunucunuzun IP adresine \u00e7\u00f6z\u00fcmlemesini sa\u011flar.<\/p>\n<p><strong>Bu ad\u0131m\u0131, sadece test amac\u0131yla yerel bilgisayar\u0131n\u0131zda yapman\u0131z gerekmektedir, sunucunuzda de\u011fil.<\/strong><\/p>\n<p>Windows, macOS veya Linux i\u015fletim sistemlerinde <code>hosts<\/code> dosyas\u0131n\u0131n konumu farkl\u0131l\u0131k g\u00f6sterebilir:<\/p>\n<p>*   <strong>Linux\/macOS:<\/strong> <code>\/etc\/hosts<\/code><br \/>\n*   <strong>Windows:<\/strong> <code>C:\\Windows\\System32\\drivers\\etc\\hosts<\/code><\/p>\n<p>Dosyay\u0131 d\u00fczenlemek i\u00e7in <code>sudo<\/code> yetkilerine sahip bir metin d\u00fczenleyici kullan\u0131n. \u00d6rne\u011fin, Linux veya macOS&#8217;ta:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/hosts<\/code><\/pre>\n<p>Dosyan\u0131n sonuna a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin (sunucunuzun IP adresini kendi IP adresinizle de\u011fi\u015ftirin):<\/p>\n<pre><code class=\"language-\">SUNUCU_IP_ADRES\u0130    alanadiniz.com\nSUNUCU_IP_ADRES\u0130    www.alanadiniz.com\nSUNUCU_IP_ADRES\u0130    alanadiniz2.com\nSUNUCU_IP_ADRES\u0130    www.alanadiniz2.com<\/code><\/pre>\n<p>\u00d6rne\u011fin, sunucunuzun IP adresi <code>203.0.113.10<\/code> ise:<\/p>\n<pre><code class=\"language-\">203.0.113.10    alanadiniz.com\n203.0.113.10    www.alanadiniz.com\n203.0.113.10    alanadiniz2.com\n203.0.113.10    www.alanadiniz2.com<\/code><\/pre>\n<p>Kaydedip kapat\u0131n. \u015eimdi web taray\u0131c\u0131n\u0131zda <code>http:\/\/alanadiniz.com<\/code> veya <code>http:\/\/alanadiniz2.com<\/code> adreslerini ziyaret etti\u011finizde, her bir alan ad\u0131n\u0131n kendi \u00f6zel <code>index.html<\/code> sayfas\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<p>E\u011fer ger\u00e7ek bir alan ad\u0131 kullan\u0131yorsan\u0131z, bu ad\u0131m\u0131 atlayabilirsiniz. DNS kay\u0131tlar\u0131n\u0131z\u0131n (A kayd\u0131) sunucunuzun IP adresini do\u011fru bir \u015fekilde i\u015faret etti\u011finden emin olun. DNS de\u011fi\u015fikliklerinin internet genelinde yay\u0131lmas\u0131 (propagation) biraz zaman alabilir (birka\u00e7 dakika ila 48 saate kadar).<\/p>\n<h3>Ad\u0131m 7: Geli\u015fmi\u015f Sanal Host Yap\u0131land\u0131rmalar\u0131<\/h3>\n<p>Sanal hostlar, temel kurulumun \u00f6tesinde bir\u00e7ok geli\u015fmi\u015f yap\u0131land\u0131rma se\u00e7ene\u011fi sunar. \u0130\u015fte baz\u0131 \u00f6nemli olanlar:<\/p>\n<h4>SSL\/TLS (HTTPS) ile Sanal Hostlar<\/h4>\n<p>G\u00fcn\u00fcm\u00fczde web siteleri i\u00e7in HTTPS kullan\u0131m\u0131 bir standart haline gelmi\u015ftir. Let&#8217;s Encrypt gibi \u00fccretsiz SSL sertifikas\u0131 sa\u011flay\u0131c\u0131lar\u0131 sayesinde HTTPS kurulumu olduk\u00e7a kolayd\u0131r.<\/p>\n<p>1.  <strong>SSL Mod\u00fcl\u00fcn\u00fc Etkinle\u015ftirme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo a2enmod ssl<\/code><\/pre>\n<p>2.  <strong>Sertifika ve Anahtar Dosyalar\u0131n\u0131 Alma:<\/strong> Genellikle Certbot gibi ara\u00e7larla otomatik olarak yap\u0131l\u0131r.<br \/>\n3.  <strong>Sanal Host Yap\u0131land\u0131rmas\u0131n\u0131 G\u00fcncelleme:<\/strong> Mevcut <code>.conf<\/code> dosyan\u0131z\u0131 kopyalayarak veya d\u00fczenleyerek HTTPS i\u00e7in yeni bir <code><VirtualHost *:443><\/code> blo\u011fu olu\u015fturun:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:443>\n        ServerAdmin webmaster@alanadiniz.com\n        ServerName alanadiniz.com\n        ServerAlias www.alanadiniz.com\n        DocumentRoot \/var\/www\/alanadiniz.com\/public_html\n\n        ErrorLog ${APACHE_LOG_DIR}\/error.log\n        CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n        SSLEngine on\n        SSLCertificateFile \/etc\/letsencrypt\/live\/alanadiniz.com\/fullchain.pem\n        SSLCertificateKeyFile \/etc\/letsencrypt\/live\/alanadiniz.com\/privkey.pem\n\n        <Directory \/var\/www\/alanadiniz.com\/public_html>\n            Options Indexes FollowSymLinks\n            AllowOverride All\n            Require all granted\n        <\/Directory>\n    <\/VirtualHost><\/code><\/pre>\n<p>    <code>SSLCertificateFile<\/code> ve <code>SSLCertificateKeyFile<\/code> yollar\u0131n\u0131 kendi sertifika dosyalar\u0131n\u0131z\u0131n yollar\u0131yla de\u011fi\u015ftirmeniz gerekmektedir. Certbot kullan\u0131yorsan\u0131z, bu yollar genellikle <code>\/etc\/letsencrypt\/live\/your_domain\/<\/code> alt\u0131nda bulunur.<\/p>\n<p>4.  <strong>HTTP&#8217;den HTTPS&#8217;e Y\u00f6nlendirme:<\/strong> \u00c7o\u011fu zaman, kullan\u0131c\u0131lar\u0131n her zaman HTTPS s\u00fcr\u00fcm\u00fcne y\u00f6nlendirilmesini istersiniz. Bunu HTTP sanal host blo\u011funuza ekleyerek yapabilirsiniz:<\/p>\n<pre><code class=\"language-apache\"><VirtualHost *:80>\n        ServerName alanadiniz.com\n        ServerAlias www.alanadiniz.com\n        Redirect permanent \/ https:\/\/alanadiniz.com\/\n    <\/VirtualHost><\/code><\/pre>\n<p>    Bu, HTTP \u00fczerinden gelen t\u00fcm istekleri kal\u0131c\u0131 olarak HTTPS&#8217;e y\u00f6nlendirecektir.<\/p>\n<p>5.  <strong>Apache&#8217;yi Yeniden Ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart apache2<\/code><\/pre>\n<h4>Birden Fazla Alan Ad\u0131 \u0130\u00e7in Sanal Hostlar<\/h4>\n<p>Bu rehberde zaten iki alan ad\u0131 (<code>alanadiniz.com<\/code> ve <code>alanadiniz2.com<\/code>) i\u00e7in \u00f6rnekler verdik. Temel prensip, her alan ad\u0131 i\u00e7in ayr\u0131 bir dizin yap\u0131s\u0131, ayr\u0131 bir <code>index.html<\/code> (veya web sitesi i\u00e7eri\u011fi) ve ayr\u0131 bir <code>.conf<\/code> dosyas\u0131 olu\u015fturmakt\u0131r. Her <code>.conf<\/code> dosyas\u0131nda <code>ServerName<\/code> ve <code>DocumentRoot<\/code> direktiflerini ilgili alan ad\u0131na g\u00f6re ayarlaman\u0131z yeterlidir.<\/p>\n<h4>Yeniden Y\u00f6nlendirmeler (Redirects)<\/h4>\n<p>Apache, <code>Redirect<\/code> ve <code>mod_rewrite<\/code> mod\u00fclleri arac\u0131l\u0131\u011f\u0131yla g\u00fc\u00e7l\u00fc yeniden y\u00f6nlendirme yetenekleri sunar.<\/p>\n<p>*   <strong>Basit Yeniden Y\u00f6nlendirme (<code>Redirect<\/code>):<\/strong> Bir URL&#8217;yi ba\u015fka bir URL&#8217;ye y\u00f6nlendirmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-apache\">Redirect permanent \/eski-sayfa.html http:\/\/alanadiniz.com\/yeni-sayfa.html<\/code><\/pre>\n<p>*   <strong>Geli\u015fmi\u015f Yeniden Y\u00f6nlendirme (<code>mod_rewrite<\/code>):<\/strong> Daha karma\u015f\u0131k desen e\u015fle\u015ftirme ve ko\u015fullu y\u00f6nlendirmeler i\u00e7in kullan\u0131l\u0131r. <code>mod_rewrite<\/code> mod\u00fcl\u00fcn\u00fc etkinle\u015ftirmeniz gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo a2enmod rewrite\n    sudo systemctl reload apache2<\/code><\/pre>\n<p>    Daha sonra <code>.htaccess<\/code> dosyan\u0131zda veya <code><VirtualHost><\/code> blo\u011funuzda kullanabilirsiniz:<\/p>\n<pre><code class=\"language-apache\">RewriteEngine On\n    RewriteRule ^eski-dizin\/(.*)$ \/yeni-dizin\/$1 [R=301,L]<\/code><\/pre>\n<h4>Dizin \u0130zinleri ve G\u00fcvenlik<\/h4>\n<p><code><Directory><\/code> bloklar\u0131, belirli dizinler i\u00e7in g\u00fcvenlik ve eri\u015fim ayarlar\u0131n\u0131 yap\u0131land\u0131rmak i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<p>*   <strong><code>Options<\/code> Direktifi:<\/strong><br \/>\n    *   <code>Indexes<\/code>: Dizinlerin i\u00e7eri\u011finin listelenmesine izin verir (genellikle kapat\u0131lmal\u0131d\u0131r).<br \/>\n    *   <code>FollowSymLinks<\/code>: Sembolik ba\u011flant\u0131lar\u0131n takip edilmesine izin verir (genellikle gereklidir).<br \/>\n    *   <code>MultiViews<\/code>: \u0130\u00e7erik anla\u015fmas\u0131n\u0131 etkinle\u015ftirir.<br \/>\n*   <strong><code>AllowOverride<\/code> Direktifi:<\/strong><br \/>\n    *   <code>None<\/code>: <code>.htaccess<\/code> dosyalar\u0131n\u0131n Apache yap\u0131land\u0131rmas\u0131n\u0131 ge\u00e7ersiz k\u0131lmas\u0131na izin vermez (daha g\u00fcvenli).<br \/>\n    *   <code>All<\/code>: <code>.htaccess<\/code> dosyalar\u0131n\u0131n t\u00fcm direktifleri ge\u00e7ersiz k\u0131lmas\u0131na izin verir (CMS&#8217;ler i\u00e7in yayg\u0131n).<br \/>\n*   <strong><code>Require<\/code> Direktifi:<\/strong><br \/>\n    *   <code>Require all granted<\/code>: T\u00fcm isteklere izin verir.<br \/>\n    *   <code>Require all denied<\/code>: T\u00fcm istekleri reddeder.<br \/>\n    *   <code>Require ip 192.168.1.0\/24<\/code>: Belirli bir IP aral\u0131\u011f\u0131ndan gelen isteklere izin verir.<\/p>\n<p>G\u00fcvenlik a\u00e7\u0131s\u0131ndan, <code>AllowOverride None<\/code> kullanmak ve t\u00fcm yap\u0131land\u0131rmay\u0131 ana sanal host dosyalar\u0131nda yapmak daha iyidir, ancak bu, <code>.htaccess<\/code> dosyalar\u0131na dayanan uygulamalar i\u00e7in m\u00fcmk\u00fcn olmayabilir.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Sanal host kurulumu s\u0131ras\u0131nda veya sonras\u0131nda baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte baz\u0131lar\u0131 ve olas\u0131 \u00e7\u00f6z\u00fcmleri:<\/p>\n<p>1.  <strong>&#8220;Syntax OK&#8221; Hatas\u0131 Yok:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> <code>sudo apache2ctl configtest<\/code> komutu <code>Syntax OK<\/code> d\u0131\u015f\u0131nda bir hata veriyor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Hata mesaj\u0131n\u0131 dikkatlice okuyun. Genellikle hata, yap\u0131land\u0131rma dosyas\u0131ndaki bir yaz\u0131m hatas\u0131, eksik bir direktif veya yanl\u0131\u015f bir yoldan kaynaklan\u0131r. Hata mesaj\u0131nda belirtilen dosya ve sat\u0131r numaras\u0131n\u0131 kontrol edin ve d\u00fczeltin.<\/p>\n<p>2.  <strong>403 Forbidden Hatas\u0131:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> Web sitesine eri\u015fmeye \u00e7al\u0131\u015f\u0131rken &#8220;403 Forbidden&#8221; hatas\u0131 al\u0131yorsunuz.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu genellikle dizin izinleri veya Apache&#8217;nin dizine eri\u015fim yetkisiyle ilgilidir.<br \/>\n        *   <code>DocumentRoot<\/code> dizininin ve alt\u0131ndaki dosyalar\u0131n Apache kullan\u0131c\u0131s\u0131 (<code>www-data<\/code>) taraf\u0131ndan okunabilir oldu\u011fundan emin olun. <code>sudo chmod -R 755 \/var\/www\/alanadiniz.com<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131r\u0131n.<br \/>\n        *   <code><Directory><\/code> blo\u011funuzda <code>Require all granted<\/code> direktifinin oldu\u011fundan emin olun.<br \/>\n        *   SELinux veya AppArmor gibi ek g\u00fcvenlik \u00f6nlemleri etkinse, bunlar\u0131n Apache&#8217;nin dizinlere eri\u015fimini engellemedi\u011finden emin olun.<\/p>\n<p>3.  <strong>Apache Varsay\u0131lan Sayfas\u0131 G\u00f6r\u00fcn\u00fcyor:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> Kendi alan ad\u0131n\u0131z\u0131 ziyaret etti\u011finizde hala Apache&#8217;nin varsay\u0131lan &#8220;It works!&#8221; sayfas\u0131n\u0131 g\u00f6r\u00fcyorsunuz.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        *   <code>sudo a2ensite your_domain.conf<\/code> komutuyla sanal hostunuzu etkinle\u015ftirdi\u011finizden emin olun.<br \/>\n        *   <code>sudo a2dissite 000-default.conf<\/code> ile varsay\u0131lan sanal hostu devre d\u0131\u015f\u0131 b\u0131rakmay\u0131 deneyin.<br \/>\n        *   <code>sudo systemctl reload apache2<\/code> veya <code>sudo systemctl restart apache2<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n        *   <code>ServerName<\/code> ve <code>ServerAlias<\/code> direktiflerinin do\u011fru yaz\u0131ld\u0131\u011f\u0131ndan emin olun.<\/p>\n<p>4.  <strong>DNS \u00c7\u00f6z\u00fcmleme Sorunlar\u0131:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> Alan ad\u0131n\u0131z\u0131 taray\u0131c\u0131n\u0131zda a\u00e7t\u0131\u011f\u0131n\u0131zda &#8220;Siteye ula\u015f\u0131lam\u0131yor&#8221; veya benzeri bir hata al\u0131yorsunuz.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        *   E\u011fer ger\u00e7ek bir alan ad\u0131 kullan\u0131yorsan\u0131z, DNS kay\u0131tlar\u0131n\u0131z\u0131n (A kayd\u0131) sunucunuzun IP adresini do\u011fru bir \u015fekilde i\u015faret etti\u011finden emin olun. DNS yay\u0131l\u0131m\u0131 biraz zaman alabilir. <code>ping your_domain.com<\/code> veya <code>dig your_domain.com<\/code> komutlar\u0131yla kontrol edebilirsiniz.<br \/>\n        *   E\u011fer yerel <code>hosts<\/code> dosyan\u0131z\u0131 kullan\u0131yorsan\u0131z, IP adresi ve alan ad\u0131 e\u015fle\u015fmesinin do\u011fru oldu\u011fundan ve dosyan\u0131n kaydedildi\u011finden emin olun. Taray\u0131c\u0131 \u00f6nbelle\u011fini temizlemeyi deneyin.<\/p>\n<p>5.  <strong>Yanl\u0131\u015f Sanal Host A\u00e7\u0131l\u0131yor:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> Birden fazla sanal host kurdunuz, ancak yanl\u0131\u015f olan\u0131 a\u00e7\u0131l\u0131yor veya her ikisi de ayn\u0131 i\u00e7eri\u011fi g\u00f6steriyor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        *   Her sanal host dosyas\u0131ndaki <code>ServerName<\/code> ve <code>ServerAlias<\/code> direktiflerinin benzersiz ve do\u011fru oldu\u011fundan emin olun.<br \/>\n        *   <code>DocumentRoot<\/code> direktiflerinin her sanal host i\u00e7in do\u011fru dizini g\u00f6sterdi\u011finden emin olun.<br \/>\n        *   <code>sudo apache2ctl configtest<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak s\u00f6z dizimi hatalar\u0131n\u0131 kontrol edin.<br \/>\n        *   Apache, ilk e\u015fle\u015fen sanal hostu kullan\u0131r. E\u011fer birden fazla sanal host ayn\u0131 <code>ServerName<\/code> veya <code>ServerAlias<\/code> de\u011ferine sahipse, bu bir \u00e7ak\u0131\u015fmaya neden olabilir.<\/p>\n<p>6.  <strong>Apache Yeniden Ba\u015flam\u0131yor:<\/strong><br \/>\n    *   <strong>Sorun:<\/strong> <code>sudo systemctl restart apache2<\/code> komutu hata veriyor.<br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Genellikle bu, yap\u0131land\u0131rma dosyas\u0131ndaki bir hatadan kaynaklan\u0131r. <code>sudo apache2ctl configtest<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak hatay\u0131 bulun ve d\u00fczeltin. Ayr\u0131ca Apache g\u00fcnl\u00fck dosyalar\u0131n\u0131 (<code>\/var\/log\/apache2\/error.log<\/code>) kontrol ederek daha detayl\u0131 bilgi edinebilirsiniz.<\/p>\n<p>Bu sorun giderme ad\u0131mlar\u0131, \u00e7o\u011fu yayg\u0131n Apache sanal host sorununu \u00e7\u00f6zmenize yard\u0131mc\u0131 olacakt\u0131r. Unutmay\u0131n, sab\u0131r ve dikkatli g\u00fcnl\u00fck kontrol\u00fc, sorun gidermenin anahtar\u0131d\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu rehberde, Ubuntu 18.04 sunucunuzda Apache sanal hostlar\u0131n\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. Sanal hostlar, tek bir sunucu \u00fczerinde birden fazla web sitesini bar\u0131nd\u0131rmak i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir y\u00f6ntem sunar. Ad\u0131m ad\u0131m ilerleyerek Apache&#8217;yi kurduk, dizin yap\u0131s\u0131n\u0131 olu\u015fturduk, \u00f6rnek i\u00e7erik ekledik, sanal host yap\u0131land\u0131rma dosyalar\u0131n\u0131 olu\u015fturup etkinle\u015ftirdik ve son olarak yerel DNS ayarlar\u0131m\u0131z\u0131 yaparak kurulumu test ettik. Ayr\u0131ca, SSL\/TLS entegrasyonu, yeniden y\u00f6nlendirmeler ve g\u00fcvenlik gibi geli\u015fmi\u015f konulara da de\u011findik ve s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara \u00e7\u00f6z\u00fcm yollar\u0131 sunduk.<\/p>\n<p>Art\u0131k kendi web sitelerinizi veya m\u00fc\u015fterilerinizin sitelerini tek bir sunucu \u00fczerinde kolayca bar\u0131nd\u0131rabilir ve y\u00f6netebilirsiniz. Bu bilgi, web geli\u015ftirme ve sunucu y\u00f6netimi becerilerinizi \u00f6nemli \u00f6l\u00e7\u00fcde geli\u015ftirecektir. \u0130leri d\u00fczey yap\u0131land\u0131rmalar ve g\u00fcvenlik iyile\u015ftirmeleri i\u00e7in Apache belgelerini incelemeye devam etmeniz \u00f6nerilir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]\nApache web sunucusu, internetteki en pop\u00fcler ve","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-32553","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 Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] - 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-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]\" \/>\n<meta property=\"og:description\" content=\"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] Apache web sunucusu, internetteki en pop\u00fcler ve\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-23T03:41:05+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]\",\"datePublished\":\"2025-10-23T03:41:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/\"},\"wordCount\":2739,\"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-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/\",\"name\":\"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-23T03:41:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]\"}]},{\"@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 Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] - 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-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/","og_locale":"tr_TR","og_type":"article","og_title":"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]","og_description":"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] Apache web sunucusu, internetteki en pop\u00fcler ve","og_url":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-23T03:41:05+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]","datePublished":"2025-10-23T03:41:05+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/"},"wordCount":2739,"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-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/","url":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/","name":"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7] - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-23T03:41:05+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-hostlari-virtual-hosts-ubuntu-18-04-uzerinde-nasil-kurulur-hizli-baslangic\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Apache Sanal Hostlar\u0131 (Virtual Hosts) Ubuntu 18.04 \u00dczerinde Nas\u0131l Kurulur [H\u0131zl\u0131 Ba\u015flang\u0131\u00e7]"}]},{"@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\/32553","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=32553"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32553\/revisions"}],"predecessor-version":[{"id":32554,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32553\/revisions\/32554"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}