Docker ile LiteSpeed Enterprise Kurulumu

Sayfayı kopyala
💡 Özet (TL;DR):
- Amaç: Docker kullanarak LiteSpeed Enterprise (LSWS) web sunucusunu bağımsız (standalone) olarak ayağa kaldırmak ve temel ayarlarını yapılandırmak.
- Kritik Hata Düzeltmeleri: Shell komutlarındaki Windows ters eğik çizgisi (
.\webadmin.sh) Linux standardı olan./webadmin.shile değiştirilmiş ve metindeki "SSH sertifikası" ifadesi doğrusu olan "SSL sertifikası" olarak güncellenmiştir.- Modern Docker İpucu:
docker-composekomutları günceldocker composestandardına uyarlanmış, PHP 7.4 yerine güncel PHP 8.x sürümleri önerilmiştir.
Docker ve Portainer kurulumumuzu tamamladığımıza göre bir sonraki aşamaya, LiteSpeed Enterprise kurulumuna geçebiliriz.
Ben biraz özelleşmiş bir kurulum yapacağım. Eğer siz her şeyi standart şekilde kurmak isterseniz bu açıklama bölümünü atlayıp doğrudan kurulum aşamalarına geçebilirsiniz.
1. Neyi Özelleştirdim?
Docker kalıbında standart olarak yer alan WP-CLI'yi istemediğim için özel bir kalıp oluşturdum ve hazır bunu yapıyorken birkaç ekstra PHP eklentisini de içerisine ekledim.
GitHub'daki orijinal LSWS reposuna buradan, benim üzerinde değişiklikler yaptığım repoya buradan ulaşabilirsiniz. Docker Hub'daki orijinal kalıba litespeedtech/litespeed adresinden, benim özelleştirdiğim kalıba da soruman/litespeed adresinden ulaşabilirsiniz.
Ben anlatmaya kendi özel kalıp dosyamı kullanarak devam edeceğim. Buraya kadar anlattığım sadece ana LiteSpeed kalıbıydı. Kurulum için bir başka GitHub reposu kullanacağım. Bu repo, LiteSpeed'in temel ayarlarını (şifre değiştirme, lisans anahtarı belirleme, sertifika kurma vb.) shell üzerinden yapabilmenizi sağlayan betikler ve LiteSpeed üzerinde bir WordPress ortamını ayağa kaldırmanızı sağlayan bir docker-compose.yml dosyası içeriyor.
Normal şartlarda doğrudan Docker kalıbı ile kurulum yapmanız mümkün ama bu repoda gelen shell betikleri ile normalde konteynerin içine girerek yapmanız gereken işlemleri pratik bir şekilde yapabilirsiniz. Bu nedenle kurulumu bu şekilde yapmanızı tavsiye ederim.
Ben sadece LiteSpeed kurmak istediğim için docker-compose dosyasında yer alan MariaDB ve phpMyAdmin'i çıkarttım. LiteSpeed servisinin kalıbı olarak da orijinali yerine yukarıada anlattığım özelleştirdiğim kalıbı kullandım.
⚠️ PHP Sürüm Notu: Örnek compose dosyasındaki
soruman/litespeed:5.4.6-lsphp74imajı PHP 7.4 içermektedir. Güncel projelerinizde güvenlik ve performans açısındanlsphp81,lsphp82veyalsphp83gibi güncel PHP 8.x tabanlı imajları kullanmanızı tavsiye ederim.
LiteSpeed Docker Konteyner Dizin Eşlemeleri (Volumes)
| Konteyner Yolu | Sunucu Yolu (Host) | Açıklama |
|---|---|---|
/usr/local/lsws/conf | /host/conf/lsws/default | Ana LiteSpeed yapılandırma ve vhost ayar dosyaları. |
/usr/local/lsws/admin/conf | /host/conf/lsws/admin | WebAdmin arayüzü yönetici erişim ve yetki ayarları. |
/usr/local/bin | /host/bin/lsws/container | Başlangıç ve yönetim betiklerinin (webadmin.sh vb.) bulunduğu dizin. |
/var/www/vhosts/ | /host/sites | Yayınlanacak web sitelerinin kaynak kodları ve dosyaları. |
/root/.acme.sh/ | /host/acme | Let's Encrypt SSL sertifikalarının otomatik üretildiği ve saklandığı dizin. |
2. Kurulum Aşamaları
Öncelikle ilk adım olarak GitHub reposunu (uygun gördüğünüz bir dizin içine) klonlayarak başlayacağız:
git clone https://github.com/litespeedtech/lsws-docker-env.git
Eğer standart bir LiteSpeed + MySQL + phpMyAdmin + WordPress kurulumu isterseniz, yukarıdaki komuttan sonra aşağıdakini çalıştırarak konteynerleri ayağa kaldırabilirsiniz:
docker compose up -d
Eğer MariaDB, phpMyAdmin ve WordPress'i bir tarafa bırakıp yalnızca LiteSpeed kurmak istiyorsanız benim yaptığım kurulumun detaylarına bakabilirsiniz.
Ben sunucuya yapacağım kurulumlar için özel bir dizin yapısı belirledim ve tüm konteynerlerimin verilerini de bu yapıya uygun olarak bağlıyorum. Bu nedenle repo içerisinde çıkan .env dosyası ve bin klasörünü kendi ilgili klasörlerime taşıdım. Yine konteyner içinde kullanılacak sites, acme, conf gibi klasörleri de kendi yapıma uygun şekilde ilgili klasörlerle bağladım.
.env dosyasını kendi ihtiyaçlarınıza göre uyarladıktan sonra docker-compose.yml dosyasını da aşağıdakine benzer şekilde düzenledim:
version: '3.8'
services:
litespeed:
image: soruman/litespeed:5.4.6-lsphp74
env_file:
- /evrenbal/env/lsws/.env
volumes:
- /evrenbal/conf/lsws/default:/usr/local/lsws/conf
- /evrenbal/conf/lsws/admin:/usr/local/lsws/admin/conf
- /evrenbal/bin/lsws/container:/usr/local/bin
- /evrenbal/sites:/var/www/vhosts/
- /evrenbal/acme:/root/.acme.sh/
- /evrenbal/logs:/usr/local/lsws/logs/
ports:
- 80:80
- 443:443
- 443:443/udp
- 7080:7080
restart: always
environment:
TZ: ${TimeZone}
networks:
- litespeed
networks:
litespeed:
Ve bütün bu düzenlemeleri yaptıktan sonra aşağıdaki komutla konteyneri ayağa kaldırabiliriz:
docker compose up -d
Bunun sonrasında LiteSpeed sunucumuz çalışır hale gelmiş olacaktır.
3. WebAdmin Panel Yetkilendirmesi ve Lisans Tanımlama
LiteSpeed paneline girebilmeniz ve ayarlarını düzenleyebilmeniz için öncelikle yönetim paneli (WebAdmin) için bir şifre belirlemelisiniz.
Hazır başlamışken LiteSpeed web sitesinden alacağınız (2 GB RAM'e kadar olan makineler için ücretsiz) lisansın seri numarasını kurulumunuza tanımlarsanız, SSL sertifikası tanımlayacağınız aşamaya gelene kadar tekrar shell betiği kullanmanız gerekmez.
Parola değiştirmek için kullanmanız gereken komut (bin klasörü içindeyken):
./webadmin.sh yenisifre
Seri numaranızı tanımlamak için:
./webadmin.sh --serial SERINUMARASI
Şifrenizi belirleyip seri numaranızı tanımladıktan sonra tarayıcınızla http://SUNUCU_IP_ADRESI:7080 adresine girerek LiteSpeed ayarlarını kurcalamaya başlayabilirsiniz.
LiteSpeed'in detaylı ayarlarına bu yazıda girmeyeceğim. Geniş bir ayar kümesi var fakat dokümanına bakmaya bile gerek duymadan çözebileceğiniz basit ve sezgisel bir panel üzerinden yönetiliyor.
Bu Yazıda Yapılan Değişiklikler
- 11.05.2022: Yazı özeti düzenlendi.
- 21.06.2026: Linux terminal eğik çizgileri (
.\yerine./) ve "SSH sertifikası" yerine "SSL sertifikası" teknik terim hataları düzeltildi. Docker Hub bozuk linki güncellendi, moderndocker composestandartlarına geçildi, TL;DR özet ve volume dizin tablosu eklendi.
