Описание и настройка
Директивы файла httpd.conf
Port
Port 80
Устанавливает порт TCP, который используется Apache для установки соединения. По умолчанию используется 80 порт.
Примечание:
Единственная причина использования нестандартного порта — это отсутствие прав на использование стандартного порта. При использовании нестандартного порта, например, 8080 номер порта следует указывать в адресе, например: http://localhost:8080/.
ServerAdmin
ServerAdmin localhost@localhost
Содержит e-mail-адрес администратора web-сервера, который будет отображаться при ошибках работы сервера.
ServerName
ServerName localhost
Содержит имя компьютера для сервера.
ServerRoot
ServerRoot "C:/Apache2"
Указывает на каталог, содержащий файлы WEB-сервера Apache.
Примечание:
Не путайте директиву ServerRoot с директивой DocumentRoot, которая указывает каталог для файлов WEB-сайта.
DocumentRoot
DocumentRoot "C:/Apache2/htdocs"
Определяет каталог, в котором расположены файлы WEB-сайта.
Контейнер <Directory />
Сфера действия директив внутри этого контейнера распространяется на все файлы и подкаталоги внутри DocumentRoot.
<Directory />
Options FollowSymLinks Includes Indexes
AllowOverride All
</Directory>
• Директива AllowOverride установленная в значение All разрешает переопределять значения главного конфигурационного файла httpd.conf в файлах .htaccess.
• Директива Options FollowSymLinks разрешает Apache следовать символическим ссылкам.
• Директива Options Includes разрешает выполнение директив SSI (Server Side Includes) в коде страниц web-сайта.
• Директива Options Indexes указывает, что нужно возвращать содержимое каталога, если отсутствует индексный файл.
DirectoryIndex
DirectoryIndex index.html index.phtml index.php
Содержит список индексных файлов, которые следует отображать при обращении к директории без указания имени файла (например, http://localhost/test/).
AddDefaultCharset
AddDefaultCharset windows-1251
Устанавливает кодировку по умолчанию, если кодировка не установлена в заголовке HTML-документа. Также Вам может потребоваться указывать значение кодировки KOI8-R.
Создание виртуальных хостов
На одном WEB-сервере Apache можно установить несколько WEB-сайтов. Эта функция сервера называется виртуальным хостингом. Ниже рассмотрим создание виртуальных узлов на основе имен. Виртуальные узлы обычно расположены в конце файла httpd.conf.
Сначала требуется указать какой IP-адрес используется для виртуальных хостов.
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
# Директивы виртуального хоста
</VirtualHost>
Далее нужно прописать директивы для контейнера <VirtualHost>, которые будут определять конфигурацию виртуального хоста.
Файл httpd.conf. Контейнер <VirtualHost>
<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@may_domain.ru
DocumentRoot c:/www/mysite
ServerName wwwmysite.ru
ServerAlias wwwsite.ru wwwhost2.ru
ErrorLog logs/mysite-error.log
CustomLog logs/mysite-access.log common
</VirtualHost>
Рассмотрим директивы виртуального узла:
• DocumentRoot указывает каталог, где расположены файлы (странички) данного виртуального узла (WEB-сайта)
• ServerName указывает имя виртуального узла, по которому к нему можно обратиться. В данном случае, по адресу http://www.mysite.ru/.
• ServerAlias содержит псевдонимы имен виртуального узла. В данном случае к виртуальному узлу можно также обратиться, используя имена: http://www.site.ru/ и http://www.host2.ru/.
• ErrorLog и CustomLog указывает имена логов сервера для этого виртуального хоста.
Контейнеры обычно располагают один за другим в конце файла httpd.conf.
Файл httpd.conf. Настройка виртуальных хостов
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
# Директивы виртуального хоста 1
</VirtualHost>
<VirtualHost 127.0.0.1:80>
# Директивы виртуального хоста 2
</VirtualHost>
<VirtualHost 127.0.0.1:80>
# Директивы виртуального хоста 3
</VirtualHost>
Примечание:
Для применения изменений, вносимых в файл httpd.conf, Apache следует перезагрузить.
Для того, чтобы обращаться к виртуальным узлам по именам их следует прописать в базы данных DNS-сервера. Если Вы используете Apache для тестирования файлов на локальной машине, то имена ваших виртуальных узлов следует прописать в файле hosts. Для Windows 2000 и XP он расположен в каталоге C:WindowSystem32Driversets. Файл hosts содержит записи вида:
Формат записей файла hosts
127.0.0.1 wwwmysite.ru
127.0.0.1 wwwsite.ru
127.0.0.1 wwwhost2.ru