Проблема виртуальных хостов становится довольно острой, когда у вас имеется в интернете 2 хоста или более. Для их администрирования обычным localhost не отвертишься. А вот с помощью виртуальных хостов и сервера apache эту проблему вполне можно решить таким образом: для обращения к документам первого хоста в строке адреса нужно будет ввести http://host1, а для обращения к документам второго хоста - http://host2, причем эти документы (а также скрипты) будут находится в совершенно разных директориях.
Сразу скажу: сделать виртуальные хосты совсем не сложно.
Как вы помните из установки сервера apache в главном каталоге наряду с каталогами www и cgi существует каталог home - он нам и нужен.
Здесь и будут храниться документы наших хостов. Как это принято в unix, каждый сервер будет представлен своим каталогом в директории home с именем, совпадающим с именем сервера.
Итак установка виртуального хоста №1 (Скажу сразу, что второй виртуальный создается аналогично). Назовем его host1 и пусть его ip адрес будет 127.0.0.2
1. В директории home создайте папку host1. В этой папке создайте директории www и cgi. Впоследствии в директории host1 вы обнаружите еще два файла access.log и error.log - их apache создаст автоматически (если возникнут какие - либо проблемы, то создайте их вручную).
2. Теперь откройте конфигурационный файл httpd.conf, который находится в директории apacheconf.
В самый конец этого файла нужно добавит несколько следующих строк:
#----host1----
serveradmin webmaster@serv1.ru
servername host1
documentroot "c:/server/home/host1/www"
scriptalias /cgi/ "c:/server/home/host1/cgi/"
errorlog c:/server/home/host1/error.log
customlog c:/server/home/host1/access.log common
#----/host1----
Это при условии, что основной каталог сервера находится по адресу c:server
3. Теперь в папке windows найдите файл hosts. (В xp этот файл находится в директории c:windowssystem32driversetc )Он так и называется "hosts" без расширения. Если такого файла нет, то создайте его.
Его содержание по умолчанию следующее:
127.0.0.1 localhost
Добавьте в него следующую строчку, которая будет идентифицировать имя нашего виртуального хоста:
127.0.0.2 host1
Таким образом вы создали виртуальный хост со следующими параметрами:
Имя хоста - host1
ip адрес 127.0.0.2
Хост доступен по адресу - http://127.0.0.2 или же, что гораздо удобней http://host1
Расположен в home/host1
Директория для хранения документов - home/host1/www
Директория для скриптов - home/host1/cgi
Файлы acces.log и error.log находятся в home/serv1
Ну вот и все виртуальный хост с именем host1 создан. Если вы хотите создать новый виртуальный хост, то не забудьте, что его ip адрес должен отличаться от ip адресов уже созданных виртуальных хостов, и конечно же ip не должен быть равен 127.0.0.1 - этот ip специально зарезервирован для основного сервера localhost и его не рекомендуется использовать. Вообще для корректной работы лучше всего создавать виртуальные хосты с последовательными ip адресами (т.е. 127.0.0.2 127.0.0.3 127.0.0.4).
samouchka.net