
Bir sunucu kiraladıktan sonra akla gelen ilk soru şudur: üzerine kaç site koyabilirim? Cevap teknik bir sınırdan çok, üç ayrı dengeye bağlıdır — kaynak paylaşımı, güvenlik izolasyonu ve yönetim yükü.
Bu rehber, kendi sanal sunucunuz üzerinde birden fazla siteyi sağlıklı biçimde barındırmayı anlatıyor.
Temel Yapı: Sanal Host
Web sunucusu, gelen isteğin hangi alan adına yapıldığına bakarak doğru dizini sunar. Her site için ayrı bir sanal host tanımı yaparsınız: alan adı, kök dizin, log dosyaları ve SSL sertifikası.
Kurulumda üç noktaya dikkat edin:
- Her siteye ayrı log dosyası. Tüm siteler tek log dosyasına yazarsa sorun teşhisi imkânsızlaşır. Ayrıca her biri için ayrı döndürme kuralı tanımlayın.
- Varsayılan sanal host tanımlayın. Tanımsız bir alan adı sunucunuza yönlendirildiğinde hangi sitenin açılacağını siz belirleyin. Aksi halde ilk tanımlı site, sizin olmayan alan adlarında da görünür.
- Her site için SSL kapsamı. Sertifika her alan adını ayrı kapsamalıdır.
İzolasyon: En Kritik Konu
Varsayılan bir kurulumda tüm siteler aynı kullanıcı yetkisiyle çalışır. Bu, şu anlama gelir: bir sitedeki güvenlik açığından giren saldırgan, diğer tüm sitelerin dosyalarına da erişebilir.
Kendi projelerinizde bu risk kabul edilebilir olabilir. Müşteri siteleri barındırıyorsanız kesinlikle değildir. İzolasyon seviyeleri:
| Yöntem | İzolasyon | Karmaşıklık |
|---|---|---|
| Aynı kullanıcı, ayrı dizin | Yok | En basit |
| Site başına ayrı sistem kullanıcısı | İyi | Orta |
| Site başına konteyner | Çok iyi | Yüksek |
| Site başına sanal makine | En güçlü | En yüksek |
Pratikte çoğu kurulum için ikinci satır doğru dengeyi kurar: her site kendi sistem kullanıcısıyla çalışsın, kendi dizinine yazabilsin, başkasının dizinini okuyamasın. Kurulumu orta düzeyde emek ister ve riskin büyük bölümünü kapatır.
Veritabanı Tarafı
Her site için ayrı veritabanı ve ayrı veritabanı kullanıcısı oluşturun. Tek bir kullanıcıyla tüm veritabanlarını yönetmek, bir sitedeki enjeksiyon açığından tüm verilerinizin okunmasına yol açar.
Kaynak Yönetimi
Siteler aynı CPU, bellek ve diski paylaşır. Birinin yoğunluğu diğerlerini yavaşlatır. Bunu yönetmenin yolları:
- Site başına işlem havuzu. Her siteye ayrı bir işleyici havuzu tanımlayıp havuz başına işçi sayısını sınırlayın. Böylece tek bir sitenin trafik sıçraması, tüm işçileri tüketip diğer siteleri durduramaz.
- Bellek sınırları. Her uygulamanın kullanabileceği bellek üst sınırını tanımlayın.
- Önbellek zorunluluğu. Çoklu site barındırmada önbellek isteğe bağlı değildir — her sitede sayfa önbelleği açık olmalıdır. Bu, aynı donanımın taşıyabileceği site sayısını kat kat artırır.
- Disk kotası. Bir sitenin loglarının veya yüklemelerinin tüm diski doldurmasını engelleyin.
Kaç Site Sığar?
Belirleyici olan site sayısı değil, toplam yüktür. Pratik yaklaşım:
- Düşük trafikli tanıtım siteleri: Onlarcası sorunsuz barınabilir. Önbellekli statik içerik neredeyse hiç kaynak tüketmez.
- Orta trafikli içerik siteleri: Birkaç tanesi rahat çalışır. Önbellek kurulumu belirleyicidir.
- Aktif e-ticaret siteleri: Bir tanesi bile sunucuyu doldurabilir. Sepet ve ödeme önbelleğe alınamaz, sürekli veritabanı yükü üretir.
Doğru yöntem tahmin etmek değil ölçmektir: site ekledikçe kaynak kullanımını izleyin ve eşiklere yaklaştığınızda durun. Kritik bir siteyi, deneysel projelerle aynı sunucuda tutmayın — birinin hatası hepsini etkiler.
Yönetim Yükü
Site sayısı arttıkça görünmeyen bir maliyet birikir: her sitenin kendi güncellemeleri, kendi yedeği, kendi SSL yenilemesi ve kendi izlemesi vardır.
Bunu yönetilebilir tutmanın yolları:
- Sanal host tanımlarını şablonlaştırın. Yeni site eklemek, bir şablonu doldurmak kadar basit olsun.
- Yedeklemeyi merkezileştirin. Tüm siteleri ve veritabanlarını tek bir yapılandırmadan yedekleyin.
- SSL yenilemeyi otomatikleştirin. Elle yenilenen sertifikalar unutulur ve bir gün site uyarı vermeye başlar.
- Site envanteri tutun. Hangi site hangi dizinde, hangi veritabanını kullanıyor, sahibi kim, ne zaman güncellendi? Sorun anında en çok bu tabloya ihtiyaç duyarsınız.
Ne Zaman Ayrı Sunucuya Geçmeli?
Şu üç durumda site ayrılmalıdır:
- Kritiklik farkı. Ödeme alan bir mağaza ile deneysel bir proje aynı sunucuda olmamalıdır.
- Kaynak rekabeti. Bir site diğerlerini düzenli olarak yavaşlatıyorsa, izolasyon ayarları yetmiyor demektir.
- Farklı sahiplik. Müşteri siteleri, sizin sitelerinizle aynı hesapta durmamalıdır — hem güvenlik hem sorumluluk açısından.
Sonuç
Tek sunucuda birden fazla site barındırmak ekonomik ve yaygın bir kullanımdır, ancak iki şeyi baştan doğru kurmak gerekir: her siteye ayrı sistem kullanıcısı ve her siteye ayrı veritabanı kullanıcısı. Bu ikisi, "bir site hacklendi, hepsi gitti" senaryosunu ortadan kaldırır. Kaynak tarafında ise önbellek zorunludur — önbellekli bir VDS, önbelleksiz olana göre kat kat fazla site taşır. Kaç site sığdığını tahmin etmeyin; ekledikçe ölçün.
Sıkça Sorulan Sorular (SSS)
Sunucuma kaç site kurabilirim?
Sabit bir sayı yoktur; belirleyici olan toplam yüktür. Önbellekli düşük trafikli siteler onlarca olabilirken, tek bir aktif e-ticaret sitesi sunucuyu doldurabilir. Site ekledikçe kaynak kullanımını izleyin.
Siteler birbirinden izole mi?
Varsayılan kurulumda hayır — hepsi aynı kullanıcı yetkisiyle çalışır ve birindeki açık diğerlerine erişim verir. Site başına ayrı sistem kullanıcısı tanımlamak, bu riski büyük ölçüde kapatan en pratik adımdır.
Müşteri sitelerini kendi sunucumda barındırabilir miyim?
Teknik olarak evet ama izolasyon kurmadan yapmayın. Birinde yaşanan bir olay hepsini etkiler ve sorumluluk sizde olur. Müşteri siteleri için en azından konteyner düzeyinde izolasyon veya ayrı hesaplar tercih edilmelidir.
Panel kurmak zorunda mıyım?
Hayır. Birkaç site için sanal host tanımlarını elle yönetmek tamamen mümkündür ve panelin tükettiği kaynağı kazanırsınız. Panel, çok sayıda site veya başkalarına barındırma satmak söz konusuysa değer üretir.