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

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://

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

Шаг 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://


Шаг 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://

Перезапуск 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 — вы должны увидеть страницу с сообщением об успешном подключении к базе (или сообщение об ошибке подключения).

Сайт готов к размещению динамических 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
Типичные ошибки и способы устранения
Ошибка: Панель администратора не открывается на 7080
- Проверьте ufw и cloud firewall (security groups).
- Убедитесь, что служба lsws запущена: sudo systemctl status lsws
Ошибка: Certbot не может пройти проверку webroot
- Убедитесь, что путь webroot совпадает с Document Root VirtualHost.
- Проверьте, что VirtualHost доступен по HTTP и нет редиректов на HTTPS при выдаче сертификата.
Проблемы с PHP-модулями после сборки
- Проверьте зависимости, которые могли отсутствовать при configure.
- Пересоберите с опциями, включающими нужные расширения.
После правки php.ini изменения не применяются
- Перезапустите lsphp-процессы и затем lsws. Используйте graceful restart в панели.
Ошибки доступа к базе данных из PHP
- Проверьте credentials, привилегии и сокет MySQL (/run/mysqld/mysqld.sock).
Процедура отката (rollback) — кратко
- Остановите lsws:
$ sudo systemctl stop lsws- Восстановите старые файлы конфигурации из резервной копии (если есть):
$ sudo cp /path/to/backup/ols.conf /usr/local/lsws/conf/ols.confОткатите изменения в /etc/apt/sources.list.d/lst_debian_repo.list к предыдущему состоянию.
Удалите скомпилированный PHP, если нужно (удаление вручную каталогов установки):
$ sudo rm -rf /usr/local/lsws/lsphp82- Перезапустите систему или сервисы и проверьте статус.
Важно: всегда делайте резервные копии конфигураций перед изменениями.
Мини-методология развёртывания (коротко)
- Подготовить систему: обновления, утилиты, firewall.
- Установить/собрать базовые компоненты (OpenLiteSpeed, MariaDB, PHP).
- Подключить PHP к веб-серверу и создать VirtualHost.
- Настроить SSL и автоматическое продление сертификатов.
- Тестирование: phpinfo, подключение к БД, логирование, стресс-тесты на dev.
- Перенос в продакшен: бэкап данных, мониторинг, 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: поддерживайте резервные копии конфигураций и данных перед любыми изменениями в продакшен-среде.
Завершение
Если у вас остались вопросы или требуется помощь с конкретными ошибками — опишите шаг, сообщение об ошибке и вывод команд, и мы поможем с диагностикой.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента