Apache + Perl + PHP3 + MySQL для Windows 9x

Виртуальные хосты Apache - как это настроить?


"Виртуальные хосты - хосты, имеющие уникальный адрес

в Интернет, эмулируемые и поддерживаемые сервером"

Древнее языческое заклинание

Итак, Вы установили Apache. Получили, таким образом, директорию f:/www

для хранения документов и f:/cgi-bin

для CGI. Но вот беда: в Интернете вы поддерживаете несколько серверов, а Apache создал для вас только один. Конечно, можно структуру этих несколькох серверов хранить на одном сервере, однако проще и удобнее было бы создать несколько виртуальных хостов с помощью Apache, например, один с именем serv1 и адресом 127.0.0.2, а другой - с именем serv2 и адресом 127.0.0.3. (Конечно, вместо "serv1" и "serv2" Вам нужно будет указать желаемые имена Ваших виртуальных хостов. Советуем назвать их так же, как и на Вашем настоящем Web-сервере - это может многое упростить при программировании скриптов.)

Как это принято в Unix, каждый сервер будет представлен своим каталогом в директории f:/home с именем, совпадающим с именем сервера. Например, сервер serv1

будет храниться в директории f:/home/serv1, которую Вам необходимо создать прямо сейчас. В этой директории будут находиться:

1.       файл access.log с журналом доступа к виртуальному серверу.

2.       файл errors.log с журналом ошибок сервера.

3.       директория www, где будут храниться html-документы.

4.       директория cgi для хранения CGI-программ.

Последние две директории (www и cgi) Вам тоже необходимо создать прямо сейчас.



Далее, для установки виртуального хоста необходимо сделать некоторые изменеия в файле конфигурации Apache httpd.conf

(см. выше), а также в некоторых файлах Windows. Вот необходимые действия:

1.       Откройте директорию f:\usr\local\apache\conf. Откройте находящийся там файл httpd.conf. Перейдите в его конец, Вам предстоит добавить туда несколько строк.

2.       Пропишите следующие строки в конце файла после всех комментариев:


3.       #----serv1

4.       <VirtualHost 127.0.0.2>

5.         ServerAdmin webmaster@serv1.ru

6.         ServerName serv1

7.         DocumentRoot "f:/home/serv1/www"

8.         ScriptAlias /cgi/ "f:/home/serv1/cgi/"

9.         ErrorLog f:/home/serv1/error.log

10.      CustomLog f:/home/serv1/access.log common

11.    </VirtualHost>

При желании можно добавить и другие параметры (например, DirectoryIndex и т.д.) Вообще, не переопределенные параметры наследуются виртуальным хостом от главного.

12.    Теперь надо немного подправить системный файл 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

Этим Вы создадите виртуальных хост со следующими свойствами:

1.       Имя - serv1

2.       Доступен по адресу http://serv1 (или http://127.0.0.2).

3.       Расположен, соответственно, в директории f:/home/serv1.

4.       Директория для хранения документов - f:/home/serv1/www, доступная по адресу http://serv1/.

5.       Директория для CGI - f:/home/serv1/cgi, доступная по адресу http://serv1/cgi/

6.       Файлы журналов хранятся в f:/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

"видна" всем созданным виртуальным хостам, так что Вы можете ее использовать.


Содержание раздела