Kendi Sunucunuzdaki VeloCMS'te Çoklu Kiracı Modunu Etkinleştirme
Tek blog modundan çoklu kiracı moduna geçin ve tek bir kurulumla birden fazla bağımsız blog çalıştırın. Her blogun kendi veritabanı ve medya depolama alanı olur.
Kendi sunucunuza kurduğunuz VeloCMS, varsayılan olarak tekil modda çalışır: yani tek bir blog, tek bir veritabanı ve tüm özellikler size özeldir. Ama diyelim ki küçük bir SaaS işletmek, bir ajans olarak müşteri sitelerini barındırmak ya da birbiriyle bağlantılı bir blog ailesi kurmak istiyorsunuz. İşte o zaman tek bir ortam değişkenini değiştirerek çoklu kiracı moduna kolayca geçebilirsiniz.
Çoklu Kiracı Modu Ne İşe Yarar?
Çoklu kiracı modunda VeloCMS, her bir blog (yani kiracı) için ayrı bir PocketBase veritabanı oluşturur. Böylece A Kiracısı'nın yazıları, üyeleri ve ayarları, B Kiracısı'nınkilerden tamamen ayrı tutulur. Ana veritabanı ise kimlik doğrulama, faturalandırma ve kiracı kaydı gibi merkezi işleri üstlenir. Kiracılar kendi bloglarına `altalanadi.alanadiniz.com` üzerinden erişir ve birbirlerinin verilerini kesinlikle göremezler.
Tekil moddan çoklu kiracı moduna geçişin geri dönüşü yok, bu tek yönlü bir işlemdir. Otomatik bir geri alma mekanizması bulunmuyor. Bu yüzden bu işlemi ya sıfırdan, temiz bir kurulum üzerinde yapın ya da geçiş yapmadan önce mutlaka tam bir yedek alın.
Gerekenler
- Sunucunuzun IP adresine yönlendirilmiş bir wildcard DNS kaydı: `*.alanadiniz.com`.
- `*.alanadiniz.com` için bir wildcard SSL sertifikası (Let's Encrypt'in Certbot ile DNS doğrulaması veya Cloudflare üzerinden proxy'lenmiş bir wildcard olabilir).
- `.env` dosyasına erişiminizin olduğu bir VeloCMS Docker Compose kurulumu.
Çoklu Kiracı Modunu Etkinleştirme
`.env` dosyanızı açın ve `VELOCMS_MODE=single` ayarını `VELOCMS_MODE=multi` olarak değiştirin. Aynı dosyada `NEXT_PUBLIC_PLATFORM_DOMAIN=alanadiniz.com` şeklinde ana alan adınızı da belirtmeniz gerekiyor (kiracı blogları `*.alanadiniz.com` adresinden sunulacak). Sonra konteynerleri yeniden başlatın: `docker compose down && docker compose up -d`. Çoklu kiracı modundaki ilk açılışta Ana veritabanı için gereken taşıma işlemi otomatik olarak yapılır.
# .env changes required for multi-tenant
VELOCMS_MODE=multi
NEXT_PUBLIC_PLATFORM_DOMAIN=yourdomain.com
NEXT_PUBLIC_SITE_URL=https://yourdomain.comİlk Kiracıyı Oluşturma
Çoklu kiracı modu aktifken, yeni kiracı hesapları tıpkı Velo'nun kendi barındırdığı versiyonundaki gibi `alanadiniz.com/signup` adresindeki kayıt akışı üzerinden oluşturulur. Kiracı, `kendi-blogu.alanadiniz.com` şeklinde bir alt alan adına sahip olur. Sunucu yöneticisi olarak siz, `:8090/admin` adresindeki Ana PocketBase yönetici panelinden tüm kiracıları görebilirsiniz. Bunun için `tenants` koleksiyonunu bulmanız yeterli.
Kiracı İzolasyonu Garantileri
Her kiracının veritabanı, kendi özel dizininde çalışan ayrı bir PocketBase örneğidir. Bu sayede, bir kiracının yönetici hesabı ele geçirilse bile diğer kiracının verilerine erişemez. Her koleksiyona uygulanan API kuralları, kiracı sahipliğini doğrudan veritabanı seviyesinde zorunlu kılar. Yani olur da uygulama kodunda bir açık bulunursa, veritabanı kuralları ikinci bir savunma hattı görevi görür.