ProfiPHPProfiPHP
Категория: Веб сервер

Конфигурирование Apache

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

Добавить комментарий

Имя:
Текст комментария: