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.confkapatı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.