Как настроить виртуальный хост OpenLiteSpeed на CentOS Stream 9

Как настроить виртуальный хост OpenLiteSpeed на CentOS Stream 9

Один сервер — несколько сайтов без хаоса. Рассказали, как на CentOS Stream 9 создать виртуальный хост в OpenLiteSpeed и настроить всё красиво и быстро.

После установки OpenLiteSpeed на сервер следующим шагом является настройка виртуального хоста. Это необходимо, чтобы веб-сервер понимал, какой сайт обслуживать по какому адресу. Даже если у вас пока один проект, настройка виртуальных хостов — основа для масштабирования и порядка на сервере.

Важно!

Предполагается, что вы уже перевели OpenLiteSpeed на работу через стандартный HTTP-порт 80, отказавшись от порта 8088, который используется по умолчанию.

В статье на примере домена your-site-name.ru подробно рассказали, как создать виртуальный хост в OpenLiteSpeed, настроить его через панель управления и открыть доступ к сайту через браузер.

Аренда VPS/VDS от 219 руб/месяц

Преимущества VPS в AdminVPS:

✓ Бесплатное администрирование

✓ Только быстрые NVMe-диски

✓ Защита от DDoS-атак

✓ Быстрая техподдержка

Аренда VPS/VDS виртуального сервера от AdminVPS — это прозрачная и честная услуга с доступной ценой

Что такое виртуальный хост и зачем он нужен на сервере

Виртуальный хостинг — это технология, которая позволяет одному физическому серверу обслуживать несколько сайтов одновременно. В случае с OpenLiteSpeed виртуальные хосты позволяют создать для каждого сайта своё уникальное пространство: с отдельной корневой директорией, логами, настройками SSL и обработчиками скриптов.

Когда вы настраиваете виртуальный хост в OpenLiteSpeed, сервер определяет, какой именно сайт показать пользователю, на основании заголовка Host, который браузер отправляет при подключении. То есть, если вы разместили на одном VPS сайт вашей компании, блог и тестовую версию нового проекта, сервер разберёт запросы и отправит посетителя именно на нужный ресурс.

Такой подход имеет массу преимуществ:

  1. Экономия. Вместо аренды нескольких серверов можно использовать один мощный VPS или выделенный сервер.
  2. Упрощение администрирования. Все сайты находятся в одном месте, но изолированы друг от друга, что повышает безопасность.
  3. Гибкое масштабирование. Отдельный сайт можно быстро перенести на другую машину или выделить ему больше ресурсов.

Эта технология используется везде: от крупных порталов «Сбера» и «РЖД», где каждое подразделение может иметь свой поддомен, до небольших частных блогов и интернет-магазинов, размещённых на одном сервере.

Подготовка каталога для сайта

Перед тем как настроить новый сайт на OpenLiteSpeed, нужно подготовить для него рабочее пространство, а именно, создать каталог, который станет корневой папкой проекта. Именно сюда будут загружаться все файлы сайта: страницы, скрипты, стили и медиа-контент.

Сначала подключитесь к серверу по SSH и создайте корневой каталог для вашего сайта. Это место, где будут храниться все файлы проекта:

sudo mkdir -p /var/www/your-site-name.ru

Чтобы повысить безопасность, назначьте владельцем каталога системного пользователя nobody, который имеет минимальные права:

sudo chown -R nobody:nobody /var/www/your-site-name.ru/

Далее задайте стандартные права доступа:

sudo chmod -R 755 /var/www/your-site-name.ru/

Теперь перейдите в созданный каталог:

cd /var/www/your-site-name.ru/

И создайте там простой файл главной страницы сайта:

sudo vi index.html

Добавьте в него базовую HTML-разметку:

<html>
   <head>
      <title>Your OpenLiteSpeed Site</title>
   </head>
   <body>
      <h1>Your Site on OpenLiteSpeed:<br>your-site-name.ru!</h1>
   </body>
</html>

Эта страница пригодится для проверки, что всё работает корректно.

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

Виртуальный хост — это отдельная логическая единица внутри сервера, которая позволяет размещать несколько сайтов на одном IP-адресе. Каждый сайт работает независимо от других. Чтобы запустить новый проект на OpenLiteSpeed, нужно создать для него виртуальный хост через удобный веб-интерфейс управления сервером.

Для этого зайдите в панель управления на порт 7080 и перейдите во вкладку Virtual Hosts, затем нажмите 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 можно оставить без изменений, если в будущем планируется подключение PHP, Python или других серверных скриптов.

Когда заполните форму, нажмите Save.

Сохранение изменений в OpenLiteSpeed
Сохранение изменений в OpenLiteSpeed

OpenLiteSpeed сообщит, что файл конфигурации не существует — это нормально. Кликните CLICK TO CREATE, чтобы создать его автоматически.

Создание файла конфигурации
Создание файла конфигурации

После этого снова нажмите Save и перезапустите конфигурацию сервера через кнопку Graceful Restart.

Перезапуск конфигурации сервера
Перезапуск конфигурации сервера

Ручная настройка конфигурационного файла

Даже после создания виртуального хоста через панель управления OpenLiteSpeed некоторые важные параметры необходимо настроить вручную. От конфигурационного файла зависит, какие страницы будут загружаться по умолчанию, как будет вестись логирование событий и будет ли поддержка дополнительных функций вроде переадресаций и сжатия трафика.

Для точной настройки откройте созданный конфигурационный файл:

sudo vi /usr/local/lsws/conf/vhosts/your-site-name.ru/vhost.conf

И вставьте туда следующий код:

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
}

Эти строки задают корневую папку сайта, логирование ошибок и обращений, включают обработку файлов .htaccess, активируют gzip-сжатие для ускорения загрузки страниц.

После сохранения изменений снова зайдите в панель управления.

Привязка виртуального хоста к слушателю

Когда виртуальный хост настроен, остаётся указать OpenLiteSpeed, по какому порту и с каким доменным именем пользователи смогут заходить на сайт. Для этого существует механизм привязки виртуального хоста к так называемому слушателю (Listener). Именно слушатель принимает входящие запросы на определённом порту, например, 80-м для HTTP.

Сначала откройте веб-панель управления OpenLiteSpeed. После авторизации на главной странице перейдите в раздел Listeners — он отвечает за настройки портов и обработки запросов.

Там найдите активный слушатель, скорее всего он будет называться Default или Listener 80. Нажмите на значок View в колонке действий рядом с нужным слушателем, чтобы открыть его подробную конфигурацию.

Переход к конфигурации слушателя
Переход к конфигурации слушателя

Теперь нужно сопоставить созданный ранее виртуальный хост с этим слушателем. Для этого в разделе Virtual Host Mappings кликните кнопку Add.

Привязка хоста к слушателю
Привязка хоста к слушателю

Появится форма, где необходимо указать два важных параметра. В поле Virtual Host выберите из списка ваш сайт — тот самый виртуальный хост, который вы добавили на предыдущем этапе. А в поле Domain введите доменные имена, которые будут обслуживаться через этот слушатель. Например:

your-site-name.ru
www.your-site-name.ru

Несколько доменов разделяются запятыми без пробелов.

После заполнения нажмите Save, чтобы сохранить изменения.

Сохранение изменений
Сохранение изменений

На этом этапе виртуальный хост привязан к слушателю, и сервер понимает, какие домены ему нужно обрабатывать через какой порт. Но чтобы настройки заработали, нужно выполнить перезапуск сервера через кнопку Graceful Restart в верхней панели управления.

Перезагрузка конфигурации
Перезагрузка конфигурации

Это действие перезагрузит конфигурацию без прерывания текущих соединений. После перезапуска сайт начнёт полноценно отвечать на запросы по вашему доменному имени.

Разрешение доступа через файрвол

Даже если сайт правильно настроен и виртуальный хост привязан к слушателю, пользователи пока не смогут получить к нему доступ, если файрвол сервера блокирует нужные порты. Поэтому на этом этапе важно убедиться, что порт 80 для HTTP-запросов открыт.

Чтобы настроить доступ, подключитесь к серверу через SSH. Затем выполните команду, которая разрешит входящие подключения к порту 80:

sudo firewall-cmd --permanent --add-service=http

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

sudo firewall-cmd --reload

Если пропустить этот момент, сервер продолжит блокировать подключения, несмотря на все изменения в конфигурации OpenLiteSpeed.

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

sudo firewall-cmd --list-all

В выводе обязательно должен появиться HTTP среди разрешённых сервисов.

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

Проверка работы сайта

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

Самый простой способ — ввести в браузере адрес сайта и посмотреть результат. Но для более глубокого тестирования лучше использовать инструменты вроде curl или ping.

Команда:

curl -I http://your-site-name.ru

покажет заголовки ответа сервера. Если сервер работает правильно, вы увидите статус HTTP/1.1 200 OK. Если сервер недоступен или конфигурация неправильная, вернутся ошибки вроде 404 Not Found, 403 Forbidden или вообще отсутствие ответа.

Все коды ошибок сервера мы разбирали ранее в статье.

Если сайт не открывается:

  • Проверьте, правильно ли привязан домен в DNS-записях.
  • Убедитесь, что файрвол разрешает подключения.
  • Проверьте логи OpenLiteSpeed: ошибки в файлах error.log могут подсказать проблему.
  • Проверьте статус службы веб-сервера (systemctl status lsws) — иногда сервер может быть остановлен из-за ошибок в конфигурации.

Полная проверка на старте экономит массу времени в будущем, особенно если сайт будет подвергаться серьёзной нагрузке или станет доступен большому числу пользователей.

Риски неправильной настройки прав доступа на сервере

Веб-серверы, такие как OpenLiteSpeed, требуют тщательной настройки прав доступа. Здесь владельцем директорий назначают nobody — специального пользователя с минимальными правами. Это помогает защитить сервер: даже при атаке злоумышленник не сможет выйти за пределы веб-пространства.

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

В 2022 году в России несколько малых бизнесов пострадали из-за таких открытых папок: сайты были взломаны, данные утекли, а компании потеряли клиентов и деньги.

Чтобы избежать проблем, файлы должны принадлежать безопасному пользователю, вроде nobody, с правами 755 для папок и 644 для файлов. И в корневой директории не должно быть старых архивов или ненужных скриптов.

Заключение

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

OpenLiteSpeed быстро обрабатывает запросы и позволяет настроить окружение под каждую задачу. Можно выделить отдельные настройки для сайтов, использовать разные версии PHP и держать проекты в чистоте и порядке. Это особенно важно, если планируете развивать сервер и запускать новые сайты.

Читайте в блоге:

Loading spinner
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

VPN на VPS-сервере

Узнайте, как создать собственный VPN на VPS-сервере для защиты ваших конфиденциальных данных!

Что будем искать? Например,VPS-сервер

Мы в социальных сетях