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

Установка LOMP Stack (OpenLiteSpeed, MariaDB, PHP) на Debian 11

• 9 min read • Инфраструктура • Обновлено 22 Nov 2025
Установка LOMP на Debian 11 — OpenLiteSpeed, MariaDB, PHP
Установка LOMP на Debian 11 — OpenLiteSpeed, MariaDB, PHP

Важно: все команды выполняйте от пользователя с sudo‑правами. Проверяйте вывод команд и при ошибках читайте логи для диагностики.

Что такое LOMP Stack

LOMP — это набор свободных компонентов для хостинга PHP‑приложений:

  • Linux — операционная система (в нашем случае Debian 11).
  • OpenLiteSpeed — лёгкий и быстрый веб‑сервер с GUI‑админкой.
  • MariaDB — форк MySQL, реляционная база данных.
  • PHP — язык серверной логики (в руководстве — версия 8.0).

Кратко: LOMP сочетает производительность OpenLiteSpeed и знакомую экосистему MySQL/MariaDB+PHP. Подходит для локальной разработки и продакшн‑серверов.

Требования

  • Сервер с Debian 11.
  • Непользователь root с sudo‑правами.
  • Домен (рекомендовано) или доступ по IP.
  • Свободный порт 80 и 443 (для HTTP/HTTPS) и 7080 (админка OpenLiteSpeed по умолчанию).

Быстрый план действий (методология)

  1. Добавить репозиторий OpenLiteSpeed и установить сервер.
  2. Установить MariaDB и выполнить первичную жёсткую настройку безопасности.
  3. Установить lsphp80 (PHP 8.0 для OpenLiteSpeed) и переключить внешний app.
  4. Создать админ‑пользователя OpenLiteSpeed и изменить listener на порт 80.
  5. Проверить PHPINFO и соединение с БД; выполнить базовую безопасность сервера.

Установка OpenLiteSpeed

Сначала добавим официальный репозиторий OpenLiteSpeed и его ключ. На Debian для этого есть официальный скрипт, который автоматически настроит apt‑источники.

Выполните на сервере:

wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh | bash

Скрипт добавления репозитория OpenLiteSpeed

Примечание: скрипт определяет дистрибутив и добавляет репозиторий и GPG‑ключ. Если соединение с репозиторием не устанавливается, проверьте сетевые настройки и DNS.

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

sudo apt update
sudo apt install openlitespeed

Установка OpenLiteSpeed через apt

Проверьте состояние службы:

sudo systemctl is-enabled lsws
sudo systemctl status lsws

Статус службы OpenLiteSpeed lsws

Если служба не запустилась автоматически, выполните

sudo systemctl start lsws
sudo journalctl -u lsws --no-pager -n 200

Important: по умолчанию OpenLiteSpeed слушает порт 8088 для HTTP и порт 7080 для админки.

Откройте в браузере http://:8088/ — вы должны увидеть стандартную страницу index.html OpenLiteSpeed.

Страница index OpenLiteSpeed на порту 8088

Установка и базовая настройка MariaDB

Установите MariaDB из репозиториев Debian:

sudo apt update
sudo apt install mariadb-server

Установка MariaDB

Проверьте состояние службы:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Статус службы MariaDB

Далее запустите сценарий безопасной настройки:

sudo mysql_secure_installation

Типичные ответы для желаемой базовой защиты:

  • Change the root authentication method to unix_socket? — n
  • Change the MariaDB root password? — Y (и задайте пароль)
  • Remove anonymous users? — Y
  • Disallow root login remotely? — Y (или N, если нужен remote root)
  • Remove test database and access to it? — Y
  • Reload privilege tables now? — Y

Совет: если на сервере используется аутентификация unix_socket, смена способа на пароль нужна для совместимости с некоторыми инструментами. Если вы используете систему управления секретами, продумайте, где хранить пароль root MariaDB.

Дополнительно создайте отдельную базу и пользователя для приложения:

sudo mysql -u root -p
CREATE DATABASE exampledb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'exampleuser'@'localhost' IDENTIFIED BY 'secure_password_here';
GRANT ALL PRIVILEGES ON exampledb.* TO 'exampleuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Важно: используйте сильные пароли и ограничьте доступ пользователя по хосту.

Установка PHP 8.0 для OpenLiteSpeed

OpenLiteSpeed предоставляет пакеты lsphp для нескольких версий PHP. Мы установим PHP 8.0 (lsphp80).

sudo apt update
sudo apt install lsphp80 lsphp80-common lsphp80-mysql lsphp80-dev lsphp80-curl

Установка lsphp80

Проверьте версию PHP, установленную для OpenLiteSpeed:

/usr/local/lsws/lsphp80/bin/php8.0 -v
/usr/local/lsws/lsphp80/bin/php8.0 --modules

Вывод версии PHP 8.0 и модулей

Замечание: пакеты lsphp могут одновременно установить другие версии PHP. Действующая версия определяется конфигурацией External App в OpenLiteSpeed.

Настройка учетной записи администратора OpenLiteSpeed

Запустите сценарий для создания/смены пароля администратора:

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

Вводите имя пользователя (по умолчанию admin) и безопасный пароль.

Настройка пароля администратора OpenLiteSpeed

Перейдите в браузере на https://:7080/ и войдите в админку.

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

После входа вы увидите дашборд админки OpenLiteSpeed.

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

Перенос OpenLiteSpeed на порт 80 (HTTP)

По умолчанию веб‑сервер слушает порт 8088. Чтобы обслуживать HTTP на стандартном порту 80, измените Listener в админке.

Шаги в GUI админки:

  1. Выберите меню Listener.
  2. Нажмите на Default listener и выберите Edit.
  3. Измените Port на 80 и Save.
  4. Нажмите Reload, чтобы применить изменения.

Список Listener в OpenLiteSpeed

Редактирование Listener Default

Изменение порта слушателя на 80

После перезагрузки сервера зайдите по http:/// — должна открыться страница по умолчанию.

OpenLiteSpeed теперь на порту 80

Примечание по файерволу: откройте порт 80 (и 443, если будете ставить SSL):

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

Если вы используете cloud‑firewall (например, в облаке), откройте порты там.

Подключение PHP 8.0 в OpenLiteSpeed (External App)

По умолчанию External App в OpenLiteSpeed может ссылаться на lsphp74. Чтобы использовать PHP 8.0, измените команду запуска внешнего приложения.

  1. В админке откройте Server Configuration → External App.
  2. Найдите LiteSpeed SAPI App (или эквивалент) для PHP.
  3. Нажмите Edit.
  4. В поле Command укажите путь к lsphp80, например:
/usr/local/lsws/lsphp80/bin/lsphp

(если у вас отличается путь — проверьте /usr/local/lsws/lsphp80)

Редактирование конфигурации PHP в OpenLiteSpeed

  1. Save и Reload server.

Проверьте phpinfo: создайте файл /var/www/html/phpinfo.php с содержимым:

Затем в браузере откройте http:///phpinfo.php — в верхней части страницы должна отображаться версия PHP 8.0.

Страница phpinfo, подтверждение PHP 8.0

Important: удалите phpinfo.php после проверки или ограничьте доступ к нему, чтобы не раскрывать подробности окружения.

Виртуальные хосты и размещение PHP‑приложений

OpenLiteSpeed использует понятие Virtual Hosts. Для развёртывания приложения:

  1. Создайте директорию сайта, например /var/www/example.com/
  2. Дайте права владельца (обычно www‑user или lsadm, в зависимости от конфигурации).
  3. В админке создайте новый Virtual Host и привяжите Document Root.
  4. Привяжите виртуальный хост к Listener (порт 80) через правило в Virtual Host Mapping.

Пример минимальных команд на сервере:

sudo mkdir -p /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com

В качестве index создайте index.php c простым тестом подключения к БД.

Отладка и типичные ошибки

Логи OpenLiteSpeed и lsphp можно найти по путям, указанным в админке (обычно /usr/local/lsws/logs/):

  • /usr/local/lsws/logs/error.log — общий лог ошибок.
  • /usr/local/lsws/logs/access.log — доступы.
  • Логи виртуальных хостов — в их директориях логов.

Если сайт не отвечает:

  • Проверьте, слушает ли процесс lsws: sudo ss -ltnp | grep 80
  • Посмотрите статус службы: sudo systemctl status lsws
  • Просмотрите последние записи в журнале: sudo tail -n 200 /usr/local/lsws/logs/error.log
  • Проверьте права на document root и владельца файлов.

Если PHP не выполняется (скачивание кода вместо выполнения):

  • Убедитесь, что Virtual Host настроен на использование внешнего приложения lsphp.
  • Проверьте путь к binary в External App и права на бинарник.

Если не удаётся подключиться к MariaDB:

  • Проверьте, слушает ли MariaDB: sudo ss -ltnp | grep 3306
  • Попробуйте локальный вход: sudo mysql -u root -p
  • Проверьте привилегии пользователя и хост (localhost vs %).

Безопасность и жёсткая настройка

Рекомендации по повышению безопасности сервера:

  • Установите и настройте UFW или другой firewall. Закройте неиспользуемые порты.
  • Используйте SSH‑ключи и запретите парольный вход по SSH для root.
  • Настройте fail2ban для защиты от грубой силы.
  • В MariaDB: ограничьте root до localhost, используйте отдельные пользователи для приложений.
  • В OpenLiteSpeed: ограничьте доступ к админке по IP (через firewall или правила в Listener).
  • Настройте автоматическое обновление безопасности или регулярный план обновлений.

SSL/TLS:

  • Для production рекомендуем включить HTTPS. Можно использовать Certbot + standalone/nginx или интеграцию с OpenLiteSpeed (через импорт сертификата).
  • Откройте порт 443 и настройте listener для HTTPS.

Файловые права:

  • Document root не должен принадлежать root, файлы не должны быть исполняемыми без надобности.
  • Избегайте записи в директории, доступные из веба, если это не требуется.

Рекомендации по производительности

  • Включите кэширование на уровне OpenLiteSpeed (LSCache) для статического контента.
  • Правильно настройте worker‑пулы в зависимости от доступной памяти и CPU.
  • Для баз данных используйте настройку innodb_buffer_pool_size по объёму памяти.

Резервное копирование и текущее сопровождение

  • Делайте регулярные дампы БД: mysqldump или инкрементальные бэкапы.
  • Резервируйте конфигурации OpenLiteSpeed (/usr/local/lsws/conf/), сертификаты и содержимое /var/www/.
  • Тестируйте восстановление бэкапов в тестовой среде.

План тестирования и критерии приёмки

Критерии приёмки для базовой установки LOMP:

  1. OpenLiteSpeed установлен и отвечает на порту 80: HTTP GET возвращает статус 200.
  2. Админка доступна на порту 7080 по заданному логину/паролю.
  3. PHP 8.0 активен и проходит phpinfo().
  4. MariaDB запущена, можно выполнить вход как root и создать базу/пользователя.
  5. Простое PHP‑приложение подключается к MariaDB и выполняет запросы.

Тесты для проверки:

  • curl -I http://localhost/ -> HTTP/1.1 200 OK
  • /usr/local/lsws/lsphp80/bin/php8.0 -v -> версия 8.0
  • mysql -u exampleuser -p -e “SHOW DATABASES;”

Роли и чек‑листы

Администратор сервера:

  • Установить пакетную базу и репозитории.
  • Настроить firewall и SSH.
  • Создать бэкапы конфигураций.

DevOps:

  • Автоматизировать установку (Ansible/Terraform).
  • Настроить мониторинг и оповещения (CPU, память, доступность сервиса).
  • Управлять сертификатами и деплоем.

Разработчик:

  • Подготовить composer.json или vendor для приложения.
  • Проверить совместимость кода с PHP 8.0.
  • Тестировать подключение к БД через предоставленные креденшелы.

Альтернативные подходы и сравнения

Если OpenLiteSpeed не подходит, альтернативы:

  • LEMP (Linux, Nginx, MySQL/MariaDB, PHP‑FPM) — широко распространён и гибок.
  • LAMP (Apache вместо Nginx/OpenLiteSpeed) — совместимость с .htaccess.

Короткая эвристика при выборе:

  • Нужна простая GUI‑админка и высокопроизводительный сервер — OpenLiteSpeed хорош.
  • Нужна максимальная совместимость с модулем Apache — выбирайте Apache.
  • Хочется лёгкости и асинхронности — Nginx + PHP‑FPM.

Миграция и совместимость

  • При миграции с Apache учтите rewrite‑правила — OpenLiteSpeed поддерживает правила перезаписи, но синтаксис и поведение могут требовать тестов.
  • Для старых приложений проверьте совместимость с PHP 8.0 (держите резервную версию 7.4 пока тестируете).

Быстрый каталог команд (cheat sheet)

  • Установка OpenLiteSpeed:
  • Проверка служб:
    • sudo systemctl status lsws
    • sudo systemctl status mariadb
  • Установка PHP 8.0:
    • sudo apt install lsphp80 lsphp80-mysql
  • Безопасность MariaDB:
    • sudo mysql_secure_installation
  • Логи:
    • sudo tail -n 200 /usr/local/lsws/logs/error.log

Небольшое дерево принятия решения (Mermaid)

flowchart TD
  A[Нужен веб‑сервер для PHP] --> B{Высокая производительность?}
  B -- Да --> C[OpenLiteSpeed]
  B -- Нет --> D{Требуется совместимость с Apache?}
  D -- Да --> E[Apache 'LAMP']
  D -- Нет --> F[Nginx 'LEMP']
  C --> G[Использовать LOMP]
  E --> G
  F --> G

Частые вопросы и заметки

  • Как вернуть порт 8088? — Просто верните значение порта в Listener и перезагрузите сервер.
  • Можно ли поставить PHP 8.1? — Да, репозиторий OpenLiteSpeed содержит несколько версий lsphp; процесс аналогичен.
  • Как автоматизировать установку? — Используйте Ansible playbook, где прописываются apt‑репозитории, пакеты и конфигурационные файлы.

Локальные нюансы для Debian 11

  • На Debian 11 используйте systemd для управления сервисами и apt для пакетов.
  • Проверьте, что ваши репозитории обновлены: sudo apt update.
  • Если у вас минимальный образ Debian, установите базовые утилиты (wget, curl, ca‑certificates).

Заключение

Вы установили LOMP Stack на Debian 11, настроили OpenLiteSpeed, защитили MariaDB и переключили сервер на PHP 8.0. Дальше можно:

  • Настроить виртуальные хосты для нескольких сайтов.
  • Подключить HTTPS и автоматические обновления сертификатов.
  • Автоматизировать развёртывание и мониторинг.

Ключевые шаги повторно:

  • Добавить репозиторий OpenLiteSpeed и установить пакет.
  • Установить MariaDB и выполнить mysql_secure_installation.
  • Установить lsphp80 и переключить External App на lsphp80.
  • Настроить Listener на порт 80 и удалить тестовые phpinfo файлы после проверки.

Спасибо за внимание. Удачного развёртывания и безопасной эксплуатации сервера!

Поделиться: 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 быстро