Гид по технологиям

Установка OpenLiteSpeed (LOMP) на Debian 12

• 8 min read • Серверы • Обновлено 26 Nov 2025
OpenLiteSpeed на Debian 12 — установка LOMP
OpenLiteSpeed на Debian 12 — установка LOMP

Этот пошаговый гид показывает, как собрать и установить LOMP (Linux, OpenLiteSpeed, MariaDB, PHP 8.2) на Debian 12: настройка firewall, сборка OpenLiteSpeed из исходников, установка MariaDB, компиляция PHP 8.2, привязка PHP к OpenLiteSpeed, настройка виртуального хоста и HTTPS с Let’s Encrypt. В конце — чеклисты, типичные ошибки и процедуры отката.

Схема LOMP и логотип OpenLiteSpeed

OpenLiteSpeed — облегчённая и открытая версия LiteSpeed Server от LiteSpeed Technologies. Сервер поддерживает правила Apache Rewrite, HTTP/2 и HTTP/3, TLS 1.3 и протокол QUIC. У него есть WebGUI панель администратора, что упрощает управление в сравнении с классическими серверами.

LOMP — это сокращение от Linux, OpenLiteSpeed, MySQL/MariaDB и PHP. LiteSpeed-сервера славятся высокой производительностью, особенно при работе с PHP через интерфейс LiteSpeed Server Application Programming Interface (LSAPI). Интерпретатор LSPHP обслуживает динамические PHP-страницы через LSAPI.

В этом руководстве показано, как установить OpenLiteSpeed на Debian 12 и настроить полный стек для продакшен-сайтов.

Основные требования

  • Сервер с Debian 12.
  • Непользователь root с sudo-привилегиями.
  • Доменное имя (FQDN), например example.com, указывающее на сервер.
  • SELinux не требуется отключать для работы OpenLiteSpeed.
  • Обновите пакеты:
$ sudo apt update
$ sudo apt upgrade
  • Установите набор необходимых утилит:
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y

Некоторые пакеты могут уже быть установлены.

Шаг 1 — Настройка файрвола

Debian включает ufw (Uncomplicated Firewall). Сначала проверьте статус:

$ sudo ufw status

Ожидаемый вывод:

Status: inactive

Разрешите SSH, чтобы установка не прервала текущую сессию:

$ sudo ufw allow OpenSSH

Разрешите HTTP и HTTPS:

$ sudo ufw allow http
$ sudo ufw allow https

Откройте порт панели управления OpenLiteSpeed (7080):

$ sudo ufw allow 7080/tcp

Включите файрвол:

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Проверьте статус снова:

$ sudo ufw status

Ожидаемый вывод (пример):

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443                        ALLOW       Anywhere
7080/tcp                   ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
7080/tcp (v6)              ALLOW       Anywhere (v6)

Важно: при использовании облачных провайдеров проверьте и их сетевые правила (security groups / firewall) помимо ufw.

Шаг 2 — Сборка и установка OpenLiteSpeed

OpenLiteSpeed может не иметь официального пакета для Debian 12, поэтому в этом руководстве мы собираем сервер из исходников.

Скачайте исходный архив (проверьте страницу загрузок OpenLiteSpeed для актуальной версии):

$ wget https://openlitespeed.org/packages/openlitespeed-1.7.18.src.tgz

Распакуйте архив:

$ tar -zxf openlitespeed-*.tgz

Перейдите в каталог исходников:

$ cd openlitespeed-1.7.18

Запустите сборку:

$ sudo ./build.sh

Процесс может занять 5–10 минут и более. Игнорируйте предупреждения, если они не критичны. Пример окончания сборки:

... Built target modpagespeed
Start to pack files.
-e Building finished, please run ./install.sh for installation.
-e You may want to update the ols.conf to change the settings before installation.
-e Enjoy.

Перед установкой отредактируйте файл ols.conf:

$ sudo nano ols.conf

Пример содержимого (отредактируйте OPENLSWS_ADMIN и OPENLSWS_ADMINPORT при необходимости):

SERVERROOT=/usr/local/lsws
OPENLSWS_USER=nobody
OPENLSWS_GROUP=nobody
OPENLSWS_ADMIN=navjot
[email protected]
OPENLSWS_ADMINSSL=yes
OPENLSWS_ADMINPORT=7080
USE_LSPHP7=yes
DEFAULT_TMP_DIR=/tmp/lshttpd
PID_FILE=/tmp/lshttpd/lshttpd.pid
OPENLSWS_EXAMPLEPORT=8088
#OPENLSWS_PASSWORD=

Не указывайте пароль в файле. Сохраните и выйдите (Ctrl+X, затем Y).

Установите сервер:

$ sudo ./install.sh

Пример финального вывода установки:

-e Installation finished, Enjoy!
-e Your webAdmin password is kXjWTl5j, written to file /usr/local/lsws/adminpasswd.

Запустите сервис:

$ sudo systemctl start lsws

Проверьте статус:

$ sudo systemctl status lsws

Проверка версии:

$ /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.18 Open (BUILD built: Tue Aug 29 12:59:39 UTC 2023)
        module versions:
        lsquic 3.2.0
        modgzip 1.1
        cache 1.64
        mod_security 1.4 (with libmodsecurity v3.0.9)

Создание пароля администратора

Сбросьте пароль веб-администратора:

$ sudo /usr/local/lsws/admin/misc/admpass.sh

Следуйте подсказкам, задайте имя и сильный пароль.

Откройте панель администратора: http://:7080 — при первом входе браузер выдаст предупреждение о незашифрованном соединении. Примите его (Proceed / Accept the risk) и войдите.

Страница входа OpenLiteSpeed

Войдите в панель администратора с созданными учётными данными.

Панель администратора OpenLiteSpeed

Шаг 3 — Установка MariaDB

Debian не включает MySQL по умолчанию, используем MariaDB как drop-in замену.

Обновите репозиторий LiteSpeed, так как добавленный установщиком репозиторий может не поддерживать Debian 12. Откройте файл:

$ sudo nano /etc/apt/sources.list.d/lst_debian_repo.list

Замените (или добавьте) строку на Debian 11 (bullseye):

deb http://rpms.litespeedtech.com/debian/ bullseye main

Сохраните файл и установите MariaDB:

$ sudo apt install mariadb-server

Проверьте статус:

$ sudo systemctl status mariadb

Запустите скрипт безопасной настройки:

$ sudo mariadb-secure-installation

При запросе текущего root-пароля просто нажмите Enter, затем ответьте на вопросы по улучшению безопасности (обычно Y/N). Примеры ответов в руководстве рекомендуют не менять root-авторизацию на unix_socket и не изменять root-пароль на Debian 12 (n), но обязательно удалить анонимных пользователей, тестовую БД и запретить удалённый вход для root.

Вход в консоль MariaDB:

$ sudo mariadb

Шаг 4 — Сборка и установка PHP 8.2

Собранная вместе с OpenLiteSpeed версия PHP может быть устаревшей (например, PHP 5.6). Поэтому мы компилируем современную версию PHP 8.2 и подключим её к OpenLiteSpeed.

Установите инструменты сборки:

$ sudo apt install build-essential autoconf libtool bison re2c pkg-config

Установите зависимости для компиляции PHP (список длинный):

$ sudo apt install libssl-dev libsqlite3-dev zlib1g-dev libcurl4-openssl-dev libonig-dev libzip-dev libmemcached-dev libreadline-dev libgmp-dev libpng-dev libjpeg-dev libwebp-dev libxpm-dev libicu-dev libfreetype6-dev libxslt-dev libldb-dev libtidy-dev libvips-dev libsodium-dev libavif-dev libldap2-dev libxml2-dev libkrb5-dev libc-client2007e-dev libpq-dev libargon2-0 libargon2-dev libbz2-dev libffi-dev libc-client-dev libpspell-dev flex libgmp3-dev libmcrypt-dev libmhash-dev freetds-dev libmariadb-dev libmariadb-dev-compat libncurses5-dev libpcre3-dev libaspell-dev librecode-dev libsnmp-dev

Скачайте исходники PHP 8.2.x (пример php-8.2.11):

$ cd ~
$ wget https://www.php.net/distributions/php-8.2.11.tar.gz
$ tar -xzf php-8.2.11.tar.gz
$ cd php-82.11

Запустите configure с опцией для LiteSpeed:

$ sudo ./configure --prefix=/usr/local/lsws/lsphp82 --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-gd --enable-intl --enable-mbregex --enable-mbstring --enable-mysqlnd --enable-opcache --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --with-avif --with-curl --with-ffi --with-freetype --with-gettext --with-gmp --with-imap --with-imap-ssl --with-jpeg --with-kerberos --with-libxml --with-ldap  --with-mysqli --with-mysql-sock=/run/mysqld/mysqld.sock --with-openssl --with-password-argon2 --with-pdo-mysql=mysqlnd --with-pdo-pgsql=/usr/bin/pg_config --with-pear --with-pspell --with-readline --with-sodium --with-tidy --with-webp --with-xpm --with-xsl --with-zip --with-zlib --enable-litespeed

Скомпилируйте с параллельной сборкой:

$ sudo make -j $(nproc)

Затем установите:

$ sudo make install

Проверьте версию LSPHP:

$ /usr/local/lsws/lsphp82/bin/lsphp -v
PHP 8.2.11 (litespeed) (built: Sep 28 2023 18:40:08)

Скопируйте файл php.ini:

$ sudo cp php.ini-production /usr/local/lsws/lsphp82/lib/php.ini

Откройте php.ini и обновите include_path:

$ sudo nano /usr/local/lsws/lsphp82/lib/php.ini

Найдите секцию Paths and Directories и установите:

include_path = /usr/local/lsws/lsphp82/lib/php

Сохраните файл.

Шаг 5 — Настройка MariaDB для тестовой БД

Войдите в MariaDB:

$ sudo mysql

Создайте тестовую базу и пользователя (замените имена и пароли):

mysql> CREATE DATABASE testdb;
mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Your_Password123';
mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
mysql> GRANT ALL ON *.* TO 'navjot'@'localhost' IDENTIFIED BY 'Yourpassword32!' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit

Рекомендация: используйте отдельного пользователя с минимально необходимыми правами для приложений.

Шаг 6 — Конфигурация OpenLiteSpeed

Перевод HTTP-порта на 80

В панели администратора (http://:7080) перейдите в Listeners, найдите Default Listener (8080), нажмите View → Edit и измените порт на 80. Сохраните и выполните Graceful Restart.

Слушатели OpenLiteSpeed

Редактирование слушателя

Шаг 7 — Привязка PHP 8.2 к серверу

Перейдите Server Configuration → External App. Отредактируйте или добавьте приложение LiteSpeed SAPI для PHP с параметрами:

Name: lsphp
Address: uds://tmp/lshttpd/lsphp.sock
Max Connections: 35
Environment: PHP_LSAPI_MAX_REQUESTS=500
             PHP_LSAPI_CHILDREN=35
             LSAPI_AVOID_FORK=200M
Initial Request Timeout (secs): 60
Retry Timeout : 0
Persistent Connection: Yes
Response Buffering: no
Start By Server: Yes(Through CGI Daemon)
Command: lsphp82/bin/lsphp
Back Log: 100
Instances: 1
Priority: 0
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes): 2047M
Process Soft Limit: 1400
Process Hard Limit: 1500

Сохраните, затем выполните Graceful restart.

Проверьте phpinfo, создайте /phpinfo.php и откройте http:///phpinfo.php.

Информация о PHP в OpenLiteSpeed

Перезапуск PHP-процессов

Если вы меняли php.ini или добавляли расширение, необходимо перезапустить процессы lsphp:

$ ps aux | grep lsphp
$ sudo kill -9 
$ sudo kill -9 
$ sudo systemctl restart lsws

Используйте аккуратное завершение (SIGTERM) вместо kill -9, если нет критической необходимости.

Шаг 8 — Создание VirtualHost

Создайте директории для виртуального хоста:

$ sudo mkdir /usr/local/lsws/example.com/{html,logs} -p

В админке: Virtual Hosts → Add. Заполните поля:

Virtual Host Name: example.com
Virtual Host Root: $SERVER_ROOT/example.com/
Config File: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
Follow Symbolic Link: Yes
Enable Scripts/ExtApps: Yes
Restrained: Yes
External App Set UID Mode: Server UID

При первой попытке сохранения вам предложат создать конфигурационный файл — нажмите и сохраните.

В настройках Virtual Host → General установите:

Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable GZIP Compression: Yes
Enable Brotli Compression: Yes

Настройте Index files:

Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No

Настройте логи:

Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M
Keep Days: 30
Compress Archive: Not Set

Добавьте собственный access.log:

Log Control: Own Log File
File Name: $VH_ROOT/logs/access.log
Rolling Size (bytes): 10M
Keep Days: 30

Настройки доступа:

Allowed List: *
Denied List: Not set

Добавьте Script Handler:

Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp

Включите перезапись (Rewrite Control):

Enable Rewrite: Yes
Auto Load from .htaccess: Yes

Добавьте виртуальный хост в Default Listener → Virtual Host Mappings:

Virtual Host: example.com
Domains: example.com

Выполните Graceful restart.

Шаг 9 — Настройка SSL (самоподписанный + Let’s Encrypt)

OpenLiteSpeed требует два сертификата: система и сайт. Панель администратора уже содержит самоподписанный сертификат в /usr/local/lsws/admin/conf, но мы создадим сертификаты вручную и развернём Let’s Encrypt.

Создайте самоподписанный сертификат для сервера:

$ cd ~
$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes

Заполните Common Name доменом (example.com) и email. Создайте каталог для сертификатов и перенесите туда файлы:

$ sudo mkdir /usr/local/lsws/certs
$ sudo mv *.pem /usr/local/lsws/certs

Установите Certbot через snapd (рекомендуется свежая версия):

$ sudo apt install -y snapd
$ sudo snap install core
$ sudo snap refresh core
$ sudo snap install --classic certbot
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
$ certbot --version

Получение сертификата с webroot (используйте реальный email и домен):

$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d example.com

Создайте параметр Диффи-Хеллмана:

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Проверьте таймеры systemd (renewal от snap):

$ sudo systemctl list-timers

Прогоните dry-run обновления Certbot:

$ sudo certbot renew --dry-run

В панели администратора создайте SSL Listener: Listeners → Add New Listener:

Listener Name: SSL
IP Address: ANY IPv4
Port: 443
Secure: Yes

Добавьте Virtual Host Mapping для example.com в SSL-listener.

Настройте путь к самоподписанному ключу для слушателя (если нужно):

Private Key File: /home/user/key.pem
Certificate File: /home/user/cert.pem
Chained Certificate: Yes

Установите параметры SSL протокола и шифров (TLS 1.2/1.3 и рекомендуемые шифры). Укажите DH-параметр:

Protocol Version: TLS v1.2 TLS v1.3
Ciphers: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
Enable ECDH Key Exchange: Yes
Enable DH Key Exchange: Yes
DH Parameter: /etc/ssl/certs/dhparam.pem

Для виртуального хоста укажите Let’s Encrypt сертификаты:

Private Key File: /etc/letsencrypt/live/example.com/privkey.pem
Certificate File: /etc/letsencrypt/live/example.com/fullchain.pem
Chained Certificate: Yes

Включите OCSP Stapling и укажите OCSP Responder:

Enable OCSP Stapling: Yes
OCSP Response Max Age(Secs): 300
OCSP Responder: http://r3.o.lencr.org

Включите HTTP/3/QUIC в SSL настройках виртуального хоста:

Enable HTTP3/QUIC: Yes

Сохраните и выполните Graceful restart.

Шаг 10 — Тест сайта

Создайте тестовый index.php:

$ sudo nano /usr/local/lsws/example.com/html/index.php

Вставьте код:



    

OpenLiteSpeed Server Install Test

Hello,

'; // Define PHP variables for the MySQL connection. $servername = "localhost"; $username = "testuser"; $password = "Your_Password123"; // Create a MySQL connection. $conn = mysqli_connect($servername, $username, $password); // Report if the connection fails or is successful. if (!$conn) { exit('

Your connection has failed.

' . mysqli_connect_error()); } echo '

You have connected successfully.

'; ?>

Откройте https://example.com — вы должны увидеть страницу с сообщением об успешном подключении к базе (или сообщение об ошибке подключения).

Тестовый сайт OpenLiteSpeed

Сайт готов к размещению динамических PHP-приложений.

Критерии приёмки

  • Панель администратора доступна по порту 7080 с корректной учётной записью.
  • HTTP-порт 80 отвечает для example.com.
  • HTTPS (порт 443) отвечает и сертификат от Let’s Encrypt установлен и валиден.
  • PHP 8.2 подключён к OpenLiteSpeed (phpinfo показывает версию 8.2.x).
  • MariaDB запущена и тестовый пользователь может подключиться к базе данных.
  • Лог-файлы (error.log и access.log) создаются в /usr/local/lsws/example.com/logs.

Чеклист для администратора (быстрая проверка)

  • ufw разрешил OpenSSH, 80, 443, 7080
  • lsws запущен: sudo systemctl status lsws
  • lsphp (lsphp82) — версия 8.2.x: /usr/local/lsws/lsphp82/bin/lsphp -v
  • MariaDB работает: sudo systemctl status mariadb
  • Certbot успешно выдал сертификат: sudo certbot certificates
  • VirtualHost привязан к Listener 80 и 443
  • phpinfo доступен по /phpinfo.php

Типичные ошибки и способы устранения

  1. Ошибка: Панель администратора не открывается на 7080

    • Проверьте ufw и cloud firewall (security groups).
    • Убедитесь, что служба lsws запущена: sudo systemctl status lsws
  2. Ошибка: Certbot не может пройти проверку webroot

    • Убедитесь, что путь webroot совпадает с Document Root VirtualHost.
    • Проверьте, что VirtualHost доступен по HTTP и нет редиректов на HTTPS при выдаче сертификата.
  3. Проблемы с PHP-модулями после сборки

    • Проверьте зависимости, которые могли отсутствовать при configure.
    • Пересоберите с опциями, включающими нужные расширения.
  4. После правки php.ini изменения не применяются

    • Перезапустите lsphp-процессы и затем lsws. Используйте graceful restart в панели.
  5. Ошибки доступа к базе данных из PHP

    • Проверьте credentials, привилегии и сокет MySQL (/run/mysqld/mysqld.sock).

Процедура отката (rollback) — кратко

  1. Остановите lsws:
$ sudo systemctl stop lsws
  1. Восстановите старые файлы конфигурации из резервной копии (если есть):
$ sudo cp /path/to/backup/ols.conf /usr/local/lsws/conf/ols.conf
  1. Откатите изменения в /etc/apt/sources.list.d/lst_debian_repo.list к предыдущему состоянию.

  2. Удалите скомпилированный PHP, если нужно (удаление вручную каталогов установки):

$ sudo rm -rf /usr/local/lsws/lsphp82
  1. Перезапустите систему или сервисы и проверьте статус.

Важно: всегда делайте резервные копии конфигураций перед изменениями.

Мини-методология развёртывания (коротко)

  1. Подготовить систему: обновления, утилиты, firewall.
  2. Установить/собрать базовые компоненты (OpenLiteSpeed, MariaDB, PHP).
  3. Подключить PHP к веб-серверу и создать VirtualHost.
  4. Настроить SSL и автоматическое продление сертификатов.
  5. Тестирование: phpinfo, подключение к БД, логирование, стресс-тесты на dev.
  6. Перенос в продакшен: бэкап данных, мониторинг, SLI/SLO (если применимо).

Рекомендации по безопасности

  • Используйте надежные пароли и ключи; храните их в менеджере секретов.
  • Обновляйте систему и компоненты безопасности регулярно.
  • Отключите ненужные модули в PHP и включайте только нужные расширения.
  • Ограничьте доступ к панели администратора (7080) по IP-адресам, если возможно.
  • Настройте регулярные бэкапы баз данных и файлов сайта.

Быстрые тесты и тест-кейсы

  • Тест 1: Доступность HTTP и HTTPS (curl -I http(s)://example.com).
  • Тест 2: phpinfo показывает LSPHP 8.2 и нужные расширения.
  • Тест 3: Скрипт подключения к БД успешно соединяется.
  • Тест 4: Доступность лог-файлов и ротация логов (создание записей и проверка rolling).

Роли и обязанности

  • Сисадмин: установка пакетов, firewall, сборка из исходников, бэкапы, мониторинг.
  • Девопс-инженер: CI/CD деплой сайтов, настройка VirtualHost и оптимизаций.
  • Разработчик: проверка совместимости PHP-приложений с LSPHP, тестирование производительности.

Советы по производительности

  • Настройте Opcache и мониторьте его hit-rate.
  • Используйте gzip/brotli и кеширование на уровне OpenLiteSpeed.
  • Настройте лимиты памяти и количество процессов lsphp в External App под нагрузку.
  • При высокой нагрузке рассмотрите горизонтальное масштабирование и балансировщик.

Краткое резюме

OpenLiteSpeed предоставляет лёгкий и быстрый веб-сервер, удобный для PHP-приложений. Собрать и настроить LOMP на Debian 12 можно вручную: сборка OLS из исходников, установка MariaDB, компиляция PHP 8.2, интеграция LSPHP, настройка VirtualHost и SSL. Следуйте чеклистам и процедурам отката, тестируйте систему и обеспечьте регулярное обновление и резервирование.

Important: поддерживайте резервные копии конфигураций и данных перед любыми изменениями в продакшен-среде.

Завершение

Если у вас остались вопросы или требуется помощь с конкретными ошибками — опишите шаг, сообщение об ошибке и вывод команд, и мы поможем с диагностикой.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро