Термин виртуальный хост относится к практике размещения более чем одного веб-сайта (например, www.company1.com и www.company2.com) на одной машине. Виртуальный хост может быть как «привязанным к IP-адресу», что означает использование отдельного IP адреса для каждого сайта, либо «привязанным к имени», позволяя вам иметь несколько различных имен для каждого IP-адреса. Факт того, что эти сайты работают на одном и том же физическом сервере, не очевиден конечным пользователям.
Apache был одним из первых серверов, который поддерживал IP-привязанные виртуальные хосты. Версии Apache 1.1 и более новые поддерживают как IP-привязанные, так и виртуальные хосты, определяемые по имени. Последний вариант виртуальных хостов также иногда называют хост-привязанными или не-IP виртуальными хостами.
Для того, чтобы тестировать или запускать сайт на локальном компьютере, имея красивый локальный url, необходимо создать новый виртуальный хост.
Например:
Сообщаем Apache что хотим добавить:
Код
$ sudo nano /etc/apache2/sites-available/your_site.conf
В нем пишем:
Код
<VirtualHost *:80>
ServerAdmin webmaster@your_site
DocumentRoot /home/user/site/your_site
ServerName your_site
ServerAlias www.your_site
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/user/site/your_site/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
ServerAdmin webmaster@your_site
DocumentRoot /home/user/site/your_site
ServerName your_site
ServerAlias www.your_site
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/user/site/your_site/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Изменяем содержание файла hosts:
Код
$ sudo nano /etc/hosts
Добавляя запись:
Код
127.0.0.1 your_site
127.0.0.1 www.your_site
127.0.0.1 www.your_site
Включаем сайт:
Код
$ sudo a2ensite your_site
Перезагружаем apache:
Код
$ sudo service apache2 restart
Проверяем в браузере, набрав:
Код
http://your_site
Готово!