Apache. Виртуальные хосты в режиме эксперта
Создать виртуальный хост в BeAdmin можно только в режиме эксперта — конфиг редактируется вручную. В этой статье разобрали шаблон, проверку ServerName, подключение PHP через PHP-FPM и работу с .htaccess. Об установке модуля и режимах работы рассказали в Быстром старте.
Создание виртуального хоста
Для настройки виртуального хоста Apache потребуется вручную задать его конфигурацию в формате <VirtualHost>...</VirtualHost>.
Чтобы создать хост:
- В боковом меню раздела Apache нажмите «Создать виртуальный хост».
- В открывшемся диалоге «Настроить конфигурацию хоста» укажите доменное имя сайта (например,
example.com). Это значение пойдёт в имя файла конфигурации (example.com.conf) и в проверкуServerName. - Нажмите «Продолжить».
- Откроется редактор с шаблоном
<VirtualHost>— адаптируйте его под свой сайт. - Нажмите «Создать».
Стандартный шаблон выглядит так:
<VirtualHost *:8808>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /home/www/example.com/public
<Directory /home/www/example.com/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
DirectoryIndex index.php index.html
</VirtualHost>Что делает каждая директива:
<VirtualHost *:8808>— Apache принимает запросы со всех интерфейсов на порту 8808.ServerName— основной домен сайта; должен совпадать с тем, что вы ввели в форме (см. ниже).ServerAlias— дополнительные домены и поддомены, которые обслуживает этот же виртуальный хост.DocumentRoot— путь к файлам сайта на диске.<Directory ...>— правила для конкретной директории:Options Indexes FollowSymLinks— показывает листинг директории и разрешает переходить по символическим ссылкам.AllowOverride All— разрешает использовать.htaccess.Require all granted— открывает доступ.
DirectoryIndex— порядок поиска индексного файла, если запросили директорию.
После сохранения хост появится в боковом меню и сразу начнёт принимать запросы (если Apache запущен). BeAdmin сам перечитывает конфиг Apache без перезапуска службы — открытые соединения не разрываются, нажимать «Перезагрузить конфигурацию» в шапке модуля не нужно.
Порт в шаблоне
Порт *:8808 в первой строке шаблона — это HTTP-порт связки Nginx + Apache, дефолт BeAdmin для этого режима. Если Apache работает в автономном режиме, поправьте порт на :80 — или на тот, который задали в диалоге установки модуля. Для HTTPS-хоста используйте :8843 (связка) или :443 (автономный режим). Подробнее про режимы и дефолтные порты — в Быстром старте.
ServerName должен совпадать с доменом
Панель проверяет, что значения ServerName и ServerAlias в конфиге равны введённому в поле домену или оканчиваются на него (поддомены *.example.com допустимы). Если в поле — example.com, а в конфиге ServerName api.other.com, сохранить хост не получится.
Управление существующим хостом
Отключить хост, не удаляя, нельзя — закомментируйте <VirtualHost>-блок и нажмите «Обновить», либо удалите файл целиком. Удалить хост можно из бокового меню — иконкой корзины рядом с его именем.
Подключение PHP через PHP-FPM
Из коробки модуль Apache в BeAdmin ставит чистый Apache, без PHP-обработчика. Чтобы подключить PHP, добавьте внутрь <VirtualHost>-блока (рядом с <Directory>) блок для PHP-FPM:
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php8.3-fpm.sock|fcgi://localhost"
</FilesMatch>Модуль PHP в BeAdmin поддерживает несколько версий; каждая создаёт свой сокет /var/run/php/php<версия>-fpm.sock — например, php8.3-fpm.sock. Версию для конкретного сайта посмотрите в модуле PHP и подставьте в SetHandler.
.htaccess и AllowOverride
.htaccess — файл с директивами Apache в директории сайта. Apache читает его при каждом запросе, перезапускать службу не нужно. Чтобы это работало, в конфиге <Directory> соответствующего хоста должна стоять директива AllowOverride All — она уже есть в стандартном шаблоне выше.
Чтобы отредактировать .htaccess, откройте раздел «Файлы» в BeAdmin, перейдите в директорию сайта и откройте файл в редакторе. Если файла ещё нет — создайте его там же. Изменения подхватятся со следующего запроса.
См. также
- Apache. Быстрый старт — обзор модуля, режимы работы, установка.
- Официальная документация Apache HTTP Server — справочник по директивам, модулям и MPM-моделям.