İçeriğe geç
DuyurularBilgi bankasıKampanyalar
Hakkımızdaİletişim DestekTREN
hostingsepetiWEB HOSTING & SUNUCU
Sunucu ve Güvenlik

Apache VirtualHost ile alan adı ve dizin eşleştirme

ServerName, DocumentRoot ve erişim kurallarını düzenleyin; yapılandırma testi ve farklı alan adı istekleriyle doğru VirtualHost seçimini doğrulayın.

Apache VirtualHost ile alan adı ve dizin eşleştirme

Apache üzerinde aynı sunucu birden fazla alan adına hizmet verebilir. VirtualHost tanımı, gelen isteğin hangi site yapılandırmasını kullanacağını belirler. Alan adının DNS kaydı doğru olsa bile ServerName, ServerAlias veya dinleme ayarları hatalıysa beklenmeyen site açılabilir. Bu işlem yalnız dosya yüklemekten daha geniştir; erişim izinleri, uygulama kökü ve TLS birlikte düşünülmelidir. Özellikle kontrol paneli kullanılan sunucularda yapılandırmayı panelin desteklediği yöntemle değiştirmek önemlidir. Yönetilen dosyaya elle müdahale kalıcı olmayabilir.

Hazırlık

Hizmet vereceğiniz alan adlarını ve gerçek public dizinini listeleyin. Alan adı kayıtları, uygulama dosyaları ve sertifika kapsamı birbiriyle tutarlı olmalıdır. Gizli yapılandırma, veri tabanı yedeği ve kaynak deposu herkese açık kökte tutulmamalıdır. Mevcut VirtualHost dosyalarını ve çalışan site yanıtlarını kaydedin. Sunucunun işletim sistemi ve Apache paket düzenine göre dosya konumları değişebilir. Yapılacak değişikliğin hangi siteleri etkileyebileceğini belirleyip bakım ve geri dönüş planını hazırlayın.

Uygulama sırası

Önce küçük bir deneme sitesiyle alan adı eşleşmesini sınamak yararlıdır. Gerçek müşteri dosyaları yerine zararsız bir test içeriği kullanın. Böylece yapılandırma hatasını uygulama veya veri tabanı sorunundan ayırabilirsiniz.

  1. Alan adı tabanlı VirtualHost dosyasında ServerName değerini hedef alan adıyla tanımlayın. www gibi ek adlar gerekiyorsa ServerAlias kapsamını bilinçli seçin. Herhangi bir alan adını kapsayan geniş örneği bütün müşterilere uygulamayın. DocumentRoot, gerçek uygulamanın public dizinini göstermelidir. Bir çerçevenin proje ana dizinini web kökü yapmak gizli dosyaları erişilebilir hale getirebilir. Apache'nin dinlediği port ve adresler ile VirtualHost başlığını da karşılaştırın.
  2. Dizin erişim kurallarını uygulamanın ihtiyacına göre değerlendirin. İçerik okumaya izin vermek ile kullanıcıların dosya değiştirmesi aynı şey değildir. Dosya sistemini topluca yazılabilir hale getirmeyin. AllowOverride seçeneği, .htaccess içindeki hangi kuralların kullanılabileceğini etkiler; uygulama gereksinimi ve sunucu politikası birlikte okunmalıdır. Gereksiz dizin listeleme açık kalmamalıdır. Özel dosyaları yalnız görünmez isimle saklamak yeterli koruma değildir; web kökü ve erişim sınırları doğru seçilmelidir.
  3. Çakışan adları ve varsayılan sıralamayı kontrol edin. Apache'nin ilk eşleşen yapılandırma davranışı, tanınmayan alan adı isteğinde hangi sitenin görünmesini etkileyebilir. apachectl -S gibi sisteminizde desteklenen inceleme komutu VirtualHost eşlemesini gösterebilir. Çıktıda beklenen alan adı, port ve dosya kaynağı görünmelidir. Kullanılmayan eski kayıtları kaldırmadan hangi iş akışının ona bağlı olduğunu araştırın. Bir müşterinin alan adını başka sitenin alias listesinde bırakmak karışıklık oluşturabilir.
  4. apachectl configtest veya dağıtımın eşdeğer apache2ctl komutuyla söz dizimini kontrol edin. Hata varsa hizmete uygulamadan düzeltin. Ardından desteklenen graceful reload yöntemiyle değişikliği planlı uygulayın. Paketin hizmet adı ve komutları sisteminizde farklı olabilir; belgeyi esas alın. Mevcut çalışan yapılandırmanın kopyasını geri dönüş için saklayın. Başarısız test sonrası art arda restart denemesi yapmak yerine hata satırını ve dosya konumunu inceleyin.

Doğrulama ve teşhis

Her tanımlı alan adıyla ana sayfa ve birkaç alt yolu açın. Bulunmayan yolun doğru 404 davranışını verdiğini, statik dosyaların yüklendiğini ve uygulama girişinin çalıştığını kontrol edin. TLS varsa sertifikanın istenen adları kapsadığını doğrulayın. Yalnız IP adresiyle test etmek alan adı eşleşmesini doğrulamaz. Erişim ve hata günlüklerinde istek zamanını inceleyin. Yanlış site görünüyorsa önce DNS hedefi ile VirtualHost seçimini ayırın; dosyaları tekrar yüklemek her zaman çözüm değildir.

Sık sorulan sorular

ServerAlias bütün alan adları için kullanılmalı mı?

Hayır. Yalnız bu siteye ait olması gereken ek adları kapsamalıdır. Geniş tanım farklı site isteklerini yanlış yere yönlendirebilir.

.htaccess dosyasının bulunması kuralların çalıştığını gösterir mi?

Hayır. Sunucu politikası, izin verilen yönergeler ve doğru dizin kapsamı sonucu etkiler. Gerçek istekle davranışı sınayın ve hata kayıtlarını kontrol edin.

Resmi kaynaklar

Süreç özeti

Apache VirtualHost ile alan adı ve dizin eşleştirme

AdımKontrol
1Alan adı envanteri
2VirtualHost tanımı
3Erişim sınırları
4Configtest
5Site testi

Resmî kaynaklar