OpenLiteSpeed Kurulum ve Admin Panel Yapılandırması

Web sunucusu dünyasında Apache ve Nginx uzun yıllardır dominantlığını korusa da, son yıllarda OpenLiteSpeed ciddi bir alternatif olarak öne çıkıyor. Özellikle WordPress ve PHP tabanlı uygulamalarda gösterdiği performans, birçok sysadmin’i bu sunucuya yöneltiyor. Ben de bir müşteri projesinde Apache’den OpenLiteSpeed’e geçiş yaparken neredeyse her adımda not tutmuştum. Bu yazıda o notları düzenleyerek kurulumdan admin panel yapılandırmasına kadar her şeyi aktaracağım.

OpenLiteSpeed Nedir ve Neden Kullanmalısınız?

OpenLiteSpeed, LiteSpeed Technologies tarafından geliştirilen açık kaynaklı bir web sunucusudur. Ticari kardeşi LiteSpeed Enterprise ile aynı motoru paylaşır, ancak bazı gelişmiş özellikler Enterprise versiyonda bulunur. Buna rağmen OpenLiteSpeed, özellikle şu senaryolarda Apache ve Nginx’e kıyasla ciddi avantajlar sunar.

Neden OpenLiteSpeed?

  • Event-driven mimari: Apache’nin process-based yapısının aksine, asenkron olay güdümlü mimari sayesinde yüksek eş zamanlı bağlantıları çok daha az kaynak kullanarak karşılar
  • LSCache desteği: WordPress için LSCache eklentisiyle entegre çalışarak önbellek yönetimini sunucu seviyesine taşır
  • HTTP/2 ve HTTP/3 desteği: Varsayılan olarak modern protokol desteği sunar
  • Web tabanlı yönetim paneli: Nginx’in aksine, yapılandırma değişikliklerini grafik arayüz üzerinden yapabilirsiniz
  • PHP işleme performansı: Özellikle LiteSpeed SAPI ile PHP-FPM’e göre belirgin hız farkı oluşturabilir

Tabii her şeyin bir dezavantajı var. Apache’nin .htaccess dosyası desteği OpenLiteSpeed’de tam anlamıyla yok, ancak kendi yapılandırma formatı olan .htaccess benzeri rewrite kurallarını destekliyor. Ayrıca topluluk büyüklüğü hâlâ Apache ve Nginx’in gerisinde.

Sistem Gereksinimleri ve Ön Hazırlık

Bu yazıda Ubuntu 22.04 LTS üzerinde kurulum yapacağız. Aynı adımlar Ubuntu 20.04 ve Debian 11/12 için de büyük ölçüde geçerli.

Minimum donanım gereksinimleri:

  • RAM: 512 MB (1 GB önerilir)
  • Disk: 10 GB boş alan
  • CPU: 1 çekirdek (2+ önerilir)
  • OS: Ubuntu 20.04/22.04, Debian 11/12, CentOS 7/8, AlmaLinux 8/9

Kuruluma başlamadan önce sistemi güncelleyelim ve gerekli araçları yükleyelim.

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget gnupg2 software-properties-common

Firewall kullanıyorsanız gerekli portları açmayı unutmayın. OpenLiteSpeed varsayılan olarak admin panel için 7080 portunu kullanır.

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 7080/tcp
sudo ufw reload
sudo ufw status

OpenLiteSpeed Kurulumu

OpenLiteSpeed’i Ubuntu/Debian sistemlere kurmanın en temiz yolu resmi repository’yi eklemektir. Manuel .deb paketi indirmek de mümkün, ancak güncelleme yönetimi açısından repository kullanmak çok daha pratik.

# LiteSpeed resmi repository'sini ekleyelim
wget -O - https://repo.litespeed.sh | sudo bash

# OpenLiteSpeed'i kuralım
sudo apt install -y openlitespeed

# Kurulum tamamlandı mı kontrol edelim
/usr/local/lsws/bin/lshttpd -v

Kurulum başarılıysa versiyon bilgisini göreceksiniz. OpenLiteSpeed varsayılan olarak /usr/local/lsws/ dizinine kurulur ve bu dizin yapısını tanımak ileride çok işinize yarayacak.

Dizin yapısı şu şekildedir:

  • /usr/local/lsws/bin/: Çalıştırılabilir dosyalar
  • /usr/local/lsws/conf/: Ana yapılandırma dosyaları
  • /usr/local/lsws/logs/: Log dosyaları
  • /usr/local/lsws/lsphp*/: PHP kurulum dizinleri
  • /usr/local/lsws/Example/: Örnek virtual host

PHP Kurulumu

OpenLiteSpeed, LiteSpeed PHP (LSPHP) adında kendi optimize edilmiş PHP paketlerini kullanır. Bu paketler, standart PHP-FPM’den daha iyi performans sunar çünkü LiteSpeed SAPI doğrudan sunucu ile entegre çalışır.

# PHP 8.2 kurulumu (veya ihtiyacınıza göre 8.1, 8.3)
sudo apt install -y lsphp82 lsphp82-common lsphp82-mysql lsphp82-curl 
  lsphp82-json lsphp82-opcache lsphp82-xml lsphp82-zip lsphp82-mbstring 
  lsphp82-intl lsphp82-imagick lsphp82-gd

# PHP binary'sinin yerini kontrol edelim
ls /usr/local/lsws/lsphp82/bin/

# PHP versiyonunu doğrulayalım
/usr/local/lsws/lsphp82/bin/php8.2 -v

Birden fazla PHP versiyonu kullanmak isteyebilirsiniz, bu oldukça yaygın bir senaryo. Örneğin bir müşteri uygulaması PHP 7.4 gerektirirken yeni projeler PHP 8.2 üzerinde çalışıyor olabilir. OpenLiteSpeed bunu virtual host seviyesinde yönetmenize olanak tanır, bunu admin panel bölümünde ele alacağız.

Servis Yönetimi

OpenLiteSpeed systemd ile entegre çalışır. Temel servis komutları şunlardır:

# Servisi başlat
sudo systemctl start lshttpd

# Servisi durdur
sudo systemctl stop lshttpd

# Servisi yeniden başlat (yapılandırma değişikliği sonrası)
sudo systemctl restart lshttpd

# Sistem açılışında otomatik başlaması için
sudo systemctl enable lshttpd

# Servis durumunu kontrol et
sudo systemctl status lshttpd

# Graceful restart (aktif bağlantıları kesmeden yeniden yükle)
sudo kill -USR1 $(cat /usr/local/lsws/logs/lshttpd.pid)

Üretim ortamlarında restart yerine graceful restart tercih edin. Bu sayede aktif bağlantılar kesilmeden yapılandırma değişiklikleri uygulanır. Özellikle yüksek trafikli sitelerde bu fark kritik öneme sahip.

Admin Panel Şifresini Belirleme

OpenLiteSpeed kurulumdan sonra otomatik bir admin şifresi oluşturmaz. İlk erişimden önce şifreyi elle belirlemeniz gerekir.

# Admin şifresini belirle
sudo /usr/local/lsws/admin/misc/admpass.sh

Bu komut size kullanıcı adı ve şifre soracak. Varsayılan kullanıcı adı admin‘dir, ancak değiştirebilirsiniz. Güçlü bir şifre kullanın, çünkü admin paneli dışarıya açık kalırsa ciddi güvenlik riski oluşturur.

Şifre belirlendikten sonra admin servisini başlatın:

sudo systemctl start lsws-admin 2>/dev/null || true
sudo /usr/local/lsws/admin/misc/rc-inst.sh 2>/dev/null || true

# Admin paneline erişim adresi:
# https://SUNUCU_IP:7080

Tarayıcınızdan https://SUNUCU_IP:7080 adresine gittiğinizde self-signed sertifika uyarısı alacaksınız, bunu geçerek devam edin. Üretim ortamında admin paneli için gerçek bir sertifika yapılandırabilirsiniz, ancak bu panel zaten dışarıdan erişilemez olmalı.

Admin Panel Genel Yapısı

Admin paneline ilk girdiğinizde sol menüde şu ana kategorileri göreceksiniz:

  • Dashboard: Sunucu genel durumu, aktif bağlantılar, req/sn grafikleri
  • Server Configuration: Global sunucu ayarları (MIME türleri, bağlantı limitleri, PHP ayarları)
  • Virtual Hosts: Web sitesi bazlı yapılandırmalar
  • Listeners: Port ve protokol dinleyicileri
  • Load Balancer: Yük dengeleme ayarları (kurumsal kullanım)
  • Actions: Graceful restart, log yönetimi

Dashboard üzerindeki grafikler gerçek zamanlı olarak güncellenir. Bir performans sorunu yaşandığında ilk kontrol noktanız burası olacak. Ben genellikle yeni bir site deploy ettiğimde birkaç dakika dashboard’u izlerim, istek sayılarının ve memory kullanımının nasıl seyrettiğine bakarım.

Server Configuration Ayarları

Admin panelinin en kritik kısımlarından biri Server Configuration bölümüdür. Buradan global PHP ayarları, bağlantı limitleri ve cache yapılandırması yapılır.

PHP Processor Ayarı

Server Configuration > External App bölümüne giderek PHP işlemcisini yapılandırın. Kurulumda varsayılan bir LSPHP processor genellikle tanımlıdır, ancak PHP 8.2 için şu ayarları kullanmanızı öneririm:

  • Name: lsphp82
  • Address: uds://tmp/lshttpd/lsphp82.sock (Unix socket, TCP’den hızlı)
  • Max Connections: 35 (başlangıç için iyi bir değer, sunucu RAM’ine göre artırın)
  • Initial Request Timeout: 60
  • Retry Timeout: 0
  • Response Buffering: No
  • Start By Server: Yes (Auto)
  • Command: /usr/local/lsws/lsphp82/bin/lsphp
  • Back Log: 100
  • Instances: 1 (otomatik yönetim)
  • Priority: 0
  • Memory Soft Limit: 2047M
  • Memory Hard Limit: 2047M
  • Process Soft Limit: 400
  • Process Hard Limit: 500

Bu değerler 2-4 GB RAM’li bir sunucu için makul başlangıç noktasıdır. Daha az RAM’iniz varsa Max Connections ve Process limitlerini düşürün.

Tuning Ayarları

Server Configuration > Tuning bölümü performans için kritik:

  • Max Connections: 10000 (sunucu kapasitesine göre)
  • Max SSL Connections: 10000
  • Connection Timeout: 300
  • Max Keep-Alive Requests: 10000
  • Smart Keep-Alive: Enabled
  • Keep-Alive Timeout: 5
  • Send Buffer Size: 0 (OS varsayılanı)
  • Receive Buffer Size: 0 (OS varsayılanı)

Virtual Host Oluşturma

Şimdi en sık yapılan işlemlerden birine gelelim: yeni bir web sitesi için virtual host oluşturma. Bunu hem admin panel üzerinden hem de komut satırından yapabilirsiniz.

Önce site dizinlerini oluşturalım:

# Site dizinlerini oluştur
sudo mkdir -p /var/www/example.com/{public_html,logs,ssl}

# İzinleri ayarla
sudo chown -R nobody:nogroup /var/www/example.com
sudo chmod -R 755 /var/www/example.com

# Test index sayfası oluştur
echo "<?php phpinfo(); ?>" | sudo tee /var/www/example.com/public_html/index.php

Admin panelinde Virtual Hosts > Add butonuna tıklayın ve şu değerleri girin:

  • Virtual Host Name: example.com
  • Virtual Host Root: /var/www/example.com/
  • Config File: /usr/local/lsws/conf/vhosts/example.com/vhconf.conf
  • Enable Scripts/ExtApps: Yes
  • Restrained: Yes

Config dosyası dizinini de oluşturun:

sudo mkdir -p /usr/local/lsws/conf/vhosts/example.com/

Virtual host oluşturduktan sonra General sekmesinde document root’u ayarlayın: /var/www/example.com/public_html/

Listener ile Virtual Host Bağlama

Virtual host’u bir listener’a bağlamadan site çalışmaz. Listeners bölümüne gidin, mevcut Default listener’ı düzenleyin (port 80) ve Virtual Host Mappings kısmına yeni sitenizi ekleyin:

  • Virtual Host: example.com
  • Domains: example.com, www.example.com

SSL/TLS Yapılandırması

Modern bir web sunucusunda SSL zorunludur. OpenLiteSpeed’de SSL yapılandırması oldukça basit. Önce Let’s Encrypt sertifikası alalım:

# Certbot kur
sudo apt install -y certbot

# Sertifikayı al (önce HTTP üzerinden doğrulama)
sudo certbot certonly --webroot 
  -w /var/www/example.com/public_html 
  -d example.com 
  -d www.example.com 
  --email [email protected] 
  --agree-tos 
  --no-eff-email

# Sertifika dosyaları şu konumlarda olacak:
# /etc/letsencrypt/live/example.com/fullchain.pem
# /etc/letsencrypt/live/example.com/privkey.pem

Admin panelinde HTTPS listener oluşturun: Listeners > Add

  • Listener Name: HTTPS
  • IP Address: ANY
  • Port: 443
  • Secure: Yes

SSL sekmesinde sertifika dosyalarını belirtin:

  • Private Key File: /etc/letsencrypt/live/example.com/privkey.pem
  • Certificate File: /etc/letsencrypt/live/example.com/fullchain.pem
  • CA Certificate Path: /etc/letsencrypt/live/example.com/chain.pem

Sertifika otomatik yenileme için bir cron job ekleyin:

# Sertifika yenileme ve OLS graceful restart
sudo crontab -e

# Şu satırı ekleyin:
0 3 * * * certbot renew --quiet && kill -USR1 $(cat /usr/local/lsws/logs/lshttpd.pid)

Rewrite Kuralları ve .htaccess

WordPress gibi uygulamalar için URL yönlendirme kuralları gereklidir. OpenLiteSpeed .htaccess dosyalarını okuyabilir, ancak bunun için virtual host’ta Enable .htaccess seçeneğini aktif etmeniz gerekir.

Admin panelinde Virtual Hosts > example.com > General altındaki Enable .htaccess seçeneğini Yes yapın. Ardından Apache uyumlu rewrite kurallarınız çalışacaktır.

WordPress için standart .htaccess:

cat > /var/www/example.com/public_html/.htaccess << 'EOF'
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
EOF

LSCache Yapılandırması

OpenLiteSpeed’in en güçlü özelliklerinden biri LSCache’dir. WordPress ile kullanıldığında sayfa yükleme sürelerini dramatik biçimde düşürebilir. Önce cache dizinini oluşturun:

sudo mkdir -p /tmp/lscache
sudo chown nobody:nogroup /tmp/lscache

Admin panelinde Server Configuration > Cache bölümüne gidin ve şu ayarları yapın:

  • Enable Cache: Yes
  • Cache Storage Path: /tmp/lscache
  • Default Cache Policy: Enable tüm cache seçenekleri
  • Cache Expire Time: 86400 (1 gün)
  • Private Cache Expire Time: 3600

WordPress için LSCache eklentisini de yüklemeyi unutmayın. Eklenti, OpenLiteSpeed’in cache motorunu doğrudan yönetir ve siz post yayınladığınızda veya güncellediğinizde ilgili cache otomatik temizlenir. Bu kombinasyon, benim test ettiğim senaryolarda WP Rocket gibi ücretli eklentilerle bile rekabet edebilecek performans sundu.

Log Yönetimi ve Troubleshooting

Sorun yaşadığınızda ilk bakmanız gereken yer log dosyalarıdır:

# Ana error log
sudo tail -f /usr/local/lsws/logs/error.log

# Access log
sudo tail -f /usr/local/lsws/logs/access.log

# Virtual host bazlı log (eğer yapılandırdıysanız)
sudo tail -f /var/www/example.com/logs/error.log

# PHP hataları için
sudo tail -f /usr/local/lsws/logs/stderr.log

Yaygın sorunlar ve çözümleri:

  • 503 Service Unavailable: PHP external app başlayamamıştır. ps aux | grep lsphp ile PHP process’lerinin çalışıp çalışmadığını kontrol edin. Genellikle izin problemi veya yanlış binary yolu kaynaklıdır.
  • 508 Loop Detected: Rewrite kurallarında sonsuz döngü var demektir. .htaccess dosyasını kontrol edin.
  • Admin panel açılmıyor: sudo systemctl status lshttpd ile servis durumuna bakın, ardından 7080 portunun firewall’da açık olduğunu doğrulayın.
# Yapılandırma dosyasını syntax hatası için kontrol et
sudo /usr/local/lsws/bin/lshttpd -t

# Servis log'larını incele
sudo journalctl -u lshttpd -n 100 --no-pager

Güvenlik Sertleştirme Adımları

Kurulum ve yapılandırma tamamlandıktan sonra bazı güvenlik adımları atmanız şiddetle tavsiye edilir.

Admin panel erişimini kısıtlamak için iptables veya ufw kullanın, 7080 portuna sadece kendi IP adresinizden erişime izin verin:

# Sadece belirli IP'den admin panel erişimine izin ver
sudo ufw deny 7080
sudo ufw allow from 203.0.113.10 to any port 7080

# Server bilgisi header'ını gizle
# Admin Panel > Server Configuration > General > Hide Version Number: Yes

Admin panelinde yapmanız gereken diğer güvenlik ayarları:

  • Server Configuration > Security: Click-jacking korumasını aktif edin
  • Server Configuration > General > Hide Version Number: Yes olarak ayarlayın
  • Varsayılan örnek sayfayı kaldırın: sudo rm -rf /usr/local/lsws/DEFAULT/

Performans Karşılaştırması ve Gerçek Dünya Sonuçları

Geçen yıl bir e-ticaret projesi için Apache’den OpenLiteSpeed’e geçiş yaptım. 15.000 aylık benzersiz ziyaretçisi olan, WooCommerce tabanlı bir site için şu sonuçları aldım:

  • Sunucu yanıt süresi: 450ms’den 120ms’ye düştü
  • Eş zamanlı bağlantı kapasitesi: Aynı donanımda yaklaşık 3 kat artış
  • RAM kullanımı: Apache + mod_php kombinasyonuna göre yüzde 40 düşüş
  • CPU kullanımı: Yoğun trafik dönemlerinde yüzde 35 azalma

Bu rakamlar her ortam için geçerli olmayabilir, özellikle statik içerik ağırlıklı sitelerde Nginx ile OpenLiteSpeed arasındaki fark daha az belirgindir. Ancak PHP ağırlıklı dinamik içerikte LSCache ile birlikte OpenLiteSpeed gerçekten fark yaratıyor.

Sonuç

OpenLiteSpeed, özellikle PHP tabanlı uygulamalar çalıştıran web sunucuları için güçlü ve makul ölçüde kolay yönetilebilir bir alternatif. Kurulum süreci Apache kadar karmaşık değil, yönetim paneli ise Nginx’in düz config dosyası yönetimine kıyasla çok daha sezgisel.

Benim tavsiyem: Yeni bir proje başlatıyorsanız veya mevcut bir sunucuda performans sorunu yaşıyorsanız test ortamında OpenLiteSpeed’i deneyin. Özellikle WordPress veya Laravel projeleri için LSCache entegrasyonunu mutlaka test edin, etkisini görmek sizi şaşırtabilir.

Akılda tutulması gereken önemli nokta şu: OpenLiteSpeed güçlü ama dokümantasyonu henüz Apache ve Nginx kadar zengin değil. Karmaşık bir sorunla karşılaştığınızda LiteSpeed forumları ve GitHub issues sayfası, Stack Overflow’dan çok daha faydalı olacaktır. Topluluk küçük ama odaklı ve yardımsever.

Bir sonraki yazıda OpenLiteSpeed üzerinde WordPress kurulumu ve LSCache optimizasyonunu ele alacağım. Sorularınız varsa yorum bırakın.

Yorum yapın