
Web tasarım veya yazılım hizmeti veriyorsanız, müşteri sitelerini kendi sunucunuzda barındırmak doğal bir genişlemedir: gelir eklersiniz, teknik kontrolü elinizde tutarsınız ve müşteriyle ilişkiniz derinleşir.
Ancak bu, teknik bir kurulumdan fazlasıdır — başkalarının verisini barındırmak, farklı bir sorumluluk seviyesidir. Bu rehber, fiziksel sunucu üzerinde çoklu müşteri barındırmanın teknik ve operasyonel gereklerini ele alıyor.
Birinci Kural: İzolasyon
Varsayılan bir kurulumda tüm siteler aynı kullanıcı yetkisiyle çalışır. Kendi projelerinizde bu risk kabul edilebilir olabilir; müşteri sitelerinde kesinlikle değildir.
Bir müşterinin sitesindeki güncellenmemiş bir eklenti, diğer tüm müşterilerin dosyalarına erişim verir. Ve sorumluluk, açığı olan müşteride değil sizde olur.
İzolasyon Seçenekleri
| Yöntem | İzolasyon | Kaynak sınırı | Emek |
|---|---|---|---|
| Ayrı sistem kullanıcısı | İyi | Sınırlı | Orta |
| Hosting paneli (bayi modu) | İyi | İyi | Düşük |
| Konteyner | Çok iyi | Çok iyi | Yüksek |
| Sanal makine | En güçlü | En güçlü | En yüksek |
Çoğu ajans için ikinci satır doğru dengeyi kurar: hosting paneli, hesap izolasyonunu ve müşteri panelini hazır sunar, kaynak limitlerini hesap bazında tanımlamanıza izin verir ve yönetim yükünü belirgin biçimde azaltır.
Konteyner veya sanal makine seviyesindeki izolasyon, müşteriler arasında güçlü ayrım gereken durumlarda (farklı sektörler, hassas veri, uyum gereksinimleri) anlamlıdır.
Kaynak Yönetimi
İzolasyon güvenliği çözer, kaynak sınırlaması ise performansı. Bunlar ayrı konulardır.
Hesap bazında sınırlanması gerekenler:
- CPU payı. Bir müşterinin yoğunluğu diğerlerini durduramamalı.
- Bellek limiti. Sınırsız bırakılan tek bir hesap, tüm sunucuyu bellek tükenmesine götürebilir.
- Eşzamanlı işlem sayısı. Bir hesabın tüm işçileri tüketmesini engeller.
- Disk kotası. Bir müşterinin yüklemeleri diski doldurmamalı.
- inode kotası. Dosya sayısı sınırı — disk boşken de dolabilir.
Bu sınırlar tanımlanmadığında, en aktif müşteriniz diğerlerinin performansını belirler — ve şikayet size gelir.
Sorumluluk: Teknik Olmayan Kısım
Müşteri verisi barındırmak, sözleşmeye yazılması gereken yükümlülükler doğurur.
Hizmet Kapsamı
Neyi taahhüt ediyorsunuz? Barındırma mı, yoksa site bakımı da dahil mi? Müşterinin sitesindeki güncellemeleri kim yapıyor? Bu belirsizlik, güvenlik olayı yaşandığında sorun çıkarır.
Yedekleme
Yedek alıyor musunuz, ne sıklıkla, kaç gün saklıyorsunuz? Müşteri "sitem gitti, geri getirin" dediğinde ne kadar geriye dönebiliyorsunuz? Bu, yazılı olmalıdır.
Ayrıca tek bir müşteriyi geri yükleyebilmelisiniz — tüm sunucuyu eski tarihe döndürmek, diğer müşterilerin verisini de geri alır ve kabul edilemez.
Kesinti ve SLA
Müşteriye ne taahhüt ediyorsunuz? Kendi sağlayıcınızdan aldığınız taahhütten fazlasını vermeyin — arada kalırsınız.
Veri Sahipliği ve Çıkış
Müşteri ayrılmak isterse verisinin tam yedeğini alabiliyor mu? Bu, hem hukuki bir gereklilik hem itibar meselesidir. Devredemediğiniz bir hesap, müşteriyi zorla tutmak anlamına gelir.
Kişisel Veri
Müşterinizin sitesindeki ziyaretçi verileri de sizin sunucunuzda durur. Veri işleyen taraf olarak yükümlülükleriniz vardır ve bunlar sözleşmede tanımlanmalıdır. Bu konuda hukuki görüş almak yerinde olur.
Operasyonel Düzen
- Standart paketler tanımlayın. Her müşteri için elle limit girmek yerine paket şablonları oluşturun — hem hızlı hem tutarlı olur.
- Hesap açılış kontrol listesi kullanın. SSL, e-posta doğrulama kayıtları, yedekleme, PHP sürümü, kaynak limitleri. Her hesapta aynı adımlar uygulansın.
- Kaynak kullanımını izleyin. Hangi müşteri limitine yaklaşıyor? Sorun çıkmadan önce konuşun — bu, hem hizmet kalitesi hem satış fırsatıdır.
- Güncelleme durumunu takip edin. Müşteri sitelerindeki güncellenmemiş bileşenler, sizin sunucunuzda güvenlik olayına dönüşür. Bu takip sizin çıkarınızadır.
- Envanter tutun. Hangi müşteri hangi hesapta, hangi alan adları, hangi paket, sözleşme ne zaman yenileniyor?
Güvenlik: Ek Katmanlar
Çoklu müşteri barındırmada standart sertleştirmenin üzerine eklenmesi gerekenler:
- Yükleme dizinlerinde betik çalıştırmayı engelleyin. Her hesap için. Bu, en yaygın site ele geçirme yöntemini kapatır.
- Hesaplar arası okuma erişimini kapatın. Bir hesabın kullanıcısı, diğer hesapların dizinlerini listeleyememelidir.
- Giden e-posta hacmini izleyin. Ele geçirilen bir müşteri hesabı, sunucunuzu spam kaynağına çevirir ve tüm müşterilerinizin e-posta teslimatını etkiler.
- Zararlı dosya taraması kurun. Düzenli tarama, sorunu müşteri fark etmeden yakalar.
- Hesap bazında izleme. Hangi hesabın kaynak tüketimi anormal artıyor? Bu, hem performans hem güvenlik göstergesidir.
Ne Zaman Ayrı Sunucu?
Bazı müşteriler ortak sunucuda barındırılmamalıdır:
- Yüksek trafikli e-ticaret siteleri — kaynak tüketimleri diğerlerini etkiler
- Özel uyum gereksinimleri olan müşteriler
- Sunucu düzeyinde özel yapılandırma isteyen projeler
- Kesinti toleransı çok düşük kritik sistemler
Bu müşterilere ayrı sunucu önermek, hem teknik olarak doğru hem ticari olarak değerlidir.
Sonuç
Müşteri sitelerini kendi sunucunuzda barındırmak, doğru kurulduğunda hem gelir hem kontrol sağlar. Ancak iki şey pazarlıksızdır: hesapların birbirinden gerçekten izole olması ve kaynak limitlerinin hesap bazında tanımlanması. Bunlar kurulmadan yapılan barındırmada, bir müşterinin sorunu tüm müşterilerinizi etkiler ve sorumluluk sizde kalır. Teknik tarafın ötesinde ise sözleşme netliği gerekir — özellikle yedekleme kapsamı ve müşterinin ayrılma hakkı konusunda.
Sıkça Sorulan Sorular (SSS)
Panel kurmak zorunda mıyım?
Zorunlu değil ama çoklu müşteri barındırmada emek/fayda oranı yüksektir: hesap izolasyonu, müşteri paneli, kaynak limitleri ve yedekleme yönetimi hazır gelir. Panelsiz kurulumda bunların hepsini elle yapılandırmanız gerekir.
Bir sunucuda kaç müşteri barındırabilirim?
Müşteri sayısından çok toplam kaynak tüketimi belirleyicidir. Düşük trafikli tanıtım siteleri çok sayıda olabilirken, birkaç aktif e-ticaret sitesi sunucuyu doldurabilir. Hesap bazında izleme kurun ve eşiklere yaklaştıkça durun.
Müşterinin sitesi hacklenirse sorumlu kim?
Sözleşmede ne yazdığına bağlıdır — ve yazmıyorsa tartışma çıkar. Barındırma mı sunuyorsunuz, site bakımı da dahil mi? Güncellemeleri kim yapıyor? Bu ayrımı yazılı olarak netleştirin. Teknik olarak ise izolasyon, olayın diğer müşterilere yayılmasını engeller.
Tek bir müşteriyi geri yükleyebilmeli miyim?
Evet, bu bir gerekliliktir. Tüm sunucuyu eski tarihe döndürmek diğer müşterilerin verisini de geri alır ve kabul edilemez. Yedekleme mimarinizi hesap bazında seçici geri yüklemeye izin verecek şekilde kurun.