Изучая конфигурацию виртуального хоста /etc/apache2/sites-available/site.conf
, мы можем заметить, что она состоит из разделов (секций), каждая из которых определяет набор директив для конкретной части работы веб-сервера Apache.
Пример конфигурации виртуального хоста site.conf
может выглядеть следующим образом:
<VirtualHost *:80>
ServerName example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/html/example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html/example.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
В этом примере используются следующие директивы:
ServerName
— указывает имя доменного имени, для которого будет работать виртуальный хост (в данном случае example.com).ServerAdmin
— определяет администратора сайта, который получит письма по электронной почте при возникновении проблем с веб-сайтом.DocumentRoot
— указывает директорию, содержащую HTML-документы и другие файлы для отображения на сайте (в данном случае /var/www/html/example.com).ErrorLog
иCustomLog
— указывают логгирование ошибок и статистики соответственно, которые будут храниться в директории ${APACHE_LOG_DIR} (обычно /var/log/apache2).<Directory>
— блок директив для управления доступом к определенной папке и всем подпапкам, которые находятся внутри нее. В данном случае установлено несколько опций поведения Apache для этой директории:Options Indexes FollowSymLinks MultiViews
,AllowOverride All
(разрешает переопределять стандартные настройки через .htaccess) иRequire all granted
(открывает доступ к папке всем).
Для работы с указанной конфигурацией необходимо, чтобы были установлены следующие модули Apache:
mod_virtualhost
— для создания виртуальных хостов;mod_dir
иmod_autoindex
— для работы с директориями и индексами по умолчанию (Indexes);mod_log_config
— для настройки логов Apache;mod_alias
— для создания символических ссылок в контексте директорий и файлов;mod_mime
илиmod_mime_magic
— для определения типов MIME-файлов;mod_userdir
(необязательно) — если требуется разрешить пользователям создавать свои собственные веб-сайты в директориях по умолчанию для каждого пользователя.