VirtualHost — директива в конфигурационном файле веб-сервера Apache, предназначенная для сопоставления доступных на сервере IP-адресов, доменов и директорий на сервере, а также управления доступными на сервере сайтами.

В теге <VirtualHost> указываются IP-адреса и порты, которые используются на сервере. Вместо адреса или порта можно указать *, тогда прослушиваться будут все доступные на сервере IP-адреса.

Теги <Directory> используются для указания правил внутри определённых директорий. Например, AllowOverride All позволяет использовать внутри директорий сервера файлы .htaccess, allow from all позволяет доступ из Интернета со всех адресов (если это не будет переопределено нижележащими файлами .htaccess), а RedirectMatch управляет перенаправлениями.

Основные настройки

править
  • ServerAdminэлектронная почта администратора сервера.
  • ServerName — доменное имя сервера.
  • ServerAlias — алиас (псевдоним) для имени сервера.
  • DocumentRoot — корневая директория виртуального хоста в операционной системе.
  • ErrorLog — название журнала ошибок сервера.
  • CustomLog — название журнала доступа к серверу.

Пример

править
<VirtualHost 12.34.56.78>
	ServerAdmin webmaster@domain.ltd
	ServerName domain.ltd
	ServerAlias domain.ltd *.domain.ltd

	DocumentRoot /var/www/domain.ltd/htdocs/
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/domain.ltd/htdocs/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
		# This directive allows us to have apache2's default start page
                # in /apache2-default/, but still have / go to the right place
                RedirectMatch ^/$ /index.html
        </Directory>

	ErrorLog /var/log/apache2/domain.ltd-error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/domain.ltd-access.log combined
	ServerSignature On
</VirtualHost>

Источники

править