CodeNet / Веб программирование / WEB Сервера / Apache / Apache + Perl + PHP 3.0 для Windows 95/98: руководство по установке
Apache + Perl + PHP 3.0 для Windows 95/98: руководство по установке
Итак, Вы установили Apache. Получили, таким образом, директорию g:/www для хранения документов и g:/cgi-bin для CGI. Но вот беда: в Интернете вы поддерживаете несколько серверов, а Apache создал для вас только один. Конечно, можно структуру этих несколькох серверов хранить на одном сервере, однако проще и удобнее было бы создать несколько виртуальных хостов с помощью Apache, например, один с именем serv1 и адресом 127.0.0.2, а другой - с именем serv2 и адресом 127.0.0.3. (Конечно, вместо "serv1" и "serv2" Вам нужно будет указать желаемые имена Ваших виртуальных хостов. Советуем назвать их так же, как и на Вашем настоящем Web-сервере - это может многое упростить при программировании скриптов.)
Как это принято в Unix, каждый сервер будет представлен своим каталогом в директории g:/home с именем, совпадающим с именем сервера. Например, сервер serv1 будет храниться в директории g:/home/serv1, которую Вам необходимо создать прямо сейчас. В этой директории будут находиться:
- файл access.log с журналом доступа к виртуальному серверу.
- файл errors.log с журналом ошибок сервера. директория www, где будут храниться
- html-документы. директория cgi для хранения CGI-программ.
Последние две директории (www и cgi) Вам тоже необходимо создать прямо сейчас.
Далее, для установки виртуального хоста необходимо сделать некоторые изменеия в файле конфигурации Apache httpd.conf (см. выше), а также в некоторых файлах Windows. Вот необходимые действия:
- Откройте директорию g:\usr\local\apache\conf. Откройте находящийся там файл httpd.conf. Перейдите в его конец, Вам предстоит добавить туда несколько строк.
- Пропишите следующие строки в конце файла после всех комментариев:
#----serv1 <VirtualHost 127.0.0.2> ServerAdmin webmaster@serv1.ru ServerName serv1 DocumentRoot "g:/home/serv1/www" ScriptAlias /cgi/ "g:/home/serv1/cgi/" ErrorLog g:/home/serv1/error.log CustomLog g:/home/serv1/access.log common </VirtualHost>
При желании можно добавить и другие параметры (например, DirectoryIndex и т.д.) Вообще, не переопределенные параметры наследуются виртуальным хостом от главного.
- Теперь надо немного подправить системный файл hosts, который находится в C:\WINDOWS\hosts (такого файла может не быть по умолчанию - в этом случае его надо создать). hosts - обычный текстовый файл, и в нем обычно заранее прописана только одна строка:
127.0.0.1 localhost
именно эта строка и задает соответствие имени localhost адресу 127.0.0.1. (Ради справедливости следует сказать, что имя localhost работает и без указанной выше строки. Ну и выдумщики же эти парни из фирмы Microsoft!) Для нашего виртуального хоста надо добавить соответствующую строчку, чтобы файл выглядел так:
127.0.0.1 localhost 127.0.0.2 serv1
Этим Вы создадите виртуальных хост со следующими свойствами:
Имя - serv1. Доступен по адресу http://serv1 (или http://127.0.0.2). Расположен, соответственно, в директории g:/home/serv1. Директория для хранения документов - g:/home/serv1/www, доступная по адресу http://serv1/. Директория для CGI - g:/home/serv1/cgi,доступная по адресу http://serv1/cgi/ Файлы журналов хранятся в g:/home/serv1
Ну вот, мы создали один виртуальный хост! Если будет необходимо сделать второй, нужно просто проделать аналогичные действия, заменив параметры, связанные с расположением хоста на диске. Главное, не забудьте в этом случае указать другой IP-адрес (лучше всего указывать их последовательно, начиная с 127.0.0.2, затем 127.0.0.3 и т.д. - в этом случае все работает корректно). Желательно также для этих целей не указывать IP-адрус http://127.0.0.1, так как это - адрес главного сервера.
Кстати, необходимо заметить, что главный хост (невиртуальный, тот, который мы создали в раздулах 1 и 2) по-прежнему доступен по адресу http://127.0.0.1 или http://localhost. Более того, его директория cgi-bin "видна" всем созданным виртуальным хостам, так что Вы можете ее использовать.
Оставить комментарий
Комментарии
C:\www\c\cat\cat.codenet.ru\
Он обычно используется на серверах бесплатного хостинга.
А с виртуальным хостами я посупил бы по другому.
Сделал бы несколько хостов, указывая * вместо IP:
DocumentRoot E:/localhost/test1/ # папка начиная от диска.
ServerName test1.com
</VirtualHost>
<VirtualHost *>
DocumentRoot E:/localhost/test2/ # папка начиная от диска.
ServerName test2.com
</VirtualHost>
А потом уже в файле C:\WINDOWS\SYSTEM32\DRIVERS\ETC\hosts прописал хосты:
127.0.0.1 test2.com
Дело не в Винде это точно.
Я незнаю почему тут показан экземпляр кода для виртуального хоста, но он не работает.
И кстате на многих сайтах показано по разному, а работает только так.
Для начала убираем знак # в строчке
LoadModule vhost_alias_module modules/mod_vhost_alias.so
потом делаю примерно такой код в самом низу файла.
<VirtualHost IP адрес:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot E:/localhost/www/ # папка начиная от диска.
ServerName myhost.com
ErrorLog E:/localhost/v_host_log/error_log
CustomLog logs/dummy-host.example.com-access_log common
<Directory "E:/localhost/www/">
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
</VirtualHost>
____________________________________
У меня так работает
Появляется страница на которой говорится, невозможно отобразить страницу. Подскажите в чем проблема? Может проблема в винде у меня winXP sp2.