Web-сервер представляет собой очень сложный программный продукт, который работает на разных платформах и в разных операционных системах. Для корректной работы в установленной системе его необходимо настроить.
По умолчанию настройки Apache расположены в файле «httpd.conf» в каталоге «conf«.
Далее будут описаны основные директивы конфигурационного файла «httpd.conf» и их общеупотребительные значения.
Следует обратить особое внимание на путь к файлам в конфигурационных файлах Apache и РНР. Вам часто придется указывать пути к различным каталогов и файлов. В операционных системах UNIX и Windows применяются различные разделители каталогов. В UNIX используется прямая косая черта (/) в Windows — обратная (\). В некоторых директивах Apache и РНР работают оба вида разделителей каталогов. Но поскольку Apache и РНР изначально разрабатывались под UNIX, то, применяя их «родной» формат, вы сможете избежать ряда проблем. Поэтому пути в конфигурационных файлах «httpd.conf» и «php.ini» рекомендуется писать через слеш в формате UNIX — «/».
К примеру:
ScriptAlias "/php_dir/" "c:/php/"
Директивы файла httpd.conf:
Port — задает порт TCP, который используется Apache для установления соединения. По умолчанию указывается порт 80. Также порт можно указать в директиве ServerName.
Port 80
Единственная причина установления нестандартного порта — это отсутствие прав на использование стандартного порта. При использовании нестандартного порта, например, 8080, номер порта следует указывать в адресе «http://localhost:8080/«.
ServerAdmin — содержит заданный адрес электронной почты администратора Web-сервера. Именно этот адрес будет отображаться при ошибках работы сервера.
ServerAdmin mail@gmail.com
ServerName — содержит заданное имя компьютера для сервера.
ServerName localhost:80
ServerRoot — указывает на каталог, содержащий файлы Web-сервера Apache.
ServerRoot "C:/web_server/apache"
DocumentRoot — определяет каталог, в котором расположены файлы Web-сайта.
DocumentRoot "C:/web_server/apache/htdocs"
Контейнер <Directory/>
Сфера действия директив внутри этого контейнера распространяется на все файлы и подкаталоги внутри каталога, заданного в директиве DocumentRoot.
<Directory C:/> 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.htm index.php
Директива ScriptAlias используется для создания псевдонима каталога «/cgi-bin/«, в котором располагаются программы и сценарии CGI.
ScriptAlias /cgi-bin/ "C:/web_server/apache/cgi-bin/"
Далее необходимо настроить права и ограничения на каталог cgi-bin.
<Directory "C:/web_server/apache/cgi-bin"> AllowOverride None Options ExecCGI Order allow, deny Allow from all </Directory>
Данное действие необходимо для гарантии, что опции каталога не будут изменены, так как это может создать проблемы безопасности.
Директива AllowOverride None говорит о том, что опции этого каталога не могут быть переопределены файлами «.htaccess«.
Директива Options ExecCGI позволяет выполнение CGI-сценариев.
Директивы order allow, deny и Allow from all разрешают доступ к каталогу.
AddHandler — заставляет Apache рассматривать файлы с расширениями «ехе» и «bat«, как CGI — скрипты.
AddHandler cgi-script .bat .exe
DefaultType устанавливает заголовок файлов, тип которых не может быть определен по расширению. В данном случае все неизвестные файлы воспринимаются как обычные текстовые файлы. Для того чтобы все неизвестные расширения файлов обрабатывать, как HTML, измените директиву следующим образом:
DefaultType text/html
AddDefaultCharset — устанавливает кодировку по умолчанию, если кодировка не задана в заголовке HTML-документа.
AddDefaultCharset windows-1251