| Код | Виртуальные хосты
Итак, вы создали каталог "localhost" для хранения и тестирования документов вашего сайта. Но если у вас не один сайт? Можно конечно создать каталоги для других сайтов внутри "localhost" и обращаться к ним "http://localhost/site", но это не совсем удобно. Тем более, что Apache дает возможность решить эту проблему с помощью виртуальных хостов. Есть два вида виртуальных хостов: отдельные для каждого IP адреса и использующие один IP (name-based хосты). Я объясню как настроить последние.
Вы уже создали ранее папки "neebet" и "mysite" в директории "home". Это и есть корни ваших виртуальных хостов. В них должны быть папки "www" и "cgi", файлы access.log и error.log. Т. е. все так же как и с каталогом "localhost". Все ваши виртуальные хосты будут использовать IP "127.0.0.1".
Добавьте в файл "httpd.conf" следующее:
NameVirtualHost 127.0.0.1
#localhost
<VirtualHost localhost> ServerAdmin me@localhost ServerName localhost DocumentRoot "C:/Sites/home/localhost/www" ScriptAlias /cgi/ "C:/Sites/home/localhost/cgi/" ErrorLog C:/Sites/home/localhost/error.log CustomLog C:/Sites/home/localhost/access.log common </VirtualHost>
#neebet
<VirtualHost neebet> ServerAdmin me@neebet ServerName neebet DocumentRoot "C:/Sites/home/neebet/www" ScriptAlias /cgi/ "C:/Sites/home/neebet/cgi/" ErrorLog C:/Sites/home/neebet/error.log CustomLog C:/Sites/home/neebet/access.log common </VirtualHost>
#mysite
<VirtualHost mysite> ServerAdmin me@mysite ServerName mysite DocumentRoot "C:/Sites/home/mysite/www" ScriptAlias /cgi/ "C:/Sites/home/mysite/cgi/" ErrorLog C:/Sites/home/mysite/error.log CustomLog C:/Sites/home/mysite/access.log common </VirtualHost>
Можно добавить в блоки "<VirtualHost>" и другие параметры, однако лучше управлять виртуальными хостами с помощью .htaccess. Также стоит отметить, что все параметры, не указанные в блоках "<VirtualHost>" или в .htaccess, наследуются от главного хоста (т. е. от "localhost").
Т. о. вы настроили Apache для работы с виртуальными хостами. Имена, естесственно, можно изменить, но при этом будте внимательны с путями!
Теперь определимся с тем, как Windows узнает о существовании виртуальных хостов? Для этого придется отредактировать файл "hosts" (не путать с файлом "hosts.sam"), хранящийся в папке "%WINDOWS%\System32\drivers\etc". Выглядит он примерно так:
# (C) Корпорация Майкрософт (Microsoft Corp.), 1993-1999 # # Это образец файла HOSTS, используемый Microsoft TCP/IP для Windows. # # Этот файл содержит сопоставления IP-адресов именам узлов. # Каждый элемент должен располагаться в отдельной строке. IP-адрес должен # находиться в первом столбце, за ним должно следовать соответствующее имя. # IP-адрес и имя узла должны разделяться хотя бы одним пробелом. # # Кроме того, в некоторых строках могут быть вставлены комментарии # (такие, как эта строка), они должны следовать за именем узла и отделяться # от него символом '#'. # # Например: # # 102.54.94.97 rhino.acme.com # исходный сервер # 38.25.63.10 x.acme.com # узел клиента x
127.0.0.1 localhost
В него нужно будет дописать две строки:
127.0.0.1 neebet 127.0.0.1 mysite
Теперь, при обращении http://neebet загрузится содержимое "C:\Sites\home\neebet\www".
Для вступления изменений в силу - перезапустите Apache.
|
Если это не внесет ясность. Поисковик тебе поможет, статей написано предостачно. |