MyTetra Share
Делитесь знаниями!
Как в Apache включить дефолтный виртуальный хост
Время создания: 01.01.2014 18:33
Автор: xintrea
Текстовые метки: Apache, Апач, виртуальный хост, дефолтный, по-умолчанию, default
Раздел: Компьютер - Linux - Сеть в Linux - Apache
Запись: xintrea/mytetra_syncro/master/base/13885867990jeolj4n5o/text.html на raw.github.com

Иногда у Web-разработчика возникает следующая ситуация.


Имеется рабочая станция с IP 129.168.1.5, на которой запущен Apache-2 и настроено несколько виртуальных хостов. Разработчик может в строке браузера набрать имя виртуального хоста, и, если оно было правильно прописано в файле /etc/hosth, например, так:


127.0.0.1 one.ru

192.168.1.5 one.ru

127.0.0.1 two.ru

192.168.1.5 two.ru


то откроется нужный хост по имени.


Теперь вопрос: а какой хост откроется, если в строке браузера написать не имя, а IP?


http://192.168.1.5


Что откроется?


Овет: откроется тот, который прописан по-дефолту, или тот, у которого имя при сортировке по алфавиту стоит "выше". В нашем случае, если дефолтный хост не был прописан, откроется one.ru.


А нам нужно, чтобы открывался two.ru. (Например, нам нужно протестировать разрабатываемый сайт с другого компьютера, который находится в той же сети. Для этого мы хотим обратиться к 192.168.1.5 и увидеть сайт two.ru).


Чтобы это сделать, нам нужно выполнить следующую команду (от рута):


a2ensite 000-default


в результате будет создан файл @000-default.conf в каталоге /etc/apache2/sites-enable. В нем можно прописать настройку хоста, открывающегося по-дефолту. Перед тем, как менять содержимое этого файла, нужно проверить, как прописался дефолтный хост. Для этого нужно дать команду Апачу, чтобы он перечитал конфигурцию:


service apache2 reload


Затем в браузере нужно открыть IP-шник http://192.168.1.5 и можно увидеть что-то в стиле:


It works!


После этого можно прописывать нужный хост. Для этого надо привести содержание файла @000-default.conf примерно к следующему виду:


<VirtualHost *:80>


ServerName two.ru

ServerAlias www.two.ru


DocumentRoot "/var/www/two.ru"


<Directory "/var/www/two.ru">

allow from all

Options +Indexes

AllowOverride all

</Directory>


</VirtualHost>


Затем нужно снова перечитать конфигурацию апача:


service apache2 reload


И теперь при открытии IP 192.168.1.5 будет показан хост two.ru.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования