Как настроить Apache
Итак, Вы установили Apache. Получили, таким образом, директорию
f:/web/www для хранения документов и
f:/web/cgi-bin для CGI. Но вот
беда: в Интернете вы поддерживаете несколько серверов, а
Apache создал для вас только один. Конечно, можно структуру этих несколькох серверов хранить на одном сервере, однако проще и удобнее было бы создать несколько виртуальных хостов с помощью Apache, например, один с именем serv1 и адресом 127.0.0.2, а другой - с именем serv2 и адресом 127.0.0.3. (Конечно, вместо "serv1" и "serv2" Вам нужно будет указать желаемые имена
Ваших виртуальных хостов. Советуем назвать их так же, как и на
Вашем настоящем Web-сервере - это может многое
упростить при программировании скриптов.)
Как это принято в Unix,
каждый сервер будет представлен своим каталогом в директории f:/web/homeс
именем, совпадающим с именем сервера. Например, сервер serv1
будет храниться в директории f:/web/home/serv1, которую
Вам необходимо создать прямо сейчас. В этой директории будут находиться:
файл access.log с журналом доступа к виртуальному серверу.
файл errors.log с журналом
ошибок сервера.
директория www, где
будут храниться html-документы.
директория cgi для хранения CGI-программ.
Последние две
директории (www и cgi) Вам тоже
необходимо создать прямо сейчас.
Далее, для
установки виртуального хоста необходимо сделать некоторые изменеия в файле конфигурации Apache httpd.conf (см. выше), а также в некоторых файлах Windows. Вот необходимые действия:
1. Откройте
директорию f:\usr\local\apache\conf. Откройте
находящийся там файл httpd.conf. Перейдите в его
конец, Вам предстоит добавить туда несколько строк.
2. Пропишите
следующие строки в конце файла после всех комментариев:
#----serv1
<VirtualHost 127.0.0.2>
ServerAdmin webmaster@serv1.ru
ServerName serv1
DocumentRoot "f:/web/home/serv1/www"
ScriptAlias /cgi/ "f:/web/home/serv1/cgi/"
ErrorLog f:/web/home/serv1/error.log
CustomLog f:/web/home/serv1/access.log common
</VirtualHost>
При желании можно добавить и другие
параметры (например, DirectoryIndex и т.д.) Вообще, не переопределенные параметры наследуются виртуальным хостом от главного.
3. Теперь надо немного подправить системный файл 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).
- Расположен, соответственно, в директории
f:/web/home/serv1.
- Директория для хранения документов -
f:/web/home/serv1/www, доступная по адресу
http://serv1/.
- Директория для CGI - f:/web/home/serv1/cgi,
доступная по адресу http://serv1/cgi/
- Файлы журналов хранятся в f:/web/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 "видна" всем созданным виртуальным хостам, так что Вы можете ее использовать.
|