Ana içeriğe geç

Apache Virtual Host Kurulumu (Ubuntu 20.04)

Bu rehberde, Ubuntu 20.04 üzerinde çalışan Apache Web Sunucusu ile
tek bir sunucuda birden fazla web sitesi barındırmayı öğreneceksiniz.

Apache Virtual Host yapısı sayesinde her alan adı
kendi dizinine, içeriğine ve ayarlarına sahip olur.


✅ Bu Rehberde Ne Öğreneceksiniz?

  • Apache Virtual Host mantığı
  • Her alan adı için ayrı dizin oluşturma
  • Virtual Host .conf dosyası hazırlama
  • Birden fazla siteyi aktif etme
  • Varsayılan siteyi devre dışı bırakma
  • Yapılandırmayı test etme

⚙️ Ön Gereksinimler

  • Ubuntu 20.04 sunucu
  • sudo yetkili non-root kullanıcı
  • Apache Web Server kurulu
  • En az iki alan adı (DNS A kayıtları sunucu IP’sine yönlü)

Alan adınız yoksa yerel hosts dosyası ile test edebilirsiniz.


1️⃣ Dizin Yapısını Oluşturma

Her site için ayrı DocumentRoot dizini oluşturulur.

sudo mkdir -p /var/www/sitebir.com/public_html
sudo mkdir -p /var/www/siteiki.com/public_html
  • Bu dizinler Apache’nin site içeriklerini okuyacağı alanlardır.

2️⃣ Dizin İzinlerini Ayarlama

1. Dosya düzenlemek için izinleri güncelleyin.


sudo chown -R $USER:$USER /var/www/sitebir.com/public_html
sudo chown -R $USER:$USER /var/www/siteiki.com/public_html
  • Apache’nin dosyaları okuyabilmesi için:

sudo chmod -R 755 /var/www

3️⃣ Test Sayfalarını Oluşturma

1. Birinci Site


nano /var/www/sitebir.com/public_html/index.html

<h1>Başarılı! sitebir.com çalışıyor</h1>

2. İkinci Site


cp /var/www/sitebir.com/public_html/index.html \
/var/www/siteiki.com/public_html/index.html

nano /var/www/siteiki.com/public_html/index.html

<h1>Başarılı! siteiki.com çalışıyor</h1>

4️⃣ Virtual Host Yapılandırma Dosyaları

1.Birinci Alan Adı


sudo cp /etc/apache2/sites-available/000-default.conf \
/etc/apache2/sites-available/sitebir.com.conf

sudo nano /etc/apache2/sites-available/sitebir.com.conf

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName sitebir.com
ServerAlias www.sitebir.com
DocumentRoot /var/www/sitebir.com/public_html

ErrorLog $&#123;APACHE_LOG_DIR&#125;/error.log
CustomLog $&#123;APACHE_LOG_DIR&#125;/access.log combined
</VirtualHost>

2. İkinci Alan Adı


sudo cp /etc/apache2/sites-available/sitebir.com.conf \
/etc/apache2/sites-available/siteiki.com.conf

sudo nano /etc/apache2/sites-available/siteiki.com.conf

3. Alan adını ve dizini değiştirin.

5️⃣ Siteleri Etkinleştirme


sudo a2ensite sitebir.com.conf
sudo a2ensite siteiki.com.conf

1. Varsayılan siteyi kapatın:


sudo a2dissite 000-default.conf

2. Yapılandırmayı test edin:


sudo apache2ctl configtest

3. Apache’yi yeniden başlatın:


sudo systemctl restart apache2

6️⃣ (Opsiyonel) Yerel Hosts Dosyası

  • Alan adı yoksa yerel bilgisayarınızda test için:

203.0.113.10 sitebir.com
203.0.113.10 siteiki.com
  • Test bitince bu satırları silin.

7️⃣ Son Kontrol

  • Tarayıcıdan test edin:
http://sitebir.com

http://siteiki.com
  • Her alan adı kendi içeriğini gösteriyorsa kurulum başarılıdır ✅

❓ Sıkça Sorulan Sorular (SSS)

1. Apache Virtual Host nedir? Tek Apache kurulumu ile birden fazla site barındırmayı sağlar.

2. DocumentRoot ne işe yarar? Alan adının web içeriğinin bulunduğu dizini belirtir.

3. Neden 000-default.conf kapatıldı? Yanlış site eşleşmesini önlemek için.

4. HTTPS için ne yapmalıyım? 443 portu için Virtual Host ve SSL sertifikası eklenmelidir.

5. Kaç site ekleyebilirim? Sunucu kapasitesi el verdiği sürece sınırsızdır.


🚀 Sonuç

Bu rehberle Ubuntu 20.04 üzerinde Apache Virtual Hosts kullanarak tek sunucuda çoklu web sitesi yapılandırdınız.

Bu setup, Let’s Encrypt, reverse proxy ve CDN yapılarına tamamen uygundur.

👉 Rabisu Bulut üzerinde dakikalar içinde deneyebilirsiniz.