OpenLiteSpeed – открытый веб-сервер от LiteSpeed Technologies, ориентированный в первую очередь на высокую производительность и низкое потребление ресурсов. Данный веб-сервер поддерживает асинхронную архитектуру, которая позволяет обрабатывать тысячи одновременных соединений с минимальной нагрузкой на сервер. OpenLiteSpeed полностью совместим с Apache по .htaccess, mod_rewrite и PHP, а также имеет удобную веб-панель управления. В данной статье разберём, как установить OpenLiteSpeed и запустить на нём несколько сайтов. Основой для работы с OpenLiteSpeed в нашем примере будет виртуальный сервер, работающий под управлением Ubuntu 24.04.
Мы разместим на OpenLiteSpeed два сайта с доменными именами your-site-name.ru и your-site-name.store. При этом следует учитывать, что A-запись настраиваемых доменов должна содержать IP-адрес виртуального сервера, на котором сайты будут размещены.
Как установить OpenLiteSpeed на Ubuntu 24.04
Поскольку OpenLiteSpeed отсутствует в стандартных репозиториях Ubuntu, для его установки необходимо добавить в систему официальный репозиторий LiteSpeed. Для добавления данного репозитория LiteSpeed предоставляет специальный скрипт, который можно запустить командой:
$ sudo wget -O - https://repo.litespeed.sh | sudo bashРабота скрипта должна завершиться выводом на экран следующего сообщения:
LiteSpeed repository has been setup!После чего можно запустить установку OpenLiteSpeed с использованием пакетного менеджера apt:
$ sudo apt install openlitespeedДля доступа к панели управления необходимо создать учётную запись администратора. Чтобы это сделать, запустите на выполнение специальный скрипт, созданный при инсталляции OpenLiteSpeed:
$ sudo /usr/local/lsws/admin/misc/admpass.shВ процессе работы скрипт предложит указать имя создаваемого пользователя, в качестве которого вы можете использовать предложенное по умолчанию – admin. Затем нужно будет придумать и дважды ввести пароль для данной учётной записи.

Как запустить несколько сайтов на OpenLiteSpeed
Чтобы разместить сайты на OpenLiteSpeed, необходимо, во-первых, создать директории для каждого из них, в которых будут находиться файлы сайтов:
$ sudo mkdir -p /var/www/your-site-name.ru
$ sudo mkdir -p /var/www/your-site-name.storeПосле этого создайте файл стартовой страницы для первого сайта:
$ sudo nano /var/www/your-site-name.ru/index.htmlВ данный файл добавьте HTML-разметку, например, следующего вида:
<html>
   <head>
      <title>
         Your OpenLiteSpeed Site
      </title>
   </head>
   <body>
      <h1>
         Your Site on OpenLiteSpeed: your-site-name.ru!
      </h1>
   </body>
</html>Закройте файл, сохранив внесённые изменения, после чего создайте аналогичный файл для следующей веб-страницы:
$ sudo nano /var/www/your-site-name.store/index.htmlИ так же скопируйте в него HTML-разметку стартовой страницы второго сайта:
<html>
   <head>
      <title>
         Your OpenLiteSpeed Site
      </title>
   </head>
   <body>
      <h1>
         Your Site on OpenLiteSpeed: your-site-name.store!
      </h1>
   </body>
</html>После создания HTML-файлов необходимо настроить виртуальные хосты. Для каждого из сайтов следует указать доменное имя, корневую папку, расположение файла конфигурации и прочее. Также нужно будет подключить виртуальные хосты к Listener’ам. С помощью данных компонентов веб-сервер будет знать, на какие домены и порты они должны реагировать. Всё это настраивается в панели управления, которая изначально работает на TCP-порту 7080. Таким образом, чтобы можно было подключиться к веб-интерфейсу панели управления, добавьте в брандмауэр разрешающее правило для TCP-порта 7080:
$ sudo ufw allow 7080/tcpПосле чего откройте браузер и перейдите на X.X.X.X:7080, где вместо X.X.X.X используйте IP-адрес вашего виртуального сервера. Для аутентификации вам понадобятся логин и пароль учётной записи, которые вы создали, запустив скрипт /usr/local/lsws/admin/misc/admpass.sh.

Изначально дефолтный Listener на OpenLiteSpeed доступен на порту 8088. Поэтому, чтобы добавляемые сайты открывались на стандартном 80-м порту, нужно либо создать новый Listener, либо изменить порт существующего. Для изменения номера порта перейдите во вкладку Listeners, где нажмите на значок View в столбце Actions.

Далее в строке Address Settings нажмите на значок Edit.

Затем измените номер порта на 80 и для сохранения изменения нажмите на значок Save.

Чтобы активировать новую конфигурацию OpenLiteSpeed, выполните его перезапуск при помощи кнопки Graceful Restart.

Как добавить виртуальные хосты
Для добавления новых виртуальных хостов перейдите во вкладку Virtual Hosts и в строке Virtual Host List нажмите на значок Add.

Для создания нового виртуального хоста в строке Virtual Host Name укажите доменное имя сайта, в нашем случае это – your-site-name.ru. В строке Virtual Host Root укажите полный путь к каталогу, в котором будут находиться файлы сайта, в нашем примере это /var/www/your-site-name.ru. В свою очередь, строка Config File должна содержать путь к конфигурационному файлу виртуального хоста – /usr/local/lsws/conf/vhosts/your-site-name.ru/vhost.conf.
Также значения в строках Enable Scripts/ExtApps и Restrained переключите в состояние Yes или No. Первый параметр включает или отключает запуск скриптов и внешних приложений, второй же отвечает за ограниченный режим при их выполнении.
Для сохранения внесённых изменений нажмите на значок Save.

При сохранении нового виртуального хоста панель управления сообщит о том, что файла конфигурации не существует, и предложит создать его. Чтобы это сделать, нажмите ссылку CLICK TO CREATE.

Об успешном создании конфигурационного файла система сообщит следующей фразой: /usr/local/lsws/conf/vhosts/your-site-name.ru/vhost.conf has been created successfully.
После чего ещё раз нажмите на значок Save, затем аналогичным образом добавьте виртуальный хост для следующего сайта.

После добавления виртуальных хостов перезапустите конфигурацию OpenLiteSpeed при помощи кнопки Graceful Restart.

Для каждого из виртуальных хостов необходимо добавить основные настройки в созданные конфигурационные файлы. Чтобы сделать это, откройте первый из них:
$ sudo nano /usr/local/lsws/conf/vhosts/your-site-name.ru/vhost.confДанный файл должен содержать настройки для конкретного сайта, такие как:
- docRoot– путь к корневому каталогу сайта;
- vhDomain– домен сайта, который используется для «привязки» Listener’а и маршрутизации запросов;
- vhAliases– альтернативный домен сайта;
- enableGzip– параметр, включающий gzip-сжатие ответов для повышения скорости загрузки сайта;
- настройки логов – error.logиaccess.log;
- index– блок, описывающий файлы, которые виртуальный хост будет считать главными;
- rewrite– блок, отвечающий за систему правил перезаписи URL.
docRoot                  /var/www/your-site-name.ru
vhDomain                 your-site-name.ru
vhAliases                www.your-site-name.ru
enableGzip               1
errorlog $VH_ROOT/logs/error.log
accesslog $VH_ROOT/logs/access.log
index  {
  useServer              0
  indexFiles             index.html, index.php
}
rewrite  {
  enable                 1
  autoLoadHtaccess       1
}Затем аналогичным образом отредактируйте конфигурационный файл для второго сайта:
$ sudo nano /usr/local/lsws/conf/vhosts/your-site-name.store/vhost.confИ так же наполните его соответствующим содержимым:
docRoot                  /var/www/your-site-name.store
vhDomain                 your-site-name.store
vhAliases                www.your-site-name.store
enableGzip               1
errorlog $VH_ROOT/logs/error.log
accesslog $VH_ROOT/logs/access.log
index  {
  useServer              0
  indexFiles             index.html, index.php
}
rewrite  {
  enable                 1
  autoLoadHtaccess       1
}«Привязка» виртуальных хостов
Далее переключитесь в панель управления и во вкладке Listeners нажмите на кнопку View, чтобы перейти к заключительной части настройки виртуальных хостов.

Здесь в строке Virtual Host Mappings нажмите на значок Add.

В данном случае мы «привязываем» новый виртуальный хост к Listener’у, который будет «слушать» определённый порт (в нашем примере это TCP-порт 80) и отвечать на запросы по доменам your-site-name.ru и www.your-site-name.ru. Для этого в строке Virtual Host выберите из списка имя виртуального хоста, а в строке Domains перечислите доменные имена, чьи запросы Listener будет обрабатывать для «привязанного» виртуального хоста.

Чтобы сохранить изменения, нажмите Save и повторите процедуру «привязки» для остальных виртуальных хостов.

Для активации изменений конфигурации кликните Graceful Restart.

Чтобы ваши сайты стали доступны для подключения через 80-й порт, добавьте в брандмауэр UFW разрешающее правило для протокола HTTP:
$ sudo ufw allow httpПосле чего откройте браузер и проверьте доступность созданных виртуальных хостов, перейдя на каждый из них по ссылке вида http://your-site-name.ru.

