Ana içeriğe geç

Apache Sanal Sunucu (Virtual Host) Kurulumu

Bu rehberde Ubuntu 16.04 üzerinde çalışan Apache web sunucusunda Virtual Host (Sanal Sunucu) yapılandırmasını öğreneceksiniz.

Virtual Host sayesinde:

  • Tek bir IP adresi
  • Tek bir sunucu

üzerinde birden fazla alan adı barındırabilirsiniz.

Apache gelen isteğin domain adına bakarak doğru site dizinini sunar.


Virtual Host Nedir?

Virtual Host, Apache'nin aynı sunucu üzerinde birden fazla web sitesini çalıştırmasını sağlayan yapılandırmadır.

Örnek:

Alan AdıDizin
rabisu.cloud/var/www/rabisu.cloud
testsite.net/var/www/testsite.net

Apache gelen isteğe göre doğru dizinden içerik sunar.


Ön Gereksinimler

Bu rehbere başlamadan önce aşağıdakilerin hazır olması gerekir:

  • Ubuntu 16.04 sunucu
  • Sudo yetkisine sahip kullanıcı
  • Apache web sunucusu

Apache kurulu değilse:

sudo apt-get update
sudo apt-get install apache2

Web Dizini Yapısını Oluşturma

Her site için ayrı bir dizin oluşturulmalıdır.

sudo mkdir -p /var/www/rabisu.cloud/public_html
sudo mkdir -p /var/www/testsite.net/public_html

Bu dizinler Apache tarafından DocumentRoot olarak kullanılır.

Dizin Yetkilerini Ayarlama

Varsayılan olarak dizin sahibi root olur. Dosya yönetimi için mevcut kullanıcıya devredelim.

sudo chown -R $USER:$USER /var/www/rabisu.cloud/public_html
sudo chown -R $USER:$USER /var/www/testsite.net/public_html

Apache'nin dosyaları okuyabilmesi için izinleri ayarlayın:

sudo chmod -R 755 /var/www

Test Amaçlı HTML Sayfaları Oluşturma

İlk site için test sayfası:

nano /var/www/rabisu.cloud/public_html/index.html
<html>
<head>
<title>Rabisu Cloud</title>
</head>

<body>
<h1>Başarılı! rabisu.cloud sitesi çalışıyor.</h1>
</body>

</html>

İkinci Site için kopyalama

cp /var/www/rabisu.cloud/public_html/index.html /var/www/testsite.net/public_html/index.html

Dosyayı düzenleyin:

nano /var/www/testsite.net/public_html/index.html

Alan adını testsite.net olarak değiştirin.

Apache Virtual Host Yapılandırması

Öncelikle yeni site yapılandırma dosyası oluşturacağız.

sudo nano /etc/apache2/sites-available/rabisu.cloud.conf

İlk site yapılandırması:

<VirtualHost *:80>

ServerAdmin destek@rabisu.cloud
ServerName rabisu.cloud
ServerAlias www.rabisu.cloud

DocumentRoot /var/www/rabisu.cloud/public_html

ErrorLog ${APACHE_LOG_DIR}/rabisu_error.log
CustomLog ${APACHE_LOG_DIR}/rabisu_access.log combined

</VirtualHost>
İkinci site yapılandırması
sudo nano /etc/apache2/sites-available/testsite.net.conf
<VirtualHost *:80>

ServerAdmin admin@testsite.net
ServerName testsite.net
ServerAlias www.testsite.net

DocumentRoot /var/www/testsite.net/public_html

ErrorLog ${APACHE_LOG_DIR}/testsite_error.log
CustomLog ${APACHE_LOG_DIR}/testsite_access.log combined

</VirtualHost>

Virtual Host Yapılandırmasını Etkinleştirme

Siteleri aktif hale getirin:

sudo a2ensite rabisu.cloud.conf
sudo a2ensite testsite.net.conf

Varsayılan siteyi kapatabilirsiniz:

sudo a2dissite 000-default.conf

Apache'yi yeniden başlatın:

sudo systemctl restart apache2

Tarayıcıdan Test Etme

Alan adlarınız sunucu IP adresine yönlendirilmişse şu adreslere gidin:

http://rabisu.cloud http://testsite.net

Her alan adı kendi dizinindeki sayfayı göstermelidir.

Sıkça Sorulan Sorular

Virtual Host nedir?

Tek bir sunucuda birden fazla web sitesinin çalışmasını sağlayan Apache yapılandırmasıdır.

ServerName ve ServerAlias farkı nedir? ServerName → Ana domain ServerAlias → Ek domainler (örneğin www)

Neden 000-default.conf kapatılır?

Varsayılan site bazı durumlarda yanlış eşleşmelere neden olabilir.

Ubuntu 20.04 ve 22.04'te çalışır mı?

Evet. Virtual Host mantığı tüm modern Apache sürümlerinde aynıdır.

a2ensite ne yapar?

sites-available içindeki siteyi aktif hale getirir.

Sonuç

Bu rehber ile:

Apache Virtual Host yapılandırmasını öğrendiniz Tek sunucuda birden fazla site yayınladınız Alan adı bazlı içerik sunmayı yapılandırdınız

Bu yapı özellikle hosting altyapıları ve çoklu site yönetimi için idealdir.

Sunucularınızı hızlı şekilde kurmak için Rabisu Bulut altyapısını kullanabilirsiniz.