JekCMS'i müşteri portföyü genelinde işletmek teknik kurulumdan fazlasını gerektirir. Güvenilir bir dağıtım süreci, müşteri özelleştirmelerini bozmadan güncellemeleri aktarma yöntemi, faturalandırma iş akışı ve net bir destek sürecine ihtiyaç duyarsınız.
Her yeni JekCMS kurulumunun müşteriye teslimden önce tamamladığı bir dağıtım kontrol listesini Notion'da tutuyoruz. Kontrol listesi altı kategori üzerinde 30 öğeyi kapsıyor: ortam yapılandırması, veritabanı kurulumu, SMTP doğrulaması, önbellek ısınması, müşterinin kullanacağı her yönetim paneli bölümünün işlevsel testi ve güvenlik incelemesi. Kontrol listesi, son kırk dağıtımın yedisinde üretimde sorun yaratacak yapılandırma hatalarını tespit etti.
Müşteri Özelleştirmelerini Ayrı Tutmak
Müşteri özelleştirmeleri, çekirdek JekCMS dizin ağacının dışında bulunan özel bir client/ dizininde yaşıyor. Bu, JekCMS'in müşteri dosyalarına dokunmadan güncellenebileceği anlamına geliyor. Müşteri dizinindeki functions.php, davranışı değiştirmek için standart hook API'sini kullanıyor; JekCMS büyük bir sürümde hook imzalarını değiştirirse yalnızca müşteri dizini güncellenmesi gerekiyor, çekirdek değil. Bu mimari sayede JekCMS güncellemeleri müşteri özelleştirmelerini bozmıyor.
Ajans Ölçeğinde Lisanslama
Lisanslama için ajans koltuğu başına 25 kuruluma kadar kapsayan JekCMS Agency lisanslarını kullanıyoruz. Her müşteri sitesi, kendi etki alanına bağlı benzersiz bir lisans anahtarı alıyor. Bir müşteri ayrılırsa anahtarı devre dışı bırakıyoruz. Lisanslama kontrol paneli hangi sitelerin aktif olduğunu, her lisansın ne zaman dolacağını ve her sitenin mevcut JekCMS sürümünü çalıştırıp çalıştırmadığını gösteriyor.
Gerçekten İşleyen Destek Yükseltme Süreci
Destek yükseltme tanımlı bir yolu izliyor: müşteri proje yöneticisine e-posta gönderiyor, proje yöneticisi dört iş saati içinde öncelik belirliyor. JekCMS çekirdeğindeki hatalar JekCMS destek kanalına gidiyor; müşteriye özgü sorunlar — tema sorunları, içerik soruları, yönetim paneli kullanımı — dahili kalıyor. Müşterilere doğrudan SSH veya veritabanı erişimi vermiyoruz; tüm değişiklikler CMS ya da geri alma adımı içeren belgelenmiş bir dağıtım süreciyle gerçekleşiyor.
Betiklerle Dağıtım Otomasyonu
Manuel dağıtımlar beş müşterinin ötesinde ölçeklenmez. Yeni bir JekCMS kurulumunun tam yaşam döngüsünü yöneten bir dağıtım betiği sürdürüyoruz:
#!/bin/bash
# deploy-client.sh - Yeni JekCMS müşteri dağıtımı
SITE_SLUG=$1
DOMAIN=$2
# Temel kurulumu kopyala
cp -r /opt/jekcms-base /var/www/$SITE_SLUG
# Benzersiz yapılandırma oluştur
php tools/generate-config.php \
--slug=$SITE_SLUG \
--domain=$DOMAIN \
--db-name=jekcms_$SITE_SLUG
# Veritabanı kurulumunu çalıştır
mysql -u root -p < database/schema.sql
# İzinleri ayarla
chmod 755 cache/ uploads/ logs/
Betik 90 saniyenin altında çalışır ve doğru veritabanı, yapılandırma ve dosya izinleriyle çalışan bir JekCMS kurulumu üretir. Her dağıtımı tarih, müşteri adı, domain ve JekCMS sürümüyle paylaşılan bir tabloda kaydediyoruz.
Müşteri Siteleri Genelinde Toplu Güncelleme
Yeni bir JekCMS sürümü yayınlandığında tüm müşteri sitelerini 72 saat içinde güncelliyoruz. Güncelleme süreci, değişiklikleri uygulamadan önce yedek oluşturan yerleşik Updater sınıfını kullanır. Güncelleme betiğimiz tüm müşteri dizinlerinde yineleyerek her biri için güncellemeyi çalıştırır. Başarısız olan siteler otomatik olarak geri alınır ve manuel inceleme için işaretlenir.
Faturalandırma ve Lisans Yönetimi
Lisans Anahtarı Yaşam Döngüsü
Her müşteri, domain'ine bağlı benzersiz bir lisans anahtarı alır. Anahtar yaşam döngüsü tanımlı bir süreç izler:
- Sağlama: Anahtar satış sürecinde oluşturulur ve müşteri kaydıyla birlikte CRM'de saklanır
- Aktivasyon: Anahtar dağıtım sırasında girilir ve üretim domain'ine karşı aktive edilir
- Yenileme: Anahtarlar yıllık yenilenir. Son kullanma tarihinden 60, 30 ve 7 gün önce hatırlatma göndeririz
- Devre dışı bırakma: Müşteri ayrıldığında anahtar devre dışı bırakılır ve yeni bir kurulum için yer açılır
Müşteri Başına Maliyet Takibi
Müşteri başına üç maliyet kategorisi izliyoruz: barındırma (ayrılan sunucu kaynakları), bakım (güncelleme ve desteğe harcanan saatler) ve lisanslama (JekCMS lisans ücretleri). Müşteri başına ortalama aylık maliyet barındırma için 45 dolar, bakım için 120 dolar (iç tarife üzerinden yaklaşık 1,5 saat) ve lisanslama için 25 dolar. Bu rakamlar fiyatlandırmamızı bilgilendiriyor — mevcut ekip büyüklüğümüzde aylık 250 doların altında fiyatlandırılan herhangi bir müşteri planı karsız oluyor.
Müşteri Uyum Sürecinde En İyi Uygulamalar
- Yönetim panelinin müşterinin gerçek içeriğiyle özelleştirilmiş 15 dakikalık ekran kaydı yapın — genel belgeler göz ardı edilir
- Müşterinin canlı siteyi etkilemeden deneme yapabileceği bir "sandbox" yönetici hesabı oluşturun
- Müşteri tarafında tek bir iletişim noktası belirleyin — birden fazla kişi çelişen değişiklik taleplerine yol açar
- Yanıt süreleri hakkında beklentileri proje başlamadan önce yazılı olarak belirleyin
- Tüm müşteriye özgü özelleştirmeleri kurulum dizinindeki bir not dosyasında belgeleyin
- Müşterinin sistemi bağımsız kullandıktan sonra ortaya çıkan soruları ele almak için 30 günlük bir kontrol görüşmesi planlayın