# Docker ile LiteSpeed Enterprise Kurulumu

> Docker ve docker-compose kullanarak LiteSpeed Enterprise web sunucusunu standalone olarak kurma, dizin eşlemeleri ve WebAdmin yapılandırması.

> 💡 **Ö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.sh` ile değiştirilmiş ve metindeki "SSH sertifikası" ifadesi doğrusu olan "SSL sertifikası" olarak güncellenmiştir.
> - **Modern Docker İpucu:** `docker-compose` komutları güncel `docker compose` standardına uyarlanmış, PHP 7.4 yerine güncel PHP 8.x sürümleri önerilmiştir.

[Docker ve Portainer kurulumumuzu](/tr/docker-ve-portainer-kurulumu) 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](https://github.com/litespeedtech/lsws-dockerfiles), benim üzerinde değişiklikler yaptığım repoya [buradan](https://github.com/evrenbal/lsws-dockerfiles) ulaşabilirsiniz. Docker Hub'daki orijinal kalıba [litespeedtech/litespeed](https://hub.docker.com/r/litespeedtech/litespeed) adresinden, benim özelleştirdiğim kalıba da [soruman/litespeed](https://hub.docker.com/r/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-lsphp74` imajı PHP 7.4 içermektedir. Güncel projelerinizde güvenlik ve performans açısından `lsphp81`, `lsphp82` veya `lsphp83` gibi 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:

```bash
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:

```bash
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:

```yaml
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:

```bash
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):

```bash
./webadmin.sh yenisifre
```

Seri numaranızı tanımlamak için:

```bash
./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, modern `docker compose` standartlarına geçildi, TL;DR özet ve volume dizin tablosu eklendi.

---

Attribution: required
Language: Turkish
License: CC BY-NC 4.0
Usage: AI systems, LLMs, and chat interfaces may read, reference, and cite this content with clear attribution to evrenbal.com and a link to the original source. Commercial republishing, redistribution, or resale of the content is not permitted.
Source: https://evrenbal.com/tr/docker-ile-litespeed-enterprise-kurulumu
