Что такое LiteSpeed сервер?

LiteSpeed Web Server (LSWS) — это программное обеспечение для управления VPS-сервером, является полной альтернативой веб-сервера Apache (LSWS совместим с ним, поддерживает .htaccess и mod_rewrite). Разработчик — компания LiteSpeed Technologies. На сегодня, LiteSpeed Web Server занимает 3-е место в мире за популярностью, после Apache и Nginx. Благодаря своим технологиям кэширования (LS Cache) позволяет достичь максимальной производительности при больших нагрузках с минимальным потреблением ресурсов.

Сравнение бесплатной и платной версии OpenLiteSpeed or LiteSpeed Enterprise?.

OpenLiteSpeed функционально заменяет Apache, Nginx и их связку.

Тестирование WordPress HTTP/2 Benchmark OpenLiteSpeed vs. nginx vs. Apache.

Веб-сервер LiteSpeed поддерживает Apache .htaccess файл. Этот файл конфигурации важен, потому что он позволяет нам включать или отключать дополнительные функции, а также определять правила перенаправления URL-адресов, среди прочего.

Читать также: Панель CyberPanel для вебхостингом.

OpenLiteSpeed — это полнофункциональный веб-сервер, управляемый главным образом через интерфейс администратора. Более продвинутой по функционалу альтернативой встроенному вебинтрфейсу LiteSpeed является панель управления хостингом CyberPanel

Установка стандартная https://openlitespeed.org/#install Для Debian 7, 8, 9, 10 & Ubuntu 14,16,18, 20 добавляем репозиторий и устанавливаем:

wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debian_repo.sh | sudo bash
apt-get install openlitespeed

Перед тестом сервера нам нужно задать пароль администратора для OpenLiteSpeed, запустите команду:

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

Вам будет предложено предоставить имя пользователя для администратора. Если вы нажмете ENTER без выбора нового имени пользователя, будет использоваться имя admin по умолчанию. Затем вам будет предложено создать и подтвердить новый пароль для учетной записи. Сделайте это, а затем нажмите ENTER последний раз. Скрипт подтвердит успешное обновление:

Запускаем OpenLiteSpeed и переходим к настройке при помощи веб-интерфейса. Вам будет доступно две ссылки

  1. по адресу http://[address]:8088/ находится пример сайта под управлением OpenLiteSpeed
  2. https://[address]:7080/ находится интерфейс администратора (в веб-браузере используйте HTTPS). Скорее всего вы увидите предупреждение о том, что сертификат SSL сервера не может быть проверен. Поскольку это самоподписанный сертификат, это ожидаемое поведение. Понажимайте на доступные опции, чтобы перейти к сайту. В Chrome вы должны нажать «Advanced», а затем «Proceed to…». Введите логин и пароль, который вы задавали при запуске скрипта admpass.sh
systemctl start lsws

Ваш браузер должен загружать веб-страницу OpenLiteSpeed по умолчанию, которая выглядит следующим образом: Ссылка внизу страницы предназначена для демонстрации различных функций сервера. Если нажать на нее, вы сможете заметить, что эти функции уже установлены и корректно настроены. Например, доступен пример скрипта CGI, настроенный экземпляр PHP работает и запущен, а настраиваемые страницы ошибок и шлюзы аутентификации настроены. Понажимайте на ссылки, чтобы познакомиться поподробнее.

  • Все файлы, связанные с OpenLiteSpeed, можно найти в директории /usr/local/lsws.
  • Корневая директория документов (откуда будут обслуживаться файлы) для виртуального хоста по умолчанию расположена по адресу /usr/local/lsws/DEFAULT/html. Файлы конфигурации и логи для этого виртуального хоста можно найти в директории /usr/local/lsws/DEFAULT.
  • Вы можете создать новые виртуальные хосты для разных сайтов, используя интерфейс администратора. Однако все директории, на которые вы будете ссылаться при настройке, должны быть созданы предварительно на вашем сервере. OpenLiteSpeed не может создавать директории.
  • Вы можете создать шаблоны виртуального хоста для использования одного общего формата.
  • Часто проще всего скопировать структуру директорий виртуального хоста и конфигурацию для использования в качестве отправной точки для новых конфигураций.
  • Интерфейс администратора имеет встроенную систему подсказок практически для всех полей. Также в левом меню есть пункт меню Help, привязанный к документации сервера. Используйте эти источники информации во время настройки, если вам потребуется дополнительная помощь.
  • Чтобы обеспечить безопасность установки OpenLiteSpeed с помощью HTTPS, ознакомьтесь с разделом официальной документации, посвященным настройке SSL.

Следующие команды установят PHP 8.0 со всеми часто используемыми пакетами для OpenLiteSpeed из нашего репозитория Debian и направят OpenLiteSpeed на использование этого PHP. Этой сборки PHP должно быть достаточно для поддержки наиболее часто используемых веб-приложений.

apt-get install lsphp80 lsphp80-common lsphp80-curl lsphp80-mysql lsphp80-opcache lsphp80-imap lsphp80-opcache lsphp80-imagick
ln -sf /usr/local/lsws/lsphp80/bin/lsphp /usr/local/lsws/fcgi-bin/lsphp5

Если вы хотите установить другую версию, например PHP 7.4, замените lsphp80 этой другой версией, например lsphp74.

Слева на панели размещены разделы:

  • Dashboard - панель статистики, основных настроек и логов.
  • Server Configuration - настройки сервера. Здесь стоит обратить внимание на вкладки General и External App. Здесь можно указать имя пользователя, размеры буфера, настроить индексные файлы, указать файл подкачки и т.д.
  • Listeners - настройка портов. Нажав гиперссылку с названием "Listeners" можно перейти к его подробным параметрам, узнать его имя, ip адреса, с которых веб-сервер принимает соединения в данный момент, увидеть список открытых портов, узнать списки дочерних процессов (binding), а так же какие хосты обслуживаются (virtual host mappings)
  • Virtual hosts - список виртуальных хостов. Здесь можно настроить путь к корневому каталогу хоста (Virtual host root), а так же пути к конфигурационным файлам (Config File).
  • VHost Templates - Здесь можно настроить готовые шаблоны для виртуальных хостов.
  • Tools - набор дополнительных инструментов. Здесь можно выбрать версию PHP запуск компиляции пакета PHP. Так же в этом разделе присутствует просмотрщик логов сервера и монитор событий, который в реальном времени покажет текущее положение дел.
  • WebAdmin Settings - настройки панели администрирования веб-сервера.
  • Help — онлайн-справка.

LiteSpeed Cache (LSCache) - это встроенная высокопроизводительная функция ускорения динамического контента веб-сервера LiteSpeed. Обратимся к официальному источнику:

«Функции LSCache очень похожи на функции Apache mod_cache, но реализованы более эффективно. Кеш LiteSpeed работает как Varnish. Это выходной кеш для динамического содержимого, поэтому его использование не ограничивается страницами PHP. В отличие от Varnish, кэш LiteSpeed встроен в веб-сервер LiteSpeed, что устраняет один уровень обратного прокси. Это означает более высокую эффективность статического содержимого. Уникальность кэша LiteSpeed заключается в том, что он использует правила перезаписи (либо в файлах конфигурации, либо в .htaccess) для управления своим поведением для максимальной гибкости.»

Здесь уже в зависимости от используемой CMS настройка будет отличаться. Если вы желаете выполнить это плагинами, обратите внимание на эту статью. В ней подробно написано как настроить кеширование для Craft CMS, Joomla, Drupal и Wordpress:

https://openlitespeed.org/kb/category/litespeed-cache/enable-lscache-for-applications/

Вы так же можете включить LSCache с помощью правил rewrite, если плагин LiteSpeed Cache недоступен:

https://openlitespeed.org/kb/litespeed-cache-on-openlitespeed-without-plugins/

Файлы кэша LSCache хранятся в директории /usr/local/lsws/cachedata/priv/

Следующие переменные для путей:

  • $SERVER_ROOT - /usr/local/lsws/. Указывает на расположение OLS
  • $VH_ROOT - /usr/local/lsws/$VH_NAME. Это не Document root! Переменная задает корневой каталог виртуального хоста, в котором находятся все файлы, относящиеся к виртуалхосту.
  • Config DIR - /usr/local/lsws/conf/vhosts/$VH_NAME. Конфигурационный файл виртуалхоста.
  • Файлы сайтов в /home
  • Конфигурационный файл OLS — httpd_config.conf — размещен в /usr/local/lsws/conf, здесь же есть готовые шаблоны файла под разные задачи.
  • php.ini находится по такому пути /usr/local/lsws/lsphp80/etc/php/8.0/litespeed/php.ini
  • По умолчанию access.log и error.log litespeed находятся в /usr/local/lsws/logs
    $SERVER_ROOT/logs where $SERVER_ROOT is server root e.g. /usr/local/lsws

Команды:

  • Запустить OpenLiteSpeed: systemctl start lsws
  • Остановить OpenLiteSpeed: systemctl stop lsws
  • Перезапуск OpenLiteSpeed (без простоя вебсервера): systemctl restart lsws
  • Показать ключи запуска OpenLiteSpeed: /usr/local/lsws/bin/lswsctrl help
  • Сбросить пароль WebAdmin из командной строки: /usr/local/lsws/admin/misc/admpass.sh
  • Переключение между файлами конфигурации XML и текстовыми файлами: /usr/local/lsws/conf/switch_config.sh
  • Узнать версию OpenLiteSpeed и подключенные модули:
/usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.15 Open (BUILD built: Tue Feb 22 16:27:52 UTC 2022) 
        module versions:
        lsquic 3.0.4
        modgzip 1.1
        cache 1.64
        mod_security 1.4
  • Проверить конфигурационные файлы OpenLiteSpeed на ошибки: /usr/local/lsws/bin/openlitespeed -t

При проверке конфига, появляется ошибка

/usr/local/lsws/bin/openlitespeed -t
 
2022-12-03 21:51:11.110658 [WARN] [664435] [config:server:vhosts:vhost:Example] Uid of /usr/local/lsws/Example/html/ is 0, smaller than minimum r
equirement 11, use server uid!
2022-12-03 21:51:11.110733 [WARN] [664435] [config:server:vhosts:vhost:Example] Gid of /usr/local/lsws/Example/html/ is 65534, smaller than minim
um requirement 10, use server gid!

Намудрили с правами. Соответственно файлы сайтов только для чтения. Создаем на проблемном сайте, php файл:

<?php
echo system("whoami");
?>

Смотрим от какого пользователя запускается сайт и устанавливаем его на файлы сайта

chown -R sobzo4260:sobzo4260 /home/example.com/public_html
PQ VPS сервера в 28+ странах.