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

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

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

				
					C:/Program Files/Apache Software Foundation/Apache2.2/conf
				
			
Открываем файл httpd.txt

В отличие от синтаксиса конфигурационного файла 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»:

Раскомментируйте выделенную строку 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.

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

/data/image/configure/apache-php-module-configure.gif

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

				
					#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#

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

Здесь задаются файлы, которые будут автоматически загружаться при обращении к каталогу. Например, если вы напишите в строке браузера 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.
#

Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all
				
			

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
				
			
Свежие записи
Настройка
help2site
Сигналы биос при включении пк

Сборник сигналов БИОС Оглавление Как определить какие сигналы БИОС передает нам? При каждом запуске компьютера мы слышим одинарный писк, он пищит не просто так, прежде

Оборудование
help2site
Обзор Hitachi Travelstar 7K1000

Жесткие диски объемом в 1 терабайт уже давно не являются чем то новым и уникальным. На данный момент жесткие диски с таким объемом выпускают такие

Оборудование
help2site
Обзор процессора Intel Core i7-4930MX

Intel Core i7-4930MX  — это мобильный процессор, который имеет четыре ядра, он пришел на смену i7-3940XM. Запуск данного процессора был во втором квартале этого года,

Оборудование
help2site
Как включить все ядра процессора

Большинство продвинутых пользователей персональных компьютеров знают, что в Windows 7 по умолчанию используется всего одно ядро процессора и для того чтобы задействовать все ядра нужно

Ремонт
help2site
Что нужно для ремонта компьютера

Для того чтобы комфортно ремонтировать компьютер требуется определённая материальная база комплектующих, программ и других средств. Каждый компьютерщик обычно приходит к этому самостоятельно, но очередной раз

Архивация-разархивация через SSH

Бывает множество случаев когда потребуется применить навыки работы с zip и tar на удаленном сервере.  Несколько примеров из личного опыта: Перенос большого объема данных. Для