{"id":38357,"date":"2026-01-29T16:22:15","date_gmt":"2026-01-29T13:22:15","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/"},"modified":"2026-01-29T16:22:15","modified_gmt":"2026-01-29T13:22:15","slug":"apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/","title":{"rendered":"Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?"},"content":{"rendered":"<p><title>Ubuntu&#8217;da Apache Sanal Sunucular\u0131n\u0131 Kurulum Rehberi<\/title><br \/>\n<body><\/p>\n<p>Tek bir sunucu \u00fczerinde birden fazla web sitesi bar\u0131nd\u0131rmak, maliyetleri d\u00fc\u015f\u00fcrmek ve kaynaklar\u0131 verimli kullanmak isteyenler i\u00e7in hayati bir ihtiya\u00e7t\u0131r. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen i\u015flemi Ubuntu sunucunuzda Apache Sanal Sunucular (Virtual Hosts) kullanarak nas\u0131l kolayca ba\u015farabilirsiniz? Bu kapsaml\u0131 rehber, s\u0131f\u0131rdan ba\u015flayarak kendi sanal sunucular\u0131n\u0131z\u0131 kurman\u0131z ve y\u00f6netmeniz i\u00e7in ad\u0131m ad\u0131m yol g\u00f6sterecek, b\u00f6ylece web projelerinizi tek bir g\u00fc\u00e7l\u00fc altyap\u0131da sorunsuz bir \u015fekilde bar\u0131nd\u0131rabileceksiniz.<\/p>\n<h2>Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?<\/h2>\n<p>G\u00fcn\u00fcm\u00fczde bir\u00e7ok i\u015fletme ve geli\u015ftirici, birden fazla web sitesini y\u00f6netmek durumundad\u0131r. Her web sitesi i\u00e7in ayr\u0131 bir fiziksel sunucu sat\u0131n almak hem maliyetli hem de kaynak israf\u0131na yol a\u00e7an bir \u00e7\u00f6z\u00fcmd\u00fcr. \u0130\u015fte tam bu noktada Apache Sanal Sunucular (Virtual Hosts) devreye girer. Sanal sunucular, tek bir fiziksel sunucu \u00fczerinde birden fazla alan ad\u0131n\u0131 (domain) veya web sitesini bar\u0131nd\u0131rman\u0131za olanak tan\u0131yan bir Apache \u00f6zelli\u011fidir. Bu sayede, ayn\u0131 IP adresi ve port numaras\u0131 \u00fczerinden farkl\u0131 web sitelerine hizmet verebilirsiniz. Bu yetenek, sunucu y\u00f6netimi ve maliyet etkinli\u011fi a\u00e7\u0131s\u0131ndan olduk\u00e7a \u00f6nemlidir.<\/p>\n<p>Peki, neden sanal sunucular\u0131 kullanmal\u0131y\u0131z? \u00d6ncelikle, <strong>maliyet tasarrufu<\/strong> sa\u011flar. Her web sitesi i\u00e7in ayr\u0131 bir sunucu kiralamak veya sat\u0131n almak yerine, mevcut sunucunuzun kaynaklar\u0131n\u0131 birden fazla projeye da\u011f\u0131tabilirsiniz. Bu, \u00f6zellikle k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli i\u015fletmeler veya ki\u015fisel projeler i\u00e7in b\u00fcy\u00fck bir avantajd\u0131r. \u0130kinci olarak, <strong>kaynak verimlili\u011fi<\/strong> artar. Sunucunuzun CPU, RAM ve disk gibi kaynaklar\u0131, sanal sunucular arac\u0131l\u0131\u011f\u0131yla daha etkin bir \u015fekilde kullan\u0131l\u0131r. Bo\u015fta duran kaynaklar yerine, bu kaynaklar farkl\u0131 web sitelerinin ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak \u00fczere tahsis edilebilir.<\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc bir neden olarak, <strong>kolay y\u00f6netim<\/strong> ve <strong>\u00f6l\u00e7eklenebilirlik<\/strong> \u00f6n plana \u00e7\u0131kar. Her web sitesi i\u00e7in ayr\u0131 bir yap\u0131land\u0131rma dosyas\u0131 olu\u015fturarak, her birinin ayarlar\u0131n\u0131 ba\u011f\u0131ms\u0131z bir \u015fekilde y\u00f6netebilirsiniz. Bir sitenin ayarlar\u0131nda yap\u0131lan de\u011fi\u015fiklikler di\u011ferlerini etkilemez. Ayr\u0131ca, yeni bir web sitesi eklemek istedi\u011finizde, mevcut sunucunuza kolayca yeni bir sanal sunucu yap\u0131land\u0131rmas\u0131 ekleyerek \u00f6l\u00e7eklenebilir bir \u00e7\u00f6z\u00fcm sunar. \u00d6rne\u011fin, bir e-ticaret siteniz, bir blogunuz ve bir kurumsal web siteniz oldu\u011funu varsayal\u0131m. Bu \u00fc\u00e7 farkl\u0131 siteyi tek bir g\u00fc\u00e7l\u00fc Ubuntu sunucusu \u00fczerinde, her birine \u00f6zel ayarlar ve dizin k\u00f6kleri ile bar\u0131nd\u0131rabilirsiniz. Bu, hem geli\u015ftirme hem de bak\u0131m s\u00fcre\u00e7lerini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirir.<\/p>\n<p>Sanal sunucular\u0131n iki ana t\u00fcr\u00fc vard\u0131r: <strong>\u0130sim Tabanl\u0131 (Name-based) Sanal Sunucular<\/strong> ve <strong>IP Tabanl\u0131 (IP-based) Sanal Sunucular<\/strong>. \u0130sim tabanl\u0131 sanal sunucular, ayn\u0131 IP adresini ve portu kullanarak farkl\u0131 alan adlar\u0131na hizmet verir. Bu, g\u00fcn\u00fcm\u00fczde en yayg\u0131n kullan\u0131lan y\u00f6ntemdir \u00e7\u00fcnk\u00fc her web sitesi i\u00e7in ayr\u0131 bir IP adresine ihtiya\u00e7 duymazs\u0131n\u0131z. Apache, gelen iste\u011fin hangi alan ad\u0131na ait oldu\u011funu HTTP ba\u015fl\u0131klar\u0131ndan okuyarak ilgili web sitesine y\u00f6nlendirme yapar. IP tabanl\u0131 sanal sunucular ise her web sitesi i\u00e7in ayr\u0131 bir IP adresi gerektirir, bu da daha az esnek ve maliyetli bir \u00e7\u00f6z\u00fcmd\u00fcr. Dolay\u0131s\u0131yla, bu rehberde genellikle isim tabanl\u0131 sanal sunuculara odaklanaca\u011f\u0131z. Bu temel anlay\u0131\u015fla, art\u0131k sunucumuzu haz\u0131rlama ad\u0131mlar\u0131na ge\u00e7ebiliriz.<\/p>\n<h2>Ubuntu Sunucusunu Haz\u0131rlama: \u0130lk Ad\u0131mlar Nelerdir?<\/h2>\n<p>Apache sanal sunucular\u0131n\u0131 kurmaya ba\u015flamadan \u00f6nce, Ubuntu sunucunuzun temel gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan ve Apache web sunucusunun kurulu oldu\u011fundan emin olmal\u0131y\u0131z. Bu b\u00f6l\u00fcm, sunucunuzu s\u0131f\u0131rdan haz\u0131rlaman\u0131z i\u00e7in gerekli olan ad\u0131mlar\u0131 i\u00e7ermektedir. \u00d6ncelikle, sunucunuzda Apache web sunucusunun kurulu olmas\u0131 \u015fartt\u0131r. E\u011fer kurulu de\u011filse, a\u015fa\u011f\u0131daki komutlar\u0131 kullanarak kolayca kurabilirsiniz. Bu i\u015flemler i\u00e7in SSH \u00fczerinden sunucunuza eri\u015fim sa\u011flaman\u0131z gerekmektedir.<\/p>\n<pre><code>sudo apt update\nsudo apt install apache2<\/code><\/pre>\n<p>Bu komutlar, Ubuntu paket listesini g\u00fcnceller ve ard\u0131ndan Apache2 paketini kurar. Kurulum tamamland\u0131ktan sonra, Apache servisinin otomatik olarak ba\u015flamas\u0131 gerekir. Taray\u0131c\u0131n\u0131zdan sunucunuzun IP adresini ziyaret ederek Apache&#8217;nin varsay\u0131lan &#8220;It works!&#8221; sayfas\u0131n\u0131 g\u00f6r\u00fcp g\u00f6rmedi\u011finizi kontrol edebilirsiniz. E\u011fer g\u00f6r\u00fcyorsan\u0131z, Apache ba\u015far\u0131yla \u00e7al\u0131\u015f\u0131yor demektir.<\/p>\n<p>Bir di\u011fer \u00f6nemli ad\u0131m, g\u00fcvenlik duvar\u0131n\u0131 yap\u0131land\u0131rmakt\u0131r. Ubuntu&#8217;da varsay\u0131lan olarak UFW (Uncomplicated Firewall) g\u00fcvenlik duvar\u0131 bulunur. Web sunucunuzun d\u0131\u015far\u0131dan eri\u015filebilir olmas\u0131 i\u00e7in HTTP (port 80) ve HTTPS (port 443) trafi\u011fine izin vermeniz gerekmektedir. A\u015fa\u011f\u0131daki komutlar, bu portlar\u0131 UFW \u00fczerinden a\u00e7acakt\u0131r:<\/p>\n<pre><code>sudo ufw app list\nsudo ufw allow 'Apache Full'\nsudo ufw enable\nsudo ufw status<\/code><\/pre>\n<p><code>sudo ufw app list<\/code> komutu, UFW taraf\u0131ndan tan\u0131nan uygulama profillerini listeler. &#8220;Apache Full&#8221; profili, hem HTTP (80) hem de HTTPS (443) trafi\u011fine izin verir. <code>sudo ufw enable<\/code> komutu g\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftirir ve <code>sudo ufw status<\/code> komutu mevcut kurallar\u0131 g\u00f6sterir, b\u00f6ylece her \u015feyin do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olabilirsiniz. Bu ad\u0131mlar, sunucunuzun g\u00fcvenli\u011fini sa\u011flarken ayn\u0131 zamanda web sitelerinizin eri\u015filebilir olmas\u0131n\u0131 garanti eder.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: G\u00fcvenlik duvar\u0131n\u0131 etkinle\u015ftirdikten sonra SSH ba\u011flant\u0131n\u0131z\u0131n kesilmemesi i\u00e7in, SSH portuna (varsay\u0131lan olarak 22) izin verdi\u011finizden emin olun: <code>sudo ufw allow 'OpenSSH'<\/code>. Bu, sunucunuza uzaktan eri\u015fiminizi s\u00fcrd\u00fcrmek i\u00e7in kritik \u00f6neme sahiptir.\n<\/div>\n<p>Son olarak, sanal sunucular\u0131n\u0131z i\u00e7in dizin yap\u0131s\u0131n\u0131 olu\u015fturman\u0131z gerekmektedir. Apache, varsay\u0131lan olarak <code>\/var\/www\/html<\/code> dizinini kullan\u0131r. Ancak, her sanal sunucu i\u00e7in ayr\u0131 bir dizin k\u00f6k\u00fc (Document Root) olu\u015fturmak daha iyi bir uygulamad\u0131r. Bu, web sitelerinizin dosyalar\u0131n\u0131 d\u00fczenli tutman\u0131za ve g\u00fcvenliklerini art\u0131rman\u0131za yard\u0131mc\u0131 olur. \u00d6rne\u011fin, <code>example.com<\/code> ad\u0131nda bir web sitesi i\u00e7in a\u015fa\u011f\u0131daki gibi bir dizin yap\u0131s\u0131 olu\u015fturabiliriz:<\/p>\n<pre><code>sudo mkdir -p \/var\/www\/example.com\/html\nsudo chown -R $USER:$USER \/var\/www\/example.com\/html\nsudo chmod -R 755 \/var\/www\/example.com<\/code><\/pre>\n<p><code>mkdir -p<\/code> komutu, gerekli \u00fcst dizinleri de olu\u015fturarak <code>\/var\/www\/example.com\/html<\/code> dizinini yarat\u0131r. <code>chown -R $USER:$USER<\/code> komutu, olu\u015fturulan dizinin sahipli\u011fini mevcut kullan\u0131c\u0131n\u0131za verir, b\u00f6ylece dosyalar\u0131 d\u00fczenleme yetkiniz olur. Son olarak, <code>chmod -R 755<\/code> komutu, web sunucusunun dosyalar\u0131 okumas\u0131na ve dizinlere eri\u015fmesine izin veren standart izinleri ayarlar. Bu, hem g\u00fcvenlik hem de i\u015flevsellik a\u00e7\u0131s\u0131ndan \u00f6nemlidir. Bu temel haz\u0131rl\u0131k ad\u0131mlar\u0131 tamamland\u0131\u011f\u0131nda, art\u0131k ilk sanal sunucunuzu yap\u0131land\u0131rmaya haz\u0131rs\u0131n\u0131z demektir.<\/p>\n<h2>\u0130lk Sanal Sunucuyu Olu\u015fturma: Ad\u0131m Ad\u0131m Rehber<\/h2>\n<p>Sunucumuz haz\u0131rland\u0131\u011f\u0131na g\u00f6re, art\u0131k ilk Apache sanal sunucumuzu olu\u015fturabiliriz. Bu b\u00f6l\u00fcm, <code>example.com<\/code> ad\u0131nda bir alan ad\u0131 i\u00e7in sanal sunucu yap\u0131land\u0131rma dosyas\u0131n\u0131 olu\u015fturma, etkinle\u015ftirme ve test etme s\u00fcre\u00e7lerini ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r. Bu ad\u0131mlar, herhangi bir web sitesini Apache \u00fczerinde bar\u0131nd\u0131rmak i\u00e7in temel bir \u015fablon g\u00f6revi g\u00f6recektir.<\/p>\n<h3>Dizin Yap\u0131s\u0131n\u0131 Haz\u0131rlama ve Test Dosyas\u0131 Olu\u015fturma<\/h3>\n<p>\u00d6nceki b\u00f6l\u00fcmde olu\u015fturdu\u011fumuz dizin yap\u0131s\u0131n\u0131 kullanarak, web sitemizin i\u00e7eri\u011fini bar\u0131nd\u0131racak bir test dosyas\u0131 olu\u015ftural\u0131m. Bu, sanal sunucunun do\u011fru \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol etmemize yard\u0131mc\u0131 olacakt\u0131r. <code>\/var\/www\/example.com\/html<\/code> dizinine basit bir HTML dosyas\u0131 ekleyelim:<\/p>\n<pre><code>sudo nano \/var\/www\/example.com\/html\/index.html<\/code><\/pre>\n<p>A\u00e7\u0131lan dosyaya a\u015fa\u011f\u0131daki HTML i\u00e7eri\u011fini yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>&lt;!DOCTYPE html&gt;\n&lt;html lang=\"tr\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;example.com - \u0130lk Sanal Sunucum&lt;\/title&gt;\n    &lt;style&gt;\n        body { font-family: Arial, sans-serif; text-align: center; margin-top: 50px; background-color: #f4f4f4; }\n        h1 { color: #333; }\n        p { color: #666; }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;h1&gt;example.com Sanal Sunucusu Ba\u015far\u0131yla \u00c7al\u0131\u015f\u0131yor!&lt;\/h1&gt;\n    &lt;p&gt;Bu, Ubuntu sunucunuzdaki ilk Apache sanal sunucunuzdur.&lt;\/p&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>Dosyay\u0131 kaydedip kapat\u0131n (CTRL+X, Y, Enter). Bu basit sayfa, sanal sunucumuzun do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda taray\u0131c\u0131m\u0131zda g\u00f6r\u00fcnecek olan i\u00e7eriktir. Bu ad\u0131m, yap\u0131land\u0131rma sonras\u0131 g\u00f6rsel bir geri bildirim almam\u0131z\u0131 sa\u011flar ve sorun giderme s\u00fcrecini kolayla\u015ft\u0131r\u0131r.<\/p>\n<h3>Apache Sanal Sunucu Yap\u0131land\u0131rma Dosyas\u0131 Olu\u015fturma<\/h3>\n<p>Apache, sanal sunucu yap\u0131land\u0131rma dosyalar\u0131n\u0131 genellikle <code>\/etc\/apache2\/sites-available\/<\/code> dizininde saklar. Her sanal sunucu i\u00e7in bu dizinde ayr\u0131 bir dosya olu\u015fturaca\u011f\u0131z. Genellikle alan ad\u0131n\u0131n ad\u0131n\u0131 kullanarak bir dosya ad\u0131 belirlemek iyi bir uygulamad\u0131r, \u00f6rne\u011fin <code>example.com.conf<\/code>.<\/p>\n<pre><code>sudo nano \/etc\/apache2\/sites-available\/example.com.conf<\/code><\/pre>\n<p>A\u00e7\u0131lan bo\u015f dosyaya a\u015fa\u011f\u0131daki yap\u0131land\u0131rma blo\u011funu yap\u0131\u015ft\u0131r\u0131n. Bu blok, temel bir sanal sunucu i\u00e7in gerekli olan t\u00fcm y\u00f6nergeleri i\u00e7erir:<\/p>\n<pre><code>&lt;VirtualHost *:80&gt;\n    ServerAdmin webmaster@example.com\n    ServerName example.com\n    ServerAlias www.example.com\n    DocumentRoot \/var\/www\/example.com\/html\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n    &lt;Directory \/var\/www\/example.com\/html&gt;\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    &lt;\/Directory&gt;\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma blo\u011fundaki \u00f6nemli y\u00f6nergeleri a\u00e7\u0131klayal\u0131m:<\/p>\n<ul>\n<li><code>&lt;VirtualHost *:80&gt;<\/code>: Bu blok, sanal sunucunun HTTP (port 80) \u00fczerinden gelen isteklere hizmet verece\u011fini belirtir. <code>*<\/code> t\u00fcm IP adreslerini dinle anlam\u0131na gelir.<\/li>\n<li><code>ServerAdmin<\/code>: Sunucu y\u00f6neticisinin e-posta adresi. Hata durumunda ileti\u015fim i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><code>ServerName<\/code>: Bu sanal sunucunun yan\u0131t verece\u011fi ana alan ad\u0131.<\/li>\n<li><code>ServerAlias<\/code>: Ana alan ad\u0131n\u0131n alternatif adlar\u0131 (\u00f6rne\u011fin, <code>www.example.com<\/code>). Bu sayede hem <code>example.com<\/code> hem de <code>www.example.com<\/code> istekleri bu sanal sunucuya y\u00f6nlendirilir.<\/li>\n<li><code>DocumentRoot<\/code>: Web sitesinin dosyalar\u0131n\u0131n bulundu\u011fu dizin k\u00f6k\u00fc. Apache, bu dizinden i\u00e7erik sunacakt\u0131r.<\/li>\n<li><code>ErrorLog<\/code> ve <code>CustomLog<\/code>: Hata ve eri\u015fim g\u00fcnl\u00fcklerinin kaydedilece\u011fi dosyalar\u0131 belirtir. Bu g\u00fcnl\u00fckler, sorun giderme ve trafik analizi i\u00e7in kritik \u00f6neme sahiptir.<\/li>\n<li><code>&lt;Directory \/var\/www\/example.com\/html&gt;<\/code>: Bu blok, belirtilen dizin i\u00e7in \u00f6zel ayarlar tan\u0131mlar.\n<ul>\n<li><code>Options Indexes FollowSymLinks<\/code>: Dizin listeleme (Indexes) ve sembolik ba\u011flant\u0131lar\u0131 takip etme (FollowSymLinks) se\u00e7eneklerini etkinle\u015ftirir.<\/li>\n<li><code>AllowOverride All<\/code>: <code>.htaccess<\/code> dosyalar\u0131n\u0131n kullan\u0131m\u0131na izin verir. Bu, dizin baz\u0131nda ek yap\u0131land\u0131rma yapman\u0131z\u0131 sa\u011flar.<\/li>\n<li><code>Require all granted<\/code>: Apache 2.4 ve sonras\u0131 i\u00e7in, bu dizine t\u00fcm eri\u015fimlere izin verir.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 kaydedip kapat\u0131n.<\/p>\n<h3>Sanal Sunucuyu Etkinle\u015ftirme ve Test Etme<\/h3>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 olu\u015fturduktan sonra, Apache&#8217;nin bu dosyay\u0131 tan\u0131mas\u0131 ve kullanmaya ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirmemiz gerekir. Apache, <code>a2ensite<\/code> (Apache 2 Enable Site) arac\u0131 ile bu i\u015flemi kolayla\u015ft\u0131r\u0131r.<\/p>\n<pre><code>sudo a2ensite example.com.conf<\/code><\/pre>\n<p>Bu komut, <code>\/etc\/apache2\/sites-available\/example.com.conf<\/code> dosyas\u0131ndan <code>\/etc\/apache2\/sites-enabled\/<\/code> dizinine sembolik bir ba\u011flant\u0131 olu\u015fturur. Apache, etkinle\u015ftirilmi\u015f siteleri bu dizinden okur. Varsay\u0131lan Apache yap\u0131land\u0131rma dosyas\u0131n\u0131 (<code>000-default.conf<\/code>) devre d\u0131\u015f\u0131 b\u0131rakmak iyi bir uygulamad\u0131r, \u00e7\u00fcnk\u00fc kendi sanal sunucular\u0131n\u0131z\u0131n \u00e7ak\u0131\u015fmas\u0131n\u0131 \u00f6nler:<\/p>\n<pre><code>sudo a2dissite 000-default.conf<\/code><\/pre>\n<p>Yap\u0131land\u0131rmada herhangi bir s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code>sudo apache2ctl configtest<\/code><\/pre>\n<p>E\u011fer &#8220;Syntax OK&#8221; \u00e7\u0131kt\u0131s\u0131n\u0131 al\u0131rsan\u0131z, yap\u0131land\u0131rman\u0131z do\u011fru demektir. Herhangi bir hata varsa, Apache hata mesaj\u0131n\u0131 g\u00f6sterecektir ve d\u00fczeltmeniz gerekecektir. Son olarak, Apache servisini yeniden ba\u015flatarak yeni yap\u0131land\u0131rman\u0131n uygulanmas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code>sudo systemctl reload apache2<\/code><\/pre>\n<p>Bu komut, Apache&#8217;yi durdurup yeniden ba\u015flatmak yerine, yap\u0131land\u0131rmay\u0131 yeniden y\u00fckler ve genellikle daha az kesinti yarat\u0131r. \u015eimdi, yerel bilgisayar\u0131n\u0131zdaki <code>hosts<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek <code>example.com<\/code> alan ad\u0131n\u0131 sunucunuzun IP adresine y\u00f6nlendirmeniz gerekmektedir (ger\u00e7ek bir alan ad\u0131n\u0131z yoksa). Windows&#8217;ta <code>C:\\Windows\\System32\\drivers\\etc\\hosts<\/code>, Linux\/macOS&#8217;te <code>\/etc\/hosts<\/code> dosyas\u0131n\u0131 a\u00e7arak a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin:<\/p>\n<pre><code>SUNUCU_IP_ADRESINIZ example.com www.example.com<\/code><\/pre>\n<p><code>SUNUCU_IP_ADRESINIZ<\/code> yerine Ubuntu sunucunuzun IP adresini yaz\u0131n. Bu sayede, taray\u0131c\u0131n\u0131zdan <code>http:\/\/example.com<\/code> adresine gitti\u011finizde, iste\u011finiz yerel olarak sunucunuzun IP adresine y\u00f6nlendirilecek ve Apache&#8217;nin sundu\u011fu &#8220;example.com Sanal Sunucusu Ba\u015far\u0131yla \u00c7al\u0131\u015f\u0131yor!&#8221; sayfas\u0131n\u0131 g\u00f6receksiniz. Bu ad\u0131mlarla ilk sanal sunucunuz ba\u015far\u0131yla kurulmu\u015f ve \u00e7al\u0131\u015f\u0131r duruma gelmi\u015f olacakt\u0131r.<\/p>\n<h2>Birden Fazla Sanal Sunucu Nas\u0131l Yap\u0131land\u0131r\u0131l\u0131r?<\/h2>\n<p>Tek bir sanal sunucu kurmay\u0131 ba\u015fard\u0131ktan sonra, ayn\u0131 prensipleri kullanarak birden fazla web sitesini bar\u0131nd\u0131rmak olduk\u00e7a kolayd\u0131r. Bu b\u00f6l\u00fcm, <code>example.org<\/code> ad\u0131nda ikinci bir web sitesini mevcut sunucumuza nas\u0131l ekleyece\u011fimizi detayland\u0131racakt\u0131r. Bu s\u00fcre\u00e7, temelde ilk sanal sunucuyu olu\u015fturma ad\u0131mlar\u0131n\u0131n tekrar\u0131ndan ibarettir, ancak baz\u0131 \u00f6nemli noktalara dikkat etmek gerekmektedir.<\/p>\n<p>\u0130lk olarak, ikinci web sitemiz i\u00e7in gerekli dizin yap\u0131s\u0131n\u0131 olu\u015ftural\u0131m. T\u0131pk\u0131 <code>example.com<\/code> i\u00e7in yapt\u0131\u011f\u0131m\u0131z gibi, <code>example.org<\/code> i\u00e7in de ayr\u0131 bir dizin k\u00f6k\u00fc olu\u015fturmak en iyi uygulamad\u0131r. Bu, web sitelerinin dosyalar\u0131n\u0131 birbirinden izole tutar ve y\u00f6netimi kolayla\u015ft\u0131r\u0131r.<\/p>\n<pre><code>sudo mkdir -p \/var\/www\/example.org\/html\nsudo chown -R $USER:$USER \/var\/www\/example.org\/html\nsudo chmod -R 755 \/var\/www\/example.org<\/code><\/pre>\n<p>Dizinleri olu\u015fturduktan sonra, bu yeni dizine basit bir <code>index.html<\/code> dosyas\u0131 ekleyelim. Bu dosya, <code>example.org<\/code> sanal sunucusunun do\u011fru \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 test etmemize olanak tan\u0131yacak bir i\u00e7erik sa\u011flayacakt\u0131r.<\/p>\n<pre><code>sudo nano \/var\/www\/example.org\/html\/index.html<\/code><\/pre>\n<p>A\u00e7\u0131lan dosyaya a\u015fa\u011f\u0131daki HTML i\u00e7eri\u011fini yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>&lt;!DOCTYPE html&gt;\n&lt;html lang=\"tr\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;example.org - \u0130kinci Sanal Sunucum&lt;\/title&gt;\n    &lt;style&gt;\n        body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; text-align: center; margin-top: 60px; background-color: #e0f2f7; color: #2c3e50; }\n        h1 { color: #16a085; }\n        p { color: #34495e; }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;h1&gt;example.org Sanal Sunucusu Ba\u015far\u0131yla \u00c7al\u0131\u015f\u0131yor!&lt;\/h1&gt;\n    &lt;p&gt;Bu, Ubuntu sunucunuzdaki ikinci Apache sanal sunucunuzdur. Harika de\u011fil mi?&lt;\/p&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>Dosyay\u0131 kaydedip kapat\u0131n. Bu, taray\u0131c\u0131n\u0131zda <code>example.org<\/code> adresine gitti\u011finizde g\u00f6rmeyi bekledi\u011finiz i\u00e7erik olacakt\u0131r.<\/p>\n<p>\u015eimdi s\u0131ra, <code>example.org<\/code> i\u00e7in Apache sanal sunucu yap\u0131land\u0131rma dosyas\u0131n\u0131 olu\u015fturmaya geldi. T\u0131pk\u0131 ilk sitemiz i\u00e7in yapt\u0131\u011f\u0131m\u0131z gibi, <code>\/etc\/apache2\/sites-available\/<\/code> dizininde yeni bir <code>.conf<\/code> dosyas\u0131 olu\u015fturaca\u011f\u0131z:<\/p>\n<pre><code>sudo nano \/etc\/apache2\/sites-available\/example.org.conf<\/code><\/pre>\n<p>A\u00e7\u0131lan dosyaya a\u015fa\u011f\u0131daki yap\u0131land\u0131rma blo\u011funu yap\u0131\u015ft\u0131r\u0131n. Bu yap\u0131land\u0131rma, <code>example.com<\/code> i\u00e7in kulland\u0131\u011f\u0131m\u0131zla hemen hemen ayn\u0131d\u0131r, ancak <code>ServerName<\/code>, <code>ServerAlias<\/code> ve <code>DocumentRoot<\/code> y\u00f6nergeleri <code>example.org<\/code>&#8216;ye g\u00f6re g\u00fcncellenmi\u015ftir:<\/p>\n<pre><code>&lt;VirtualHost *:80&gt;\n    ServerAdmin webmaster@example.org\n    ServerName example.org\n    ServerAlias www.example.org\n    DocumentRoot \/var\/www\/example.org\/html\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n    &lt;Directory \/var\/www\/example.org\/html&gt;\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    &lt;\/Directory&gt;\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<p>Dosyay\u0131 kaydedip kapat\u0131n. G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, temel yap\u0131land\u0131rma mant\u0131\u011f\u0131 birden fazla site i\u00e7in ayn\u0131 kal\u0131r; sadece alan ad\u0131 ve dizin k\u00f6k\u00fc bilgileri de\u011fi\u015fir. Bu, Apache sanal sunucular\u0131n\u0131n ne kadar mod\u00fcler ve y\u00f6netilebilir oldu\u011funu g\u00f6sterir.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Her sanal sunucu i\u00e7in ayr\u0131 hata ve eri\u015fim g\u00fcnl\u00fckleri tutmak, sorun giderme ve performans analizi yaparken b\u00fcy\u00fck kolayl\u0131k sa\u011flar. Bu, hangi sitenin ne t\u00fcr hatalar \u00fcretti\u011fini veya ne kadar trafik ald\u0131\u011f\u0131n\u0131 net bir \u015fekilde g\u00f6rmenizi sa\u011flar.\n<\/div>\n<p>Yeni sanal sunucu yap\u0131land\u0131rmas\u0131n\u0131 etkinle\u015ftirmek i\u00e7in <code>a2ensite<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code>sudo a2ensite example.org.conf<\/code><\/pre>\n<p>Yap\u0131land\u0131rma dosyas\u0131nda herhangi bir s\u00f6zdizimi hatas\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code>sudo apache2ctl configtest<\/code><\/pre>\n<p>E\u011fer &#8220;Syntax OK&#8221; \u00e7\u0131kt\u0131s\u0131n\u0131 al\u0131rsan\u0131z, son olarak Apache servisini yeniden ba\u015flatarak de\u011fi\u015fikliklerin uygulanmas\u0131n\u0131 sa\u011flay\u0131n:<\/p>\n<pre><code>sudo systemctl reload apache2<\/code><\/pre>\n<p>Art\u0131k yerel <code>hosts<\/code> dosyan\u0131z\u0131 g\u00fcncelleyerek <code>example.org<\/code> ve <code>www.example.org<\/code>&#8216;yi de sunucunuzun IP adresine y\u00f6nlendirmeniz gerekmektedir:<\/p>\n<pre><code>SUNUCU_IP_ADRESINIZ example.com www.example.com\nSUNUCU_IP_ADRESINIZ example.org www.example.org<\/code><\/pre>\n<p>Taray\u0131c\u0131n\u0131zdan <code>http:\/\/example.org<\/code> adresine gitti\u011finizde, ikinci sanal sunucunuza ait &#8220;example.org Sanal Sunucusu Ba\u015far\u0131yla \u00c7al\u0131\u015f\u0131yor!&#8221; sayfas\u0131n\u0131 g\u00f6rmelisiniz. Bu ad\u0131mlarla, tek bir Ubuntu sunucusu \u00fczerinde birden fazla web sitesini ba\u015far\u0131yla bar\u0131nd\u0131rabilirsiniz. Her bir web sitesi, kendi dizin k\u00f6k\u00fcnden i\u00e7erik sunacak ve kendi yap\u0131land\u0131rma ayarlar\u0131yla \u00e7al\u0131\u015facakt\u0131r.<\/p>\n<h2>SSL\/TLS ile G\u00fcvenli Sanal Sunucular Kurma: HTTPS Nas\u0131l Etkinle\u015ftirilir?<\/h2>\n<p>G\u00fcn\u00fcm\u00fczde web sitelerinin g\u00fcvenli\u011fi, kullan\u0131c\u0131 deneyimi ve SEO a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. HTTPS (Hypertext Transfer Protocol Secure), web siteniz ile ziyaret\u00e7ileriniz aras\u0131ndaki ileti\u015fimi \u015fifreleyerek veri g\u00fcvenli\u011fini sa\u011flar. Bu b\u00f6l\u00fcmde, Apache sanal sunucular\u0131n\u0131z i\u00e7in SSL\/TLS sertifikalar\u0131n\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve HTTPS&#8217;i nas\u0131l etkinle\u015ftirece\u011finizi anlataca\u011f\u0131z. Let&#8217;s Encrypt ve Certbot, bu s\u00fcreci otomatikle\u015ftiren pop\u00fcler ve \u00fccretsiz ara\u00e7lard\u0131r.<\/p>\n<p>\u0130lk ad\u0131m olarak, Certbot&#8217;u Ubuntu sunucunuza kurman\u0131z gerekmektedir. Certbot, Let&#8217;s Encrypt sertifikalar\u0131n\u0131 otomatik olarak almay\u0131 ve Apache yap\u0131land\u0131rman\u0131za entegre etmeyi kolayla\u015ft\u0131ran bir istemcidir. A\u015fa\u011f\u0131daki komutlar\u0131 kullanarak Certbot&#8217;u kurabilirsiniz:<\/p>\n<pre><code>sudo apt update\nsudo apt install certbot python3-certbot-apache<\/code><\/pre>\n<p><code>python3-certbot-apache<\/code> paketi, Certbot&#8217;un Apache ile entegrasyonunu sa\u011flayan eklentiyi i\u00e7erir. Kurulum tamamland\u0131ktan sonra, Certbot&#8217;u kullanarak bir alan ad\u0131 i\u00e7in SSL sertifikas\u0131 alabilir ve HTTPS&#8217;i etkinle\u015ftirebiliriz. \u00d6rne\u011fin, <code>example.com<\/code> i\u00e7in bir sertifika alal\u0131m:<\/p>\n<pre><code>sudo certbot --apache -d example.com -d www.example.com<\/code><\/pre>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, Certbot sizden baz\u0131 bilgiler isteyecektir:<\/p>\n<ul>\n<li>Bir e-posta adresi (acil durum bildirimleri ve kay\u0131p anahtarlar i\u00e7in).<\/li>\n<li>Let&#8217;s Encrypt hizmet ko\u015fullar\u0131n\u0131 kabul etmeniz.<\/li>\n<li>E-posta adresinizi Let&#8217;s Encrypt ile payla\u015fma izni (iste\u011fe ba\u011fl\u0131).<\/li>\n<\/ul>\n<p>Bu bilgileri girdikten sonra, Certbot otomatik olarak alan adlar\u0131n\u0131z\u0131n sahipli\u011fini do\u011frulayacak, sertifikalar\u0131 indirecek ve Apache yap\u0131land\u0131rman\u0131z\u0131 g\u00fcncelleyecektir. Certbot ayr\u0131ca sizden HTTP trafi\u011fini HTTPS&#8217;e y\u00f6nlendirmek isteyip istemedi\u011finizi soracakt\u0131r. Genellikle &#8220;Redirect&#8221; (Y\u00f6nlendir) se\u00e7ene\u011fini se\u00e7mek en iyisidir, \u00e7\u00fcnk\u00fc bu, t\u00fcm ziyaret\u00e7ilerinizin otomatik olarak g\u00fcvenli HTTPS ba\u011flant\u0131s\u0131na y\u00f6nlendirilmesini sa\u011flar.<\/p>\n<p>Sertifika kurulumu tamamland\u0131\u011f\u0131nda, Certbot size bir ba\u015far\u0131 mesaj\u0131 g\u00f6sterecek ve sertifikan\u0131z\u0131n ge\u00e7erlilik s\u00fcresini belirtecektir. \u015eimdi taray\u0131c\u0131n\u0131zdan <code>https:\/\/example.com<\/code> adresine giderek sitenizin g\u00fcvenli bir \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz. Taray\u0131c\u0131n\u0131z\u0131n adres \u00e7ubu\u011funda bir kilit simgesi g\u00f6rmelisiniz, bu da ba\u011flant\u0131n\u0131n g\u00fcvenli oldu\u011funu g\u00f6sterir. Certbot, Apache yap\u0131land\u0131rma dosyan\u0131z\u0131 otomatik olarak g\u00fcncelleyerek <code>\/etc\/apache2\/sites-available\/example.com-le-ssl.conf<\/code> gibi yeni bir SSL yap\u0131land\u0131rma dosyas\u0131 olu\u015fturur ve bu dosyay\u0131 etkinle\u015ftirir.<\/p>\n<pre><code>&lt;IfModule mod_ssl.c&gt;\n&lt;VirtualHost *:443&gt;\n    ServerAdmin webmaster@example.com\n    ServerName example.com\n    ServerAlias www.example.com\n    DocumentRoot \/var\/www\/example.com\/html\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n\n    &lt;Directory \/var\/www\/example.com\/html&gt;\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    &lt;\/Directory&gt;\n\n    Include \/etc\/letsencrypt\/options-ssl-apache.conf\n    SSLCertificateFile \/etc\/letsencrypt\/live\/example.com\/fullchain.pem\n    SSLCertificateKeyFile \/etc\/letsencrypt\/live\/example.com\/privkey.pem\n&lt;\/VirtualHost&gt;\n&lt;\/IfModule&gt;<\/code><\/pre>\n<p>Bu yeni yap\u0131land\u0131rma dosyas\u0131, <code>&lt;VirtualHost *:443&gt;<\/code> blo\u011fu ile HTTPS trafi\u011fine (port 443) hizmet verir ve Let&#8217;s Encrypt sertifikalar\u0131n\u0131n yollar\u0131n\u0131 i\u00e7erir. Certbot ayr\u0131ca, HTTP isteklerini HTTPS&#8217;e y\u00f6nlendirmek i\u00e7in orijinal <code>example.com.conf<\/code> dosyan\u0131z\u0131 da g\u00fcnceller. Bu, kullan\u0131c\u0131lar\u0131n sitenize her zaman g\u00fcvenli bir \u015fekilde eri\u015fmesini sa\u011flar.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: SSL Labs&#8217;in SSL Sunucu Testi arac\u0131n\u0131 kullanarak sitenizin SSL yap\u0131land\u0131rmas\u0131n\u0131n ne kadar g\u00fc\u00e7l\u00fc oldu\u011funu kontrol edebilirsiniz. Bu ara\u00e7, potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 belirlemenize yard\u0131mc\u0131 olur.\n<\/div>\n<p>Let&#8217;s Encrypt sertifikalar\u0131 90 g\u00fcn ge\u00e7erlidir. Bu nedenle, sertifikalar\u0131n\u0131z\u0131 d\u00fczenli olarak yenilemeniz gerekmektedir. Certbot, bu yenileme i\u015flemini otomatikle\u015ftirmenize yard\u0131mc\u0131 olur. A\u015fa\u011f\u0131daki komutu kullanarak sertifikalar\u0131n\u0131z\u0131 manuel olarak test edebilirsiniz:<\/p>\n<pre><code>sudo certbot renew --dry-run<\/code><\/pre>\n<p>Bu komut, sertifikalar\u0131n yenilenip yenilenemeyece\u011fini kontrol eder ancak ger\u00e7ek bir yenileme yapmaz. Certbot, genellikle sisteminizde otomatik bir cron i\u015fi veya systemd zamanlay\u0131c\u0131s\u0131 olu\u015fturarak sertifikalar\u0131 otomatik olarak yeniler. Bu sayede, sertifikalar\u0131n\u0131z\u0131n s\u00fcresinin dolmas\u0131 konusunda endi\u015felenmenize gerek kalmaz ve web siteleriniz her zaman g\u00fcvenli kal\u0131r. Birden fazla sanal sunucunuz varsa, her biri i\u00e7in ayn\u0131 <code>sudo certbot --apache -d alanadiniz.com -d www.alanadiniz.com<\/code> komutunu tekrarlayarak ayr\u0131 ayr\u0131 SSL sertifikalar\u0131 kurabilirsiniz.<\/p>\n<h2>Geli\u015fmi\u015f Sanal Sunucu Yap\u0131land\u0131rmalar\u0131 ve Performans \u0130pu\u00e7lar\u0131<\/h2>\n<p>Apache sanal sunucular\u0131n\u0131z\u0131 kurup temel i\u015flevselli\u011fini sa\u011flad\u0131ktan sonra, web sitelerinizin performans\u0131n\u0131, g\u00fcvenli\u011fini ve esnekli\u011fini art\u0131rmak i\u00e7in baz\u0131 ileri d\u00fczey yap\u0131land\u0131rmalar ve ipu\u00e7lar\u0131 uygulayabilirsiniz. Bu b\u00f6l\u00fcm, <code>.htaccess<\/code> kullan\u0131m\u0131, mod_rewrite, performans optimizasyonu ve sorun giderme konular\u0131na odaklanacakt\u0131r.<\/p>\n<h3>.htaccess Kullan\u0131m\u0131 ve Mod_rewrite<\/h3>\n<p><code>.htaccess<\/code> dosyalar\u0131, Apache&#8217;nin dizin baz\u0131nda yap\u0131land\u0131rma yapmas\u0131na olanak tan\u0131yan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu dosyalar, sunucu yap\u0131land\u0131rma dosyalar\u0131na eri\u015fimi olmayan kullan\u0131c\u0131lar\u0131n bile belirli dizinler i\u00e7in URL yeniden yazma (mod_rewrite), parola korumas\u0131, \u00f6zel hata sayfalar\u0131 ve daha fazlas\u0131n\u0131 ayarlamas\u0131na izin verir. Daha \u00f6nce sanal sunucu yap\u0131land\u0131rmalar\u0131m\u0131zda <code>AllowOverride All<\/code> y\u00f6nergesini kullanmam\u0131z\u0131n nedeni budur. \u00d6rne\u011fin, bir <code>.htaccess<\/code> dosyas\u0131 kullanarak t\u00fcm HTTP trafi\u011fini HTTPS&#8217;e y\u00f6nlendirebilirsiniz (Certbot bunu otomatik yapsa da manuel olarak da yap\u0131labilir) veya SEO dostu URL&#8217;ler olu\u015fturabilirsiniz.<\/p>\n<p><code>mod_rewrite<\/code>, Apache&#8217;nin en g\u00fc\u00e7l\u00fc mod\u00fcllerinden biridir ve URL&#8217;leri dinamik olarak yeniden yazmak i\u00e7in kullan\u0131l\u0131r. Bu, \u00f6zellikle kal\u0131c\u0131 ba\u011flant\u0131 (permalink) yap\u0131lar\u0131 kullanan CMS&#8217;ler (WordPress gibi) i\u00e7in hayati \u00f6neme sahiptir. <code>.htaccess<\/code> dosyan\u0131zda <code>mod_rewrite<\/code> kullanmak i\u00e7in a\u015fa\u011f\u0131daki gibi bir yap\u0131land\u0131rma ekleyebilirsiniz:<\/p>\n<pre><code>&lt;IfModule mod_rewrite.c&gt;\n    RewriteEngine On\n    RewriteCond %{REQUEST_FILENAME} !-f\n    RewriteCond %{REQUEST_FILENAME} !-d\n    RewriteRule ^(.*)$ index.php [QSA,L]\n&lt;\/IfModule&gt;<\/code><\/pre>\n<p>Bu \u00f6rnek, WordPress&#8217;in kulland\u0131\u011f\u0131 temel <code>.htaccess<\/code> kural\u0131na benzer. Gelen istek bir dosya (<code>!-f<\/code>) veya dizin (<code>!-d<\/code>) de\u011filse, iste\u011fi <code>index.php<\/code>&#8216;ye y\u00f6nlendirir. Bu, temiz URL&#8217;ler olu\u015fturman\u0131za ve web sitenizin kullan\u0131c\u0131 dostu olmas\u0131n\u0131 sa\u011flaman\u0131za yard\u0131mc\u0131 olur. <code>mod_rewrite<\/code>&#8216;\u0131 kullanabilmek i\u00e7in Apache&#8217;de etkinle\u015ftirmeniz gerekebilir:<\/p>\n<pre><code>sudo a2enmod rewrite\nsudo systemctl reload apache2<\/code><\/pre>\n<h3>Performans \u0130\u00e7in \u0130pu\u00e7lar\u0131<\/h3>\n<p>Web sitelerinizin h\u0131zl\u0131 y\u00fcklenmesi, kullan\u0131c\u0131 deneyimi ve arama motoru s\u0131ralamalar\u0131 i\u00e7in \u00e7ok \u00f6nemlidir. Apache sanal sunucular\u0131n\u0131z\u0131n performans\u0131n\u0131 art\u0131rmak i\u00e7in birka\u00e7 ipucu:<\/p>\n<ul>\n<li><strong>Mod\u00fcllerin Etkinle\u015ftirilmesi\/Devre D\u0131\u015f\u0131 B\u0131rak\u0131lmas\u0131:<\/strong> Yaln\u0131zca ihtiyac\u0131n\u0131z olan Apache mod\u00fcllerini etkinle\u015ftirin. Gereksiz mod\u00fcller, sunucu kaynaklar\u0131n\u0131 t\u00fcketebilir. \u00d6rne\u011fin, <code>mod_deflate<\/code> (i\u00e7erik s\u0131k\u0131\u015ft\u0131rma) ve <code>mod_headers<\/code> (\u00f6nbellekleme ba\u015fl\u0131klar\u0131) gibi performans art\u0131r\u0131c\u0131 mod\u00fcllerin etkin oldu\u011fundan emin olun.<\/li>\n<li><strong>\u00d6nbellekleme (Caching):<\/strong> <code>mod_expires<\/code> ve <code>mod_headers<\/code> gibi mod\u00fclleri kullanarak taray\u0131c\u0131 \u00f6nbelleklemesini etkinle\u015ftirin. Bu, s\u0131k eri\u015filen statik dosyalar\u0131n (resimler, CSS, JS) istemci taraf\u0131nda \u00f6nbelle\u011fe al\u0131nmas\u0131n\u0131 sa\u011flar ve sonraki sayfa y\u00fcklemelerini h\u0131zland\u0131r\u0131r.<\/li>\n<li><strong>Gzip S\u0131k\u0131\u015ft\u0131rma:<\/strong> <code>mod_deflate<\/code> mod\u00fcl\u00fc ile web sitenizin metin tabanl\u0131 i\u00e7eri\u011fini (HTML, CSS, JavaScript) s\u0131k\u0131\u015ft\u0131rarak bant geni\u015fli\u011fi kullan\u0131m\u0131n\u0131 azalt\u0131n ve y\u00fckleme s\u00fcrelerini h\u0131zland\u0131r\u0131n.<\/li>\n<li><strong>KeepAlive Ayarlar\u0131:<\/strong> <code>KeepAlive On<\/code> ayar\u0131, bir istemci ile birden fazla istek i\u00e7in ayn\u0131 TCP ba\u011flant\u0131s\u0131n\u0131 yeniden kullanmaya olanak tan\u0131r. Bu, \u00f6zellikle bir\u00e7ok k\u00fc\u00e7\u00fck dosya i\u00e7eren sitelerde performans\u0131 art\u0131rabilir. Ancak, <code>KeepAliveTimeout<\/code> s\u00fcresini \u00e7ok uzun tutmaktan ka\u00e7\u0131n\u0131n, aksi takdirde sunucu kaynaklar\u0131 bo\u015fta kalan ba\u011flant\u0131lar taraf\u0131ndan tutulabilir.<\/li>\n<li><strong>MPM (Multi-Processing Modules) Se\u00e7imi:<\/strong> Apache, farkl\u0131 MPM&#8217;ler (Prefork, Worker, Event) ile gelir. Her birinin farkl\u0131 avantajlar\u0131 vard\u0131r. Genellikle, modern sunucularda <code>mod_mpm_event<\/code>, daha iyi performans ve daha az bellek kullan\u0131m\u0131 sunar, \u00f6zellikle y\u00fcksek e\u015fzamanl\u0131 ba\u011flant\u0131lar i\u00e7in.<\/li>\n<\/ul>\n<h3>Hata Ay\u0131klama ve Sorun Giderme<\/h3>\n<p>Sanal sunucular\u0131n\u0131z\u0131 kurarken veya y\u00f6netirken sorunlarla kar\u015f\u0131la\u015fman\u0131z ka\u00e7\u0131n\u0131lmazd\u0131r. Apache hata g\u00fcnl\u00fckleri, sorun giderme i\u00e7in en de\u011ferli ara\u00e7lard\u0131r. Sanal sunucu yap\u0131land\u0131rman\u0131zda belirtti\u011finiz <code>ErrorLog<\/code> ve <code>CustomLog<\/code> dosyalar\u0131n\u0131 d\u00fczenli olarak kontrol edin. Genellikle <code>\/var\/log\/apache2\/error.log<\/code> ve <code>\/var\/log\/apache2\/access.log<\/code> dizinlerinde bulunurlar.<\/p>\n<pre><code>sudo tail -f \/var\/log\/apache2\/error.log<\/code><\/pre>\n<p>Bu komut, hata g\u00fcnl\u00fc\u011f\u00fcn\u00fcn son sat\u0131rlar\u0131n\u0131 ger\u00e7ek zamanl\u0131 olarak g\u00f6sterir. Bir sorunla kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131zda, bu g\u00fcnl\u00fckleri izlemek, hatan\u0131n nedenini h\u0131zl\u0131ca belirlemenize yard\u0131mc\u0131 olabilir. Ayr\u0131ca, <code>sudo apache2ctl configtest<\/code> komutunu kullanarak herhangi bir yap\u0131land\u0131rma de\u011fi\u015fikli\u011fi sonras\u0131 s\u00f6zdizimi hatalar\u0131n\u0131 kontrol etmeyi unutmay\u0131n. Bu, Apache&#8217;yi yeniden ba\u015flatmadan \u00f6nce olas\u0131 hatalar\u0131 tespit etmenizi sa\u011flar ve sunucu kesintilerini \u00f6nler.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Apache yap\u0131land\u0131rma dosyalar\u0131n\u0131z\u0131 d\u00fczenlerken her zaman bir yedek kopyas\u0131n\u0131 al\u0131n. B\u00f6ylece yanl\u0131\u015f bir de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131zda kolayca geri d\u00f6nebilirsiniz. \u00d6rne\u011fin: <code>sudo cp \/etc\/apache2\/sites-available\/example.com.conf \/etc\/apache2\/sites-available\/example.com.conf.bak<\/code>\n<\/div>\n<p>DNS sorunlar\u0131 da web sitelerine eri\u015fimde yayg\u0131n bir problem kayna\u011f\u0131d\u0131r. Alan ad\u0131n\u0131z\u0131n do\u011fru IP adresine i\u015faret etti\u011finden emin olmak i\u00e7in <code>dig<\/code> veya <code>nslookup<\/code> gibi ara\u00e7lar\u0131 kullan\u0131n. \u00d6rne\u011fin:<\/p>\n<pre><code>dig example.com<\/code><\/pre>\n<p>Bu komut, <code>example.com<\/code> alan ad\u0131n\u0131n hangi IP adresine \u00e7\u00f6z\u00fcld\u00fc\u011f\u00fcn\u00fc g\u00f6sterir. E\u011fer bu IP adresi sunucunuzun IP adresiyle e\u015fle\u015fmiyorsa, DNS kay\u0131tlar\u0131n\u0131z\u0131 kontrol etmeniz gerekmektedir. Bu ileri d\u00fczey teknikler ve sorun giderme yakla\u015f\u0131mlar\u0131, Apache sanal sunucular\u0131n\u0131z\u0131 daha sa\u011flam, h\u0131zl\u0131 ve g\u00fcvenli hale getirmenize yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Bu kapsaml\u0131 rehber boyunca, Ubuntu sunucunuzda Apache sanal sunucular\u0131n\u0131 s\u0131f\u0131rdan nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, birden fazla web sitesini nas\u0131l bar\u0131nd\u0131raca\u011f\u0131n\u0131z\u0131 ve SSL\/TLS ile g\u00fcvenli\u011fi nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz. Sanal sunucular, tek bir fiziksel sunucunun kaynaklar\u0131n\u0131 verimli bir \u015fekilde kullanarak birden fazla web projesini y\u00f6netmek i\u00e7in g\u00fc\u00e7l\u00fc ve maliyet etkin bir \u00e7\u00f6z\u00fcm sunar. Dizin yap\u0131s\u0131n\u0131 haz\u0131rlamaktan yap\u0131land\u0131rma dosyalar\u0131n\u0131 olu\u015fturmaya, g\u00fcvenlik duvar\u0131n\u0131 ayarlamaktan HTTPS&#8217;i etkinle\u015ftirmeye kadar t\u00fcm temel ad\u0131mlar\u0131 ele ald\u0131k. Ayr\u0131ca, <code>.htaccess<\/code> kullan\u0131m\u0131, <code>mod_rewrite<\/code>, performans optimizasyonlar\u0131 ve hata ay\u0131klama ipu\u00e7lar\u0131 ile sanal sunucular\u0131n\u0131z\u0131 daha da geli\u015ftirebilece\u011finiz ileri d\u00fczey konulara da de\u011findik. Bu bilgilerle donanm\u0131\u015f olarak, kendi web projelerinizi g\u00fcvenle ve etkin bir \u015fekilde bar\u0131nd\u0131rabilirsiniz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>1. Sanal sunucu yap\u0131land\u0131rmam\u0131 yapt\u0131ktan sonra web siteme neden eri\u015femiyorum?<\/strong><\/p>\n<p>Bu sorunun birka\u00e7 olas\u0131 nedeni olabilir:<\/p>\n<ul>\n<li><strong>Apache Yeniden Ba\u015flat\u0131lmad\u0131:<\/strong> Yap\u0131land\u0131rma de\u011fi\u015fikliklerinden sonra Apache servisini yeniden ba\u015flatmay\u0131 (<code>sudo systemctl reload apache2<\/code> veya <code>sudo systemctl restart apache2<\/code>) unuttunuz.<\/li>\n<li><strong>S\u00f6zdizimi Hatas\u0131:<\/strong> Yap\u0131land\u0131rma dosyan\u0131zda bir s\u00f6zdizimi hatas\u0131 var. <code>sudo apache2ctl configtest<\/code> komutunu kullanarak kontrol edin.<\/li>\n<li><strong>G\u00fcvenlik Duvar\u0131:<\/strong> HTTP (80) ve\/veya HTTPS (443) portlar\u0131 g\u00fcvenlik duvar\u0131n\u0131zda (UFW) a\u00e7\u0131k de\u011fil. <code>sudo ufw status<\/code> ile kontrol edin ve gerekirse <code>sudo ufw allow 'Apache Full'<\/code> komutuyla izin verin.<\/li>\n<li><strong>DNS\/Hosts Dosyas\u0131:<\/strong> Alan ad\u0131n\u0131z\u0131n (veya yerel <code>hosts<\/code> dosyas\u0131ndaki girdinin) sunucunuzun do\u011fru IP adresine i\u015faret etti\u011finden emin olun.<\/li>\n<li><strong>DocumentRoot Hatas\u0131:<\/strong> <code>DocumentRoot<\/code> y\u00f6nergesinde belirtilen dizin yolu yanl\u0131\u015f veya web sitesi dosyalar\u0131 bu dizinde bulunmuyor.<\/li>\n<\/ul>\n<p><strong>2. Sanal sunucular i\u00e7in neden <code>.htaccess<\/code> yerine ana yap\u0131land\u0131rma dosyalar\u0131n\u0131 tercih etmeliyim?<\/strong><\/p>\n<p><code>.htaccess<\/code> dosyalar\u0131 kolayl\u0131k ve dizin baz\u0131nda esneklik sunsa da, performans a\u00e7\u0131s\u0131ndan baz\u0131 dezavantajlar\u0131 vard\u0131r. Apache, her gelen istekte <code>.htaccess<\/code> dosyalar\u0131n\u0131 (ve \u00fcst dizinlerdeki t\u00fcm <code>.htaccess<\/code> dosyalar\u0131n\u0131) aramak ve ayr\u0131\u015ft\u0131rmak zorunda kal\u0131r, bu da sunucu y\u00fck\u00fcn\u00fc art\u0131r\u0131r. Performans kritik uygulamalar i\u00e7in, m\u00fcmk\u00fcn oldu\u011funca t\u00fcm yap\u0131land\u0131rmalar\u0131 do\u011frudan ana Apache yap\u0131land\u0131rma dosyalar\u0131nda (<code>.conf<\/code> dosyalar\u0131) yapmak genellikle daha verimli bir yakla\u015f\u0131md\u0131r. <code>.htaccess<\/code> genellikle sadece sunucu y\u00f6neticisi eri\u015fimi olmayan kullan\u0131c\u0131lar veya h\u0131zl\u0131, k\u00fc\u00e7\u00fck de\u011fi\u015fiklikler i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p><strong>3. HTTPS&#8217;e ge\u00e7tikten sonra neden hala baz\u0131 sayfalarda g\u00fcvenlik uyar\u0131s\u0131 al\u0131yorum?<\/strong><\/p>\n<p>Bu durum genellikle &#8220;karma i\u00e7erik&#8221; (mixed content) uyar\u0131s\u0131 olarak bilinir. HTTPS \u00fczerinden y\u00fcklenen bir sayfada, baz\u0131 kaynaklar\u0131n (resimler, CSS dosyalar\u0131, JavaScript dosyalar\u0131 vb.) hala HTTP \u00fczerinden y\u00fcklenmeye \u00e7al\u0131\u015f\u0131lmas\u0131 durumunda ortaya \u00e7\u0131kar. Taray\u0131c\u0131lar, bu t\u00fcr karma i\u00e7eri\u011fi g\u00fcvenlik riski olarak alg\u0131lar ve bir uyar\u0131 g\u00f6sterir. Bu sorunu \u00e7\u00f6zmek i\u00e7in, web sitenizdeki t\u00fcm kaynak URL&#8217;lerinin HTTPS (<code>https:\/\/<\/code>) ile ba\u015flad\u0131\u011f\u0131ndan emin olman\u0131z veya g\u00f6receli URL&#8217;ler (<code>\/\/example.com\/resim.jpg<\/code>) kullanman\u0131z gerekir. WordPress gibi CMS kullan\u0131yorsan\u0131z, veritaban\u0131ndaki eski HTTP URL&#8217;lerini HTTPS ile de\u011fi\u015ftirmeniz gerekebilir.<\/p>\n<p><strong>4. Farkl\u0131 sanal sunucular\u0131m i\u00e7in farkl\u0131 PHP versiyonlar\u0131 kullanabilir miyim?<\/strong><\/p>\n<p>Evet, Apache ve PHP-FPM (FastCGI Process Manager) kombinasyonunu kullanarak farkl\u0131 sanal sunucular i\u00e7in farkl\u0131 PHP versiyonlar\u0131 kullanabilirsiniz. Bu, \u00f6zellikle eski uygulamalar\u0131 desteklerken yeni projeler i\u00e7in g\u00fcncel PHP versiyonlar\u0131n\u0131 kullanmak isteyen geli\u015ftiriciler i\u00e7in olduk\u00e7a faydal\u0131d\u0131r. Bu yap\u0131land\u0131rma, her sanal sunucuyu belirli bir PHP-FPM soketine y\u00f6nlendirerek yap\u0131l\u0131r. Bu konu, bu rehberin kapsam\u0131n\u0131n \u00f6tesinde olsa da, Apache&#8217;nin esnekli\u011finin bir ba\u015fka g\u00f6stergesidir ve daha geli\u015fmi\u015f bir yap\u0131land\u0131rma gerektirir.<\/p>\n<p><strong>5. Apache sanal sunucular\u0131m\u0131 yedeklemek i\u00e7in en iyi y\u00f6ntem nedir?<\/strong><\/p>\n<p>Apache sanal sunucu yap\u0131land\u0131rmalar\u0131n\u0131z\u0131 yedeklemek i\u00e7in en basit yol, <code>\/etc\/apache2\/sites-available\/<\/code> dizinindeki t\u00fcm <code>.conf<\/code> dosyalar\u0131n\u0131 kopyalamakt\u0131r. Ayr\u0131ca <code>\/etc\/apache2\/apache2.conf<\/code> ve <code>\/etc\/apache2\/ports.conf<\/code> gibi ana yap\u0131land\u0131rma dosyalar\u0131n\u0131 da yedeklemeyi unutmay\u0131n. Web sitelerinizin i\u00e7eri\u011fi i\u00e7in, <code>DocumentRoot<\/code> olarak belirtti\u011finiz <code>\/var\/www\/alanadiniz.com\/html<\/code> dizinlerini d\u00fczenli olarak yedeklemelisiniz. Bu yedekleri uzak bir depolama alan\u0131nda tutmak, veri kayb\u0131 riskini en aza indirecektir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu&#8217;da Apache Sanal Sunucular\u0131n\u0131 Kurulum Rehberi Tek bir sunucu \u00fczerinde birden fazla web sitesi bar\u0131nd\u0131rmak, maliyetleri d\u00fc\u015f\u00fcrmek ve&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[874],"tags":[],"class_list":{"0":"post-38357","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-server","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?<\/title>\n<meta name=\"description\" content=\"Tek bir sunucu \u00fczerinde birden fazla web sitesi bar\u0131nd\u0131rmak, maliyetleri d\u00fc\u015f\u00fcrmek ve kaynaklar\u0131 verimli kullanmak isteyenler i\u00e7in hayati bir ihtiya\u00e7t\u0131r. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen i\u015flemi Ubuntu sunucunuzda Apache Sanal Sunucular (Virtual Hosts) kullanarak nas\u0131l kolayca ba\u015farabilirsiniz? Bu kapsaml\u0131 rehber, s\u0131f\u0131rdan ba\u015flayarak kendi sanal sunucular\u0131n\u0131z\u0131 kurman\u0131z ve y\u00f6netmeniz i\u00e7in ad\u0131m ad\u0131m yol g\u00f6sterecek, b\u00f6ylece web projelerinizi tek bir g\u00fc\u00e7l\u00fc altyap\u0131da sorunsuz bir \u015fekilde bar\u0131nd\u0131rabileceksiniz.\" \/>\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-sunucular-nedir-ve-neden-kullanmaliyiz\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?\" \/>\n<meta property=\"og:description\" content=\"Tek bir sunucu \u00fczerinde birden fazla web sitesi bar\u0131nd\u0131rmak, maliyetleri d\u00fc\u015f\u00fcrmek ve kaynaklar\u0131 verimli kullanmak isteyenler i\u00e7in hayati bir ihtiya\u00e7t\u0131r. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen i\u015flemi Ubuntu sunucunuzda Apache Sanal Sunucular (Virtual Hosts) kullanarak nas\u0131l kolayca ba\u015farabilirsiniz? Bu kapsaml\u0131 rehber, s\u0131f\u0131rdan ba\u015flayarak kendi sanal sunucular\u0131n\u0131z\u0131 kurman\u0131z ve y\u00f6netmeniz i\u00e7in ad\u0131m ad\u0131m yol g\u00f6sterecek, b\u00f6ylece web projelerinizi tek bir g\u00fc\u00e7l\u00fc altyap\u0131da sorunsuz bir \u015fekilde bar\u0131nd\u0131rabileceksiniz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-29T13:22:15+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=\"27 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-sunucular-nedir-ve-neden-kullanmaliyiz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?\",\"datePublished\":\"2026-01-29T13:22:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/\"},\"wordCount\":4413,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Server\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/\",\"name\":\"Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-29T13:22:15+00:00\",\"description\":\"Tek bir sunucu \u00fczerinde birden fazla web sitesi bar\u0131nd\u0131rmak, maliyetleri d\u00fc\u015f\u00fcrmek ve kaynaklar\u0131 verimli kullanmak isteyenler i\u00e7in hayati bir ihtiya\u00e7t\u0131r. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen i\u015flemi Ubuntu sunucunuzda Apache Sanal Sunucular (Virtual Hosts) kullanarak nas\u0131l kolayca ba\u015farabilirsiniz? Bu kapsaml\u0131 rehber, s\u0131f\u0131rdan ba\u015flayarak kendi sanal sunucular\u0131n\u0131z\u0131 kurman\u0131z ve y\u00f6netmeniz i\u00e7in ad\u0131m ad\u0131m yol g\u00f6sterecek, b\u00f6ylece web projelerinizi tek bir g\u00fc\u00e7l\u00fc altyap\u0131da sorunsuz bir \u015fekilde bar\u0131nd\u0131rabileceksiniz.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?\"}]},{\"@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 Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?","description":"Tek bir sunucu \u00fczerinde birden fazla web sitesi bar\u0131nd\u0131rmak, maliyetleri d\u00fc\u015f\u00fcrmek ve kaynaklar\u0131 verimli kullanmak isteyenler i\u00e7in hayati bir ihtiya\u00e7t\u0131r. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen i\u015flemi Ubuntu sunucunuzda Apache Sanal Sunucular (Virtual Hosts) kullanarak nas\u0131l kolayca ba\u015farabilirsiniz? Bu kapsaml\u0131 rehber, s\u0131f\u0131rdan ba\u015flayarak kendi sanal sunucular\u0131n\u0131z\u0131 kurman\u0131z ve y\u00f6netmeniz i\u00e7in ad\u0131m ad\u0131m yol g\u00f6sterecek, b\u00f6ylece web projelerinizi tek bir g\u00fc\u00e7l\u00fc altyap\u0131da sorunsuz bir \u015fekilde bar\u0131nd\u0131rabileceksiniz.","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-sunucular-nedir-ve-neden-kullanmaliyiz\/","og_locale":"tr_TR","og_type":"article","og_title":"Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?","og_description":"Tek bir sunucu \u00fczerinde birden fazla web sitesi bar\u0131nd\u0131rmak, maliyetleri d\u00fc\u015f\u00fcrmek ve kaynaklar\u0131 verimli kullanmak isteyenler i\u00e7in hayati bir ihtiya\u00e7t\u0131r. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen i\u015flemi Ubuntu sunucunuzda Apache Sanal Sunucular (Virtual Hosts) kullanarak nas\u0131l kolayca ba\u015farabilirsiniz? Bu kapsaml\u0131 rehber, s\u0131f\u0131rdan ba\u015flayarak kendi sanal sunucular\u0131n\u0131z\u0131 kurman\u0131z ve y\u00f6netmeniz i\u00e7in ad\u0131m ad\u0131m yol g\u00f6sterecek, b\u00f6ylece web projelerinizi tek bir g\u00fc\u00e7l\u00fc altyap\u0131da sorunsuz bir \u015fekilde bar\u0131nd\u0131rabileceksiniz.","og_url":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-29T13:22:15+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"27 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?","datePublished":"2026-01-29T13:22:15+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/"},"wordCount":4413,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Server"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/","url":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/","name":"Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-29T13:22:15+00:00","description":"Tek bir sunucu \u00fczerinde birden fazla web sitesi bar\u0131nd\u0131rmak, maliyetleri d\u00fc\u015f\u00fcrmek ve kaynaklar\u0131 verimli kullanmak isteyenler i\u00e7in hayati bir ihtiya\u00e7t\u0131r. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen i\u015flemi Ubuntu sunucunuzda Apache Sanal Sunucular (Virtual Hosts) kullanarak nas\u0131l kolayca ba\u015farabilirsiniz? Bu kapsaml\u0131 rehber, s\u0131f\u0131rdan ba\u015flayarak kendi sanal sunucular\u0131n\u0131z\u0131 kurman\u0131z ve y\u00f6netmeniz i\u00e7in ad\u0131m ad\u0131m yol g\u00f6sterecek, b\u00f6ylece web projelerinizi tek bir g\u00fc\u00e7l\u00fc altyap\u0131da sorunsuz bir \u015fekilde bar\u0131nd\u0131rabileceksiniz.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/apache-sanal-sunucular-nedir-ve-neden-kullanmaliyiz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Apache Sanal Sunucular Nedir ve Neden Kullanmal\u0131y\u0131z?"}]},{"@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\/38357","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=38357"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38357\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38357"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38357"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}