cPanel ve WHM kullanan bir hosting ortamında Apache’den daha iyi performans almak istiyorsanız, OpenLiteSpeed entegrasyonu ciddi bir alternatif sunuyor. Bu yazıda, OLS’yi cPanel ekosistemiyle nasıl birlikte çalıştırabileceğinizi, hangi araçları kullanmanız gerektiğini ve gerçek dünya senaryolarında karşılaşabileceğiniz sorunları ele alacağız.
OpenLiteSpeed ve cPanel Entegrasyonuna Genel Bakış
cPanel/WHM, varsayılan olarak Apache web sunucusuyla gelir. Apache köklü ve stabil bir çözüm olsa da, yüksek trafikli ortamlarda bellek tüketimi ve eşzamanlı bağlantı yönetimi konusunda ciddi darboğazlar yaratabilir. OpenLiteSpeed ise event-driven mimarisiyle çok daha az kaynak kullanarak benzer veya daha iyi performans sağlar.
LiteSpeed Technologies, cPanel entegrasyonu için iki farklı yol sunuyor. Birincisi tam lisanslı LiteSpeed Enterprise (ücretli), ikincisi ise ücretsiz olan OpenLiteSpeed. OpenLiteSpeed’in cPanel entegrasyonu, LiteSpeed Enterprise kadar sorunsuz değil ama ücretsiz olduğu düşünüldüğünde oldukça güçlü bir seçenek.
Entegrasyonun temel bileşenleri şunlar:
- CyberPanel: OLS için geliştirilmiş cPanel alternatifi (ancak bu yazıda cPanel/WHM üzerinde OLS kullanmaya odaklanacağız)
- lsws-cpanel eklentisi: WHM içinden OLS yönetimi için
- LSCache modülü: WordPress ve diğer CMS’ler için önbellek katmanı
- CloudLinux entegrasyonu: Çok kiracılı hosting ortamları için
Kurulum Öncesi Hazırlık
Kuruluma geçmeden önce sisteminizin uygun durumda olduğundan emin olmanız gerekiyor. Desteklenen işletim sistemleri AlmaLinux 8/9, CloudLinux 7/8, Rocky Linux 8/9 ve CentOS 7 olarak sayılabilir.
Öncelikle mevcut Apache servisini kontrol edin ve sistem bilgilerini not alın:
# Mevcut Apache versiyonunu kontrol et
httpd -v
# Aktif servisleri listele
systemctl list-units --type=service --state=active | grep -E "(httpd|litespeed)"
# Sistem kaynak kullanımını gör
free -h
df -h
nproc
# cPanel versiyonunu kontrol et
/usr/local/cpanel/cpanel -V
cPanel’in güncel olduğundan emin olmak kritik. Eski sürümlerde entegrasyon eklentisi düzgün çalışmayabiliyor.
# cPanel güncelleme
/usr/local/cpanel/scripts/upcp --force
# WHM üzerinden güncel sürümü doğrula
cat /usr/local/cpanel/version
Ayrıca kurulumdan önce mevcut web sitelerinin yedeğini almanızı kesinlikle tavsiye ederim. Apache’den OLS’ye geçiş sürecinde bazı .htaccess kuralları beklenmedik davranışlar gösterebilir.
# Tüm cPanel hesaplarının yedeğini al
/usr/local/cpanel/scripts/pkgacct kullanici_adi /backup/dizin/
# Veya WHM üzerinden toplu yedekleme
/usr/local/cpanel/bin/backup --all-accounts
OpenLiteSpeed’i cPanel Ortamına Kurma
LiteSpeed’in resmi cPanel eklentisini indirip kuruyoruz. Bu eklenti, OLS’yi Apache’nin önüne geçici proxy olarak veya doğrudan web sunucusu olarak yapılandırmanıza olanak tanıyor.
# LiteSpeed eklenti deposunu ekle
cd /usr/src
wget -O lsws-cpanel-install.sh https://www.litespeedtech.com/packages/cpanel/lsws-cpanel-install.sh
# Scriptin içeriğini kontrol et (güvenlik alışkanlığı)
head -50 lsws-cpanel-install.sh
# Kurulum scriptini çalıştır
bash lsws-cpanel-install.sh
Kurulum sırasında size birkaç soru sorulacak. Port yapılandırması için genellikle 8088 numaralı portu geçici yönetim portu olarak kullanıyoruz. Production ortamında bu portu firewall ile kısıtlamanızı öneririm.
Kurulumdan sonra OLS servisini başlatın ve durumunu kontrol edin:
# OpenLiteSpeed servisini başlat
systemctl start lsws
systemctl enable lsws
# Servis durumunu kontrol et
systemctl status lsws
# Log dosyalarını izle
tail -f /usr/local/lsws/logs/error.log
tail -f /usr/local/lsws/logs/access.log
WHM Üzerinden OpenLiteSpeed Yönetimi
Kurulum tamamlandıktan sonra WHM’de LiteSpeed Web Server bölümü otomatik olarak görünecek. Buradan temel yapılandırmaları yapabilirsiniz. Ancak derin ayarlar için OLS’nin kendi yönetim panelini kullanmak daha pratik.
OLS admin paneline erişim için:
# Admin paneli şifresini sıfırla
/usr/local/lsws/admin/misc/admpass.sh
# Admin paneli varsayılan olarak 7080 portunda çalışır
# https://sunucu-ip:7080
WHM entegrasyonunun getirdiği en önemli özellik, Apache’nin .htaccess dosyalarını OLS’nin okuyabilmesi. Ancak bu işlem için uyumluluk katmanı etkinleştirilmeli:
# Apache uyumluluk modunu kontrol et
cat /usr/local/lsws/conf/httpd_config.xml | grep -i "apacheconf"
# cPanel/WHM tarafından yönetilen Apache config dosyasını OLS'ye bağla
# Bu işlem genellikle eklenti kurulumunda otomatik yapılır ama doğrulamak önemli
ls -la /usr/local/lsws/conf/vhosts/
Virtual Host Yapılandırması
cPanel’de her hosting hesabı için ayrı bir virtual host oluşturulur. OLS bu yapıyı otomatik olarak tanır ve /var/cpanel/userdata/ dizinindeki bilgileri kullanır.
# cPanel kullanıcı virtual host bilgilerini listele
ls /var/cpanel/userdata/
# Belirli bir kullanıcının domain bilgilerini gör
cat /var/cpanel/userdata/kullanici_adi/domain.com
# OLS'nin oluşturduğu virtual host config dosyalarını kontrol et
ls /usr/local/lsws/conf/vhosts/
cat /usr/local/lsws/conf/vhosts/domain.com/vhconf.xml
Bazen cPanel hesabı oluşturduktan sonra OLS yapılandırması otomatik güncellenmiyor. Bu durumda yapılandırmayı manuel senkronize etmeniz gerekiyor:
# cPanel ve OLS yapılandırmasını senkronize et
/usr/local/cpanel/scripts/rebuildhttpdconf
/usr/local/lsws/bin/lshttpd -t # Yapılandırma test
systemctl reload lsws
# Veya WHM'den "Rebuild HTTP Configuration" çalıştırın
/usr/local/cpanel/scripts/restartsrv_httpd
LSCache Entegrasyonu ve Yapılandırması
OpenLiteSpeed’in en güçlü özelliklerinden biri LSCache (LiteSpeed Cache) modülü. WordPress siteleri için bu önbellek sistemi, Redis veya Memcached’e kıyasla çok daha kolay yapılandırılıyor ve sunucu seviyesinde çalışıyor.
# LSCache modülünün yüklü olduğunu doğrula
/usr/local/lsws/bin/lshttpd -m | grep cache
# WordPress için LSCache eklentisini WP-CLI ile kur
cd /home/kullanici_adi/public_html
wp plugin install litespeed-cache --activate --allow-root
# Tüm cPanel hesaplarında toplu LSCache aktivasyonu
for user in $(ls /var/cpanel/users/); do
wp --path="/home/$user/public_html" plugin install litespeed-cache --activate --allow-root 2>/dev/null
done
LSCache yapılandırması için /usr/local/lsws/conf/httpd_config.xml dosyasında cache storage bölümünü düzenlemeniz gerekiyor:
# Cache dizini oluştur ve izinleri ayarla
mkdir -p /usr/local/lsws/cachedata
chown -R nobody:nobody /usr/local/lsws/cachedata
chmod 755 /usr/local/lsws/cachedata
# Cache yapılandırmasını kontrol et
grep -A 10 "cacheStorage" /usr/local/lsws/conf/httpd_config.xml
PHP Yapılandırması: CloudLinux ve MultiPHP Entegrasyonu
cPanel ortamlarında CloudLinux ile birlikte CageFS ve PHP Selector kullanmak çok yaygın. OLS bu yapıyla entegre çalışabilir ama biraz dikkat gerektirir.
# PHP handler tipini kontrol et
cat /usr/local/cpanel/conf/cpanel.config | grep phphandler
# OLS için PHP LSAPI handler ayarla
# Her PHP versiyonu için ayrı LSAPI worker tanımlanmalı
ls /usr/local/lsws/fcgi-bin/
# PHP versiyonlarını listele
ls /usr/local/bin/php*
/usr/local/cpanel/bin/rebuild_phpconf --all
# cPanel MultiPHP ile OLS entegrasyonu için
# WHM > MultiPHP Manager > Sistem default PHP belirle
# Ardından OLS yapılandırmasında LSAPI worker güncelle
CloudLinux entegrasyonunda en sık karşılaştığım sorun, CageFS ile OLS socket dosyalarının birbirini bulamaması. Şu şekilde çözüyorum:
# CageFS socket dizinini OLS ile paylaş
cagefsctl --addsock /usr/local/lsws/tmp
cagefsctl --update-etc --all
# Veya belirli bir kullanıcı için
cagefsctl --addsock /usr/local/lsws/tmp
cagefsctl --update-etc kullanici_adi
# Değişiklikleri uygula
cagefsctl --remount-all
SSL Sertifika Yönetimi
cPanel’in AutoSSL özelliği ve Let’s Encrypt entegrasyonu OLS ile birlikte çalışır. Ancak sertifika yenileme sürecinde dikkat edilmesi gereken noktalar var.
# AutoSSL yapılandırmasını kontrol et
/usr/local/cpanel/bin/autossl_check --all
# Let's Encrypt sertifikalarının konumunu doğrula
ls /etc/letsencrypt/live/
ls /var/cpanel/ssl/cpanel/
# OLS'nin sertifika yolunu okuduğunu test et
openssl s_client -connect domain.com:443 -servername domain.com 2>/dev/null | openssl x509 -noout -dates
# SSL yapılandırmasını OLS üzerinden kontrol et
grep -r "ssl" /usr/local/lsws/conf/vhosts/domain.com/
Bazen cPanel yeni sertifika kurduğunda OLS yapılandırması güncellenmeyebiliyor. Bu sorun için bir hook scripti oluşturmak işe yarıyor:
# cPanel hook dizini
mkdir -p /usr/local/cpanel/scripts/postrestart.d/
# OLS yeniden yükleme hook'u oluştur
cat > /usr/local/cpanel/scripts/postrestart.d/reload-lsws.sh << 'EOF'
#!/bin/bash
# cPanel servis yeniden başlatma sonrası OLS'yi yenile
systemctl reload lsws
logger "OLS reloaded after cPanel service restart"
EOF
chmod +x /usr/local/cpanel/scripts/postrestart.d/reload-lsws.sh
Performans Tuning ve Optimizasyon
Entegrasyon çalışır hale geldiğinde performansı optimize etmek için birkaç kritik ayar yapmanız gerekiyor.
Worker Process Ayarları: OLS varsayılan olarak CPU çekirdek sayısına göre worker process sayısını belirliyor. Ancak cPanel ortamlarında bu değeri manuel ayarlamak genellikle daha iyi sonuç veriyor.
# CPU çekirdek sayısını öğren
nproc
# OLS ana yapılandırma dosyasını düzenle
# /usr/local/lsws/conf/httpd_config.xml içinde serverName, tuning bölümlerini düzenle
# Mevcut OLS process'lerini listele
ps aux | grep lshttpd
# Bağlantı limitlerini ve worker sayısını kontrol et
grep -E "(maxConnections|maxSSLConnections|workerProcesses)" /usr/local/lsws/conf/httpd_config.xml
Rate Limiting ve DDoS Koruması: OLS’nin built-in rate limiting özelliği Apache’den çok daha granüler kontrol sağlıyor.
# IP bazlı bağlantı limitini kontrol et
grep -A 5 "perClientConnLimit" /usr/local/lsws/conf/httpd_config.xml
# Mod_security ile OLS entegrasyonu
# OLS modsecurity modülü yüklü mü kontrol et
ls /usr/local/lsws/modules/ | grep modsec
# WAF kurallarını kontrol et
ls /usr/local/lsws/conf/modsec/
Yaygın Sorunlar ve Çözümleri
.htaccess Uyumsuzlukları
Apache’den OLS’ye geçişteki en yaygın sorun, bazı .htaccess direktiflerinin farklı davranması. OLS büyük çoğunluğu destekliyor ama birkaç istisna var.
Sorunlu direktifler genellikle şunlar:
- Options Indexes: OLS’de farklı şekilde yapılandırılıyor
- php_value ve php_flag: LSAPI modunda desteklenmiyor,
.user.iniile çözülüyor - mod_rewrite kuralları: Büyük çoğunluk çalışıyor ama edge case’ler var
# .htaccess kurallarını OLS ile test et
/usr/local/lsws/bin/lshttpd -t 2>&1 | grep -i "error|warning"
# PHP direktiflerini .user.ini ile değiştir
# .htaccess'teki php_value ile ayarlanan değerlerin karşılığı:
cat > /home/kullanici_adi/public_html/.user.ini << 'EOF'
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
memory_limit = 256M
EOF
# İzinleri ayarla
chown kullanici_adi:kullanici_adi /home/kullanici_adi/public_html/.user.ini
chmod 644 /home/kullanici_adi/public_html/.user.ini
Log Rotasyon Yapılandırması
cPanel’in kendi log rotasyon mekanizmasıyla OLS’nin logları çakışabilir. Bu durumu düzeltmek için:
# OLS log yapılandırmasını kontrol et
grep -A 10 "accessLog" /usr/local/lsws/conf/httpd_config.xml
# Logrotate yapılandırması oluştur
cat > /etc/logrotate.d/lsws << 'EOF'
/usr/local/lsws/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
sharedscripts
postrotate
kill -USR1 $(cat /usr/local/lsws/logs/lshttpd.pid 2>/dev/null) 2>/dev/null || true
endscript
}
EOF
# Logrotate test et
logrotate -d /etc/logrotate.d/lsws
Monitoring ve Alarm Kurulumu
Üretim ortamında OLS’nin sağlığını izlemek için basit ama etkili monitoring kurabilirsiniz:
# OLS durum sayfasını etkinleştir (admin panelinden veya config ile)
# Status URL genellikle http://localhost:8088/server-status şeklinde
# Basit uptime kontrolü scripti
cat > /usr/local/bin/check-lsws.sh << 'EOF'
#!/bin/bash
if ! systemctl is-active --quiet lsws; then
echo "OLS servisi durdu! Yeniden başlatılıyor..." | mail -s "OLS Alert - $(hostname)" [email protected]
systemctl restart lsws
logger "OLS was down and restarted automatically"
fi
EOF
chmod +x /usr/local/bin/check-lsws.sh
# Crontab'a ekle
echo "*/5 * * * * /usr/local/bin/check-lsws.sh" | crontab -
WHM’deki Service Manager üzerinden de OLS servis denetimini aktif edebilirsiniz. Bu sayede cPanel’in kendi monitoring sistemi OLS’yi de takip eder.
Geri Dönüş Planı
Prodüksiyonda her zaman geri dönüş planınız olmalı. OLS sorun çıkarırsa hızlıca Apache’ye dönmek için:
# OLS'yi durdur ve Apache'yi başlat
systemctl stop lsws
systemctl start httpd
# Portları kontrol et (her iki servis de aynı portları kullanamaz)
ss -tlnp | grep -E "(:80|:443)"
# cPanel Apache yapılandırmasını yenile
/usr/local/cpanel/scripts/rebuildhttpdconf
/usr/local/cpanel/scripts/restartsrv_httpd
# Geri dönüş sonrası web sitelerini test et
for domain in $(cat /etc/userdomains | awk '{print $2}'); do
curl -s -o /dev/null -w "%{http_code} $domainn" http://$domain
done
Apache’ye kalıcı olarak geri dönmek isterseniz OLS’yi tamamen kaldırmanız gerekiyor:
# OLS eklentisini kaldır
/usr/local/lsws/admin/misc/uninstall.sh
# cPanel servis yapılandırmasını sıfırla
/usr/local/cpanel/scripts/restartsrv_httpd --start
Sonuç
OpenLiteSpeed’i cPanel/WHM ortamıyla entegre etmek, doğru yapıldığında gerçekten anlamlı performans kazanımları sağlıyor. Özellikle WordPress tabanlı hosting ortamlarında LSCache ile birlikte Apache’ye kıyasla çok daha iyi yanıt süreleri ve daha düşük kaynak tüketimi elde ediyorsunuz.
Ancak bu entegrasyonun bazı trade-off’ları var. Birincisi, cPanel güncellemeleri bazen OLS yapılandırmasını bozabiliyor ve her güncellemeden sonra test etmek gerekiyor. İkincisi, sorun giderme sürecinde Apache’ye kıyasla daha az topluluk kaynağı bulunuyor. Üçüncüsü, CloudLinux ile birlikte kurulumda ekstra yapılandırma adımları gerekiyor.
Benim önerim şu: Önce birkaç düşük trafikli site ile başlayın, davranışı gözlemleyin, ardından kritik sitelere geçin. Acele etmeyin. Bu tür altyapı değişiklikleri hızlı değil, kontrollü yapıldığında başarıya ulaşıyor. Ve her şeyden önce, kapsamlı yedekleriniz olsun, her ihtimale karşı.