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

Установка OpenLiteSpeed на Fedora 31 с PHP 7.4 и MariaDB

• 8 min read • Администрирование • Обновлено 25 Nov 2025
OpenLiteSpeed на Fedora 31: установка и настройка
OpenLiteSpeed на Fedora 31: установка и настройка

  • Пошагово: установите зависимости, откройте порты в firewalld, установите OpenLiteSpeed, подключите PHP 7.4 из репозитория REMI, разверните MariaDB, настройте виртуальный хост и SSL через Certbot.
  • Рекомендуется: использовать непривилегированный sudo-пользователь, резервную копию /etc и автоматическое обновление сертификатов.

Вид сервера OpenLiteSpeed

OpenLiteSpeed — лёгкая и открытая версия веб‑сервера LiteSpeed от LiteSpeed Technologies. Поддерживает Apache Rewrite, HTTP/2, HTTP/3, TLS 1.3 и QUIC. Отличается встроенной веб‑панелью администратора (WebGUI), что упрощает управление по сравнению с чисто конфигурационными серверами.

Краткое определение: OpenLiteSpeed — это быстрый HTTP‑сервер с фокусом на производительность и простоту администрирования.

В этом руководстве показано, как установить OpenLiteSpeed на Fedora 31 вместе с PHP 7.4 и MariaDB и как настроить виртуальный хост с HTTPS.

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

Содержание

  • Предварительные требования
  • Настройка брандмауэра
  • Установка OpenLiteSpeed
  • Установка PHP 7.4 (REMI)
  • Установка MariaDB и базовая безопасность
  • Настройка OpenLiteSpeed (панель, порт 80)
  • Подключение PHP 7.4 к OpenLiteSpeed
  • Создание виртуального хоста
  • Настройка SSL (Let’s Encrypt)
  • Тестирование сайта
  • Отладка и типичные ошибки
  • Резервирование, безопасность и автопродление сертификатов
  • Контрольный список ролей
  • Критерии приёмки
  • Краткое резюме

Предварительные требования

  • Сервер с Fedora 31
  • Непривилегированный пользователь с sudo
  • Обновлённая система

Обновите систему:

$ sudo dnf update

Установите libnsl (пакет предоставляет клиентский интерфейс для NIS):

$ sudo dnf install libnsl -y

Важно: SELinux по умолчанию на Fedora включён. В разделе «Безопасность» описаны заметки по SELinux и разрешениям.

Настройка брандмауэра

По умолчанию firewalld обычно включён. Проверьте статус:

$ sudo systemctl status firewalld

Если служба не запущена — стартуйте её:

$ sudo systemctl start firewalld

Откройте порты и службы, которые понадобятся:

$ sudo firewall-cmd --permanent --add-service=ssh
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --permanent --add-port=7080/tcp
$ sudo firewall-cmd --permanent --add-port=8088/tcp

Просмотрите текущие правила:

$ sudo firewall-cmd --permanent --list-all

Примените изменения и включите автозагрузку firewalld:

$ sudo firewall-cmd --reload
$ sudo systemctl enable firewalld

Важно: порт 7080 — порт административной панели OpenLiteSpeed. Если сервер публичный, ограничьте доступ к 7080 по IP или VPN.

Установка OpenLiteSpeed

Скачайте бинарный пакет с официального сайта. В примерах указан релиз 1.6.4 — проверьте актуальную версию и измените URL при необходимости.

$ wget https://openlitespeed.org/packages/openlitespeed-1.6.4.tgz

Распакуйте архив и запустите установщик:

$ tar -zxvf openlitespeed-1.6.4.tgz
$ cd openlitespeed
$ sudo ./install.sh

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

$ sudo /usr/local/lsws/bin/lswsctrl start
$ sudo /usr/local/lsws/bin/lswsctrl status

Откройте в браузере: http://<ВАШ_IP>:8088 — вы должны увидеть стартовую страницу сервера.

Стартовая страница OpenLiteSpeed

Если страница недоступна — проверьте firewalld, SELinux и логи в /usr/local/lsws/logs/.

Установка PHP 7.4

OpenLiteSpeed поставляется с PHP 5.6 по умолчанию. Чтобы использовать PHP 7.4, подключите официальный REMI‑репозиторий и установите нужные пакеты.

$ sudo dnf -y install https://rpms.remirepo.net/fedora/remi-release-31.rpm
$ sudo dnf config-manager --set-enabled remi
$ sudo dnf config-manager --set-enabled remi-php74
$ sudo dnf config-manager --set-disabled remi-modular
$ sudo dnf install php php-mysqlnd php-gd php-mcrypt php-bcmath php-litespeed

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

$ php -v

Пример вывода (CLI):

PHP 7.4.x (cli) ...

Посмотрите включённые модули:

$ php --modules

Примечание: пакет php-litespeed обеспечивает совместимость с движком LSAPI.

Установка MariaDB и базовая безопасность

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

$ sudo dnf install mariadb-server
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Запустите скрипт secure installation, чтобы задать пароль root и удалить тестовые учётные записи:

$ sudo mysql_secure_installation

Следуйте подсказкам: задайте сильный пароль, удалите анонимных пользователей, запретите удалённый вход под root и удалите тестовую базу.

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

CREATE DATABASE testdb;
CREATE USER 'testuser' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
FLUSH PRIVILEGES;
exit

Совет: храните пароли в менеджере секретов или в /etc/lsws/secure, если используете автоматизацию, но не храните их в явном виде в публичных репозиториях.

Настройка OpenLiteSpeed

Установка пароля для панели администратора

Установите учётные данные администратора:

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

Доступ к панели: http://<ВАШ_IP>:7080

Важно: по умолчанию панель открыта на всех интерфейсах. Ограничьте доступ через firewall или настройте IP‑фильтрацию.

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

Войдите в панель администратора (7080) и в разделе Listeners измените порт Default Listener с 8088 на 80.

Дашборд OpenLiteSpeed

Список Listener

После сохранения выполните Gr ac eful restart.

Изменение порта у Listener

Подтверждение изменения порта

Подключение PHP 7.4 к OpenLiteSpeed

Перейдите в Server Configuration -> External App. Создайте новое приложение типа LiteSpeed SAPI App.

External App

Пример конфигурации (оставьте другие поля по умолчанию):

Name: lsphp74
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: /usr/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

Нажмите Save.

Создание PHP 7.4 App

Далее перейдите на вкладку Script Handler и поменяйте обработчик lsphp на lsphp74.

Script Handler

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

Проверка: создайте phpinfo.php в корне сайта и откройте http://<ВАШ_IP>/phpinfo.php — версия PHP должна быть 7.4.

phpinfo

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

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

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

Раздел html — публичные файлы; logs — логи виртуального хоста.

В панели администратора: 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

Добавление виртуального хоста

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

Настройте General для виртуального хоста:

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

Настройка VH

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

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

Index Files

Настройка логов:

Virtual Host Log:

Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M

Access Log:

Log Control: Own Log File
File Name: $VH_ROOT/logs/access.log
Piped Logger: Not Set
Log Format: Not Set
Log Headers: Not Set
Rolling Size (bytes): 10M
Keep Days: 30
Compress Archive: Yes

Конфигурация логов

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

Allowed List: *
Denied List: Not set

ACL

Скрипт‑хендлер для PHP:

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

PHP Listener

Включите Rewrite:

Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set

Rewrite rules

Перейдите к Listeners -> Default Listener -> Virtual Host Mappings и добавьте mapping:

Virtual Host: example.com
Domains: example.com

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

Настройка SSL с помощью Let’s Encrypt

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

$ sudo dnf install certbot

Получите сертификат, используя webroot (путь на сервере):

$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ -d example.com

Следуйте интерактивным подсказкам certbot. После успешного запроса ключи будут в /etc/letsencrypt/live/example.com/.

Добавьте SSL Listener в панели OpenLiteSpeed:

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

SSL Listener

Добавьте Virtual Host Mapping для SSL Listener, затем в SSL Tab укажите пути к сертификату:

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

SSL Listener

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

Автопродление: certbot renew можно настроить через системный таймер или cron. Пример systemd‑таймера для централизованного обновления (рекомендуется использовать штатный пакет certbot, который устанавливает таймер автоматически):

Пример команды для тестирования продления:

$ sudo certbot renew --dry-run

Если вы используете webroot и OpenLiteSpeed, убедитесь, что каталог .well-known доступен (Document Root правильно настроен) и что правила .htaccess не блокируют ACME‑запросы.

Тестирование сайта

Создайте тестовую страницу:

$ 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 = "password"; // 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 — вы должны увидеть страницу и сообщение об успешном соединении с базой.

Тестовая страница

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

  1. Панель администратора недоступна на 7080

    • Проверьте: sudo systemctl status firewalld, firewall‑rules, open port 7080.
    • Для ограничения доступа используйте: sudo firewall-cmd –permanent –add-rich-rule=’rule family=”ipv4” source address=”1.2.3.4/32” port port=”7080” protocol=”tcp” accept’
  2. PHP показывает старую версию

    • Убедитесь, что в External App настроен правильный Command: /usr/bin/lsphp и Script Handler указывает на lsphp74.
  3. Certbot не может верифицировать домен

    • Проверьте: имя домена указывает на IP сервера (A/AAAA), Document Root корректен, файлы в /.well-known/acme‑challenge доступны.
  4. Ошибки соединения к базе данных

    • Проверьте учетные данные, разрешения пользователя и bind‑address в /etc/my.cnf.d/. Для локального подключения bind‑address обычно 127.0.0.1 или 0.0.0.0.
  5. SELinux мешает доступу к сокету

    • Если SELinux включён, разрешите доступ для webserver к unix‑сокетам и каталогам. Пример: sudo setsebool -P httpd_can_network_connect 1 и настройка контекстов командой chcon или semanage fcontext.

Рекомендации по безопасности и эксплуатация

  • Ограничьте доступ к панели администрирования 7080 только административным IP.
  • Используйте сильные пароли и SSH‑ключи.
  • Включите автоматическое обновление безопасности (dnf‑updates‑timer) или плановые проверки.
  • Логи: используйте ротацию логов и мониторинг объёма.
  • Настройте Fail2ban или аналог для защиты SSH и панели от брутфорса.
  • TLS: отключите слабые шифры, включите TLS 1.3, HSTS при необходимости.

Пример минимальной TLS‑политики в OpenLiteSpeed: применяйте рекомендованные наборы шифров, которые поддерживают TLS 1.2+ и TLS 1.3.

SELinux и разрешения (быстрые заметки)

Если SELinux включён, проверьте контекст директорий сайта:

$ sudo semanage fcontext -a -t httpd_sys_content_t "/usr/local/lsws/example.com/html(/.*)?"
$ sudo restorecon -Rv /usr/local/lsws/example.com/html

Если PHP требует записи в каталог logs или upload, дайте соответствующий контекст httpd_sys_rw_content_t.

$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/usr/local/lsws/example.com/logs(/.*)?"
$ sudo restorecon -Rv /usr/local/lsws/example.com/logs

Также разрешите сетевые подключения для веб‑процессов при необходимости:

$ sudo setsebool -P httpd_can_network_connect on

Автоматическое продление сертификатов и перезагрузка OpenLiteSpeed

Certbot обновляет сертификаты, но OpenLiteSpeed нужно уведомлять о новой версии ключа. Добавьте hook в /etc/letsencrypt/renewal-hooks/deploy/:

Пример скрипта deploy:

#!/bin/bash
/usr/local/lsws/bin/lswsctrl restart

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

$ sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/reload-lsws.sh

Тест продления и hook:

$ sudo certbot renew --dry-run

Важно: Graceful restart предпочтительнее полного перезапуска для минимизации простоя.

Контрольный список ролей

Системный администратор:

  • Обновить систему и установить зависимости
  • Настроить firewall и SELinux
  • Установить OpenLiteSpeed, PHP и MariaDB
  • Настроить резервные копии /etc и /usr/local/lsws

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

  • Подготовить индексный файл и phpinfo для проверки
  • Тестировать подключение к базе данных
  • Проверить правила .htaccess и rewrite

Оператор (DevOps):

  • Настроить мониторинг и ротацию логов
  • Настроить автопродление сертификатов и деплой‑hook
  • Внедрить резервирование и восстанавливаемость

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

  1. Панель администратора (7080) доступна для админов.
  2. Сайт отвечает по HTTP (порт 80) и HTTPS (443) с корректным сертификатом.
  3. PHP работает версии 7.4 через lsphp74 (phpinfo.php показывает 7.4).
  4. Веб‑приложение успешно подключается к MariaDB.
  5. Certbot может продлевать сертификат и скрипт перезагрузки OpenLiteSpeed выполняется после обновления.

Быстрые проверки (smoke tests)

  • curl -I https://example.com — проверяет TLS и заголовки.
  • sudo /usr/local/lsws/bin/lswsctrl status — статус сервера.
  • tail -n 100 /usr/local/lsws/example.com/logs/error.log — ошибки виртуального хоста.
  • sudo certbot renew –dry-run — тест продления сертификатов.

Краткое руководство по откату (rollback)

  1. Если новые изменения привели к поломке, откат конфигураций: восстановите копии $SERVER_ROOT/conf и /etc/letsencrypt.
  2. Перезагрузите OpenLiteSpeed: sudo /usr/local/lsws/bin/lswsctrl restart
  3. Временно переключитесь на запасной виртуальный хост (поддержите health‑check).
  4. Проверьте логи и примените исправления локально прежде чем повторять деплой.

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

  • Nginx + PHP‑FPM: если нужна очень гибкая конфигурация и широкая экосистема модулей.
  • Apache + mod_php: при сильной зависимости от .htaccess и устаревших модулей.
  • LiteSpeed Enterprise: если нужен коммерческий модуль кеширования (LSCache) и поддержка от производителя.

Когда OpenLiteSpeed не подходит: при потребности в специфичных apache‑модулях, недоступных в OpenLiteSpeed, либо когда нужна поддержка vendor‑only функционала.

Ментальные модели и лучшие практики

  • Разделяй ответственности: OpenLiteSpeed — веб‑сервер, MariaDB — СУБД, PHP — обработчик приложений.
  • Минимизируй права: процессы должны работать с минимальным набором прав.
  • Автоматизируй рутинные операции: обновления, бэкапы, мониторинг и продление сертификатов.

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

OpenLiteSpeed на Fedora 31 — надёжный выбор для лёгкого, производительного веб‑сервера с удобной веб‑панелью. Интеграция с PHP 7.4 через REMI и MariaDB даёт современную стек‑конфигурацию. Внимательно настройте firewall, SELinux, автоматическое продление сертификатов и ротацию логов.

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

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