Смекни!
smekni.com

Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows (стр. 4 из 9)

В папке localhost будет храниться содержимое главного хоста Apache-того, который будет доступен по адресу http://localhost.

В папке localhost следует создать папки cgi-bin и www:

В папке cgi-bin будут храниться CGI-сценарии, а в папке www – программы на PHP и разные документы. Обратите внимание CGI-сценарии – это не совсем то же самое, что PHP – скрипты. Поэтому они должны располагаться раздельно.

Для настройки Apache необходимо открыть файл D:\usr\Apache\conf\httpd.conf при помощи Блокнота или Notepad++. Это единственный файл, который нужно настроить. Прежде чем начать редактирование данного файла рекомендуется сделать его резервную копию (например, с названием: httpd.conf рез коп исх).

Приступим к настройке.

1. Первую опцию, которую мы установим, будет путь к Apache. Измените ее следующим образом: ServerRoot "/usr/Apache"

2. Далее установим число запросов, которое сервер может обрабатывать одновременно: ThreadsPerChild 15

3. Директиву BindAddress использовать не рекомендуется, поэтому оставьте ее закомментированной:

4. Раскомметируйте строку подключения модуля: LoadModule rewrite_module modules/mod_rewrite.so

5. В конец списка загружаемых модулей добавьте строку: LoadModule php4_module "/usr/php/sapi/php4apache.dll"

Эта строка подключает модуль PHP для правильной работы с Apache. Если его не подключить, то могут возникать проблемы при работе со скриптами.

6. После подключения модуля PHP добавьте две строчки:

#For the module mod_rewrite

RewriteEngine On

7. Далее идет раздел добавления модулей Apache - AddModule. Его необходимо поменять местами с разделом LoadModule. Т.е. раздел:

# Reconstruction of the complete module list from all available modules

# (static and shared ones) to achieve correct module execution order.

AddModule mod_setenvif.c

поместите перед словами:

#

# Dynamic Shared Object (DSO) Support

#

Перейдем ко второму разделу файла httpd.conf – конфигурация сервера по умолчанию.

8. В опции ServerAdmin следует указать адрес, на который следует направлять сообщения в случаи неправильной работы сервера:

ServerAdmin admin@localhost.ru

9. Опция ServerName задает имя сервера:

ServerName localhost

10. Опция DocumentRoot указывает каталог, в котором расположены web-страницы: DocumentRoot "/home"

Было:

Стало:

11. Опция <Directory> и </Directory> используется для применения опций к конкретному каталогу. Замените следующий блок:

<Directory "D:/usr/Apache/htdocs">

#

# This may also be "None", "All", or any combination of "Indexes",

# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".

#

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.

#

Options Indexes FollowSymLinks MultiViews

#

# This controls which options the .htaccess files in directories can

# override. Can also be "All", or any combination of "Options", "FileInfo",

# "AuthConfig", and "Limit"

#

AllowOverride None

#

# Controls who can get stuff from this server.

#

Order allow,deny

Allow from all

</Directory>

на блок:

<Directory "/">

#

# This may also be "None", "All", or any combination of "Indexes",

# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".

#

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.

#

Options Indexes FollowSymLinks Includes MultiViews

#

# This controls which options the .htaccess files in directories can

# override. Can also be "All", or any combination of "Options", "FileInfo",

# "AuthConfig", and "Limit"

#

AllowOverride All

#

# Controls who can get stuff from this server.

#

Order allow,deny

Allow from all

</Directory>

В этом блоке была настроена папку home. Давайте разберем значения опций.

● Директива Options определяет, какие особенности сервера являются доступными в данном каталоге:

- Indexes - если запрошенный URL соответствует папке, и в этой папке нет ничего соответствующего DirectoryIndex (например, index.html), то сервер выведет содержание данной папки;

- FollowSymLinks - разрешить переходы по символическим ссылкам (создаваемым командой ln);

- Includes - разрешить SSI (Server Side Includes);

- MultiViews - разрешить поддержку многих языков.

● Директива AllowOverride позволяет отменять, при помощи файлов .htaccess, ранее установленные директивы. Если данная директива установлена в None, то файл .htaccess игнорируется, если же в All, то все директивы .htaccess файла будут допускаться.

● Директивы Order allow,deny и Allow from all определяют, кто может получать, что бы то ни было с данного сервера.

12. Закомментируйте следующий модуль:

#<IfModule mod_userdir.c>

# UserDir "D:/usr/Apache/users/"

#</IfModule>

13. Далее для опции DirectoryIndex необходимо указать файлы, которые будут загружаться, когда происходит обращение к папке, а не к конкретному файлу:

<IfModule mod_dir.c>

DirectoryIndex index.html index.htm index.php index.shtml index.shtm

</IfModule>

14. В блоке:

<Files ~ "^&bsol;.ht">

Order allow,deny

Deny from all

Satisfy All

</Files>

удалите строку: Satisfy All.

15. Далее следует отключить директиву UseCanonicalName On, т.е. поставить значение Off: UseCanonicalName Off

16. Если вы желаете, чтобы в сообщениях об ошибке высвечивался e-mail администратора, то замените в следующей опции On на Email:

ServerSignature EMail

17. Находим такую строку:

ScriptAlias /cgi-bin/ "D:/usr/Apache/cgi-bin/"

и заменяем ее другой строкой: ScriptAlias /cgi-bin/ "/home/cgi-bin/"

Этот каталог cgi-bin, в котором должны располагаться ваши CGI - скрипты. Он был создан в директории home.

18. Установите следующие опции для папки cgi-bin:

<Directory "/home/cgi-bin/">

AllowOverride All

Options ExecCGI

</Directory>

19. Ищем строку AddType application/x-tar .tgz, она расположена после настроек приоритета языков. Перед этой строкой необходимо добавить блок подключения php:

#AddType application/x-httpd-php phtml php3 php

#ScriptAlias /__php_dir__/ "/usr/php/"

#Action application/x-httpd-php "/__php_dir__/php.exe"

Первая строка указывает расширения файлов, которые должны обрабатываться PHP интерпретатором.

Во второй строке связывается настоящий путь к PHP и псевдоним, а в третьей указывается файл интерпретатора.

Эти строки пока следует закомментировать, иначе могут возникнуть ошибки. После настройки PHP, комментарии нужно будет снять.

20. Далее настраивают SSI — очень мощный и в то же время очень простой инструмент, способный помочь при создании и поддержке сайта. С помощью SSI-директив, их еще называют SSI-вставками, можно включать в страницу другие файлы, результаты работы программ, значения системных переменных и пр. Преимущества этой технологии особенно проявляются, когда нужно поддерживать достаточно большой по объему сайт, который имеет определенную структуру и повторяющиеся по всему сайту элементы. Для подключения SSI находят строки, снимают с них комментарии и изменяют, как показано ниже: AddHandler cgi-script .cgi

Затем надо раскомметировать и изменить:

AddType text/html .shtml .shtm

AddHandler server-parsed .shtml .shtm

Было:

Стало:

Этими директивами настраиваем SSI. Apache будет обрабатывать файлы с указанными расширениями процессором SSI. Это наиболее стандартный ход. Впрочем, вместо .shtml можно написать .html или .phtml - главное, чтобы расширение было идентично расширению, которые использует для обозначения использующих SSI файлов провайдер.