Настройка Apache для работы с PHP как с модулем

Настройка Apache для работы с PHP как с модулем

apache

Теперь мы знаем, как установить Apache и php. Теперь наша задача состоит в том, чтобы подружить эти две вещи. Займемся совестной настройкой Apache и PHP. Как и в предыдущих заметках, я постараюсь как можно подробней описать последовательность действий по настройке. Основные моменты будут показаны на скриншотах.

Поехали!

Перейдем в папку, в которую мы устанавливали Apache. Если вы последовали моему совету, в посте об установке Apache, то она у вас должна быть:

C:/Program Files/Apache Software Foundation/Apache2.2/conf

Открываем файл httpd.txt:

Apache_clip_image030

В отличие от синтаксиса конфигурационного файла php (далее для краткости буду называть конфиг), описанного в этой заметке, в конфиге Apache для комментирования используется символ “#” (решетка). Т.е. все строки начинающиеся с этого символа “не активны”. Для разделения значения переменной и ее параметра используется пробел. Например:

ServerRoot     “C:/Program Files/Apache Software Foundation/Apache2.2”

ServerRoot – имя переменной

“C:/Program Files/Apache Software Foundation/Apache2.2” – значение переменной.

Настройка Apache для работы с PHP.

PHP может быть установлен как модуль Apache и как CGI-приложение. Мы рассмотрим настройку PHP как модуль Apache.

В конфигурационном файле Apache найдите секцию “Dynamic Shared Object”:

1304937527_loadmodule

Раскомментируйте выделенную строку c mod_rewrite.so. И добавьте саму нижнюю строчку. В этой строчке указан, путь к файлу, который нужен Apache, чтобы взаимодействовать с PHP. Если вы установили PHP в папку,  отличную от той,которую я вам советовал (C:/php5), то пропишите здесь свой путь к файлу php5apache2_2.dll.

Строчкой ниже добавьте:

PHPIniDir    “C:/php5”

Этим мы даем знать веб-серверу, где находиться конфигурационный файл PHP.

Следующий шаг – назначение обработчика для типов файлов, в которые вы планируете добавлять PHP код. Строчкой ниже добавляет следующий текст:

AddHandler      application/x-httpd-php      .php

Этот текст  означает, что для файлов с расшерением .php  назначается обработчикapplication/x-httpd-php.

В итоге у вас должно получиться следующее ( не полный скрин, сверху еще модули):

Настройка PHP и Apache

Также нам нужно настроить одну полезную опцию:

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php
</IfModule>

Здесь задаются файлы, которые будут автоматически загружаться при обращении к каталогу. Например, если вы напишите в строке браузера http://localhost/, браузер будет искать файлы index.html index.htm index.shtml index.php, порядок слева направа, если найдет какой-то файл по покажет, если не найдет – то покажет список файлов в директории.

Теперь займемся правами доступа. Это базовые настройки для всех директорий:

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the “default” to be a very restrictive set of
# features.
#
<Directory />
Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all
</Directory>

Options – здесь указываеются через пробел настройки:

  • Includes – разрешение использовать SSI (server-side include).
  • Indexes – использование индексов в директории. Т.е. есть файл index.php и мы запрашиваем в бразере директорию, то вызывается этот файл. Например, http://localhost/directory/ – вызоветься файл http://localhost/directory/index.php.
  • FollowSymLinks – разрешает символические ссылки (используется в *nix системах).

AllowOverride – управляет возможностью переписывания настроек для конкретной директории и вложенных в нее директорий с помощью .htaccess файлов. Значение Allразрешает перекрывать базовые настройки сервера в любой директории.

Allow from all – разрешает доступ из брузера ко всем вложенным директориям ваших сайтов.

 

У некоторых людей возникают ошибки в процессе установки, связанные с тем, что сервер не может по доменному имени узнать IP адрес – “Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName“. Эту ошибку можно посмотреть в логах ошибок Apache (logs/error.txt). Решается заменой localhost на ваш IP адрес:

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn’t have a registered DNS name, enter its IP address here.
# В строчке ниже замените locahost на тот IP адресс, который написан в логах Apache
ServerName localhost:80

 

Чтобы изменения вступили в силу, нам необходимо перезагрузить Apache.

 

Отставить отзыв

Ваш e-mail не будет опубликован. Обязательные поля помечены *