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

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 — вы должны увидеть стартовую страницу сервера.

Если страница недоступна — проверьте 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.


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


Подключение PHP 7.4 к OpenLiteSpeed
Перейдите в Server Configuration -> External App. Создайте новое приложение типа LiteSpeed SAPI 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.

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

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

Создание виртуального хоста
Создайте директории для виртуального хоста:
$ 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
Настройте Index files:
Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No
Настройка логов:
Virtual Host Log:
Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10MAccess 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
Скрипт‑хендлер для PHP:
Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp74
Включите Rewrite:
Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set
Перейдите к 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
Добавьте 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
Сохраните и выполните 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 — вы должны увидеть страницу и сообщение об успешном соединении с базой.

Отладка и типичные ошибки
Панель администратора недоступна на 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’
PHP показывает старую версию
- Убедитесь, что в External App настроен правильный Command: /usr/bin/lsphp и Script Handler указывает на lsphp74.
Certbot не может верифицировать домен
- Проверьте: имя домена указывает на IP сервера (A/AAAA), Document Root корректен, файлы в /.well-known/acme‑challenge доступны.
Ошибки соединения к базе данных
- Проверьте учетные данные, разрешения пользователя и bind‑address в /etc/my.cnf.d/. Для локального подключения bind‑address обычно 127.0.0.1 или 0.0.0.0.
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
- Внедрить резервирование и восстанавливаемость
Критерии приёмки
- Панель администратора (7080) доступна для админов.
- Сайт отвечает по HTTP (порт 80) и HTTPS (443) с корректным сертификатом.
- PHP работает версии 7.4 через lsphp74 (phpinfo.php показывает 7.4).
- Веб‑приложение успешно подключается к MariaDB.
- 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)
- Если новые изменения привели к поломке, откат конфигураций: восстановите копии $SERVER_ROOT/conf и /etc/letsencrypt.
- Перезагрузите OpenLiteSpeed: sudo /usr/local/lsws/bin/lswsctrl restart
- Временно переключитесь на запасной виртуальный хост (поддержите health‑check).
- Проверьте логи и примените исправления локально прежде чем повторять деплой.
Частые альтернативы и когда они подходят
- 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, автоматическое продление сертификатов и ротацию логов.
Если появились вопросы по конкретным шагам или нужна помощь с ошибкой — приведите логи и вывод команд, и я помогу диагностировать.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента