Category Archive: Apache

Установка Apache, подключение PHP и MySQL

Первая статья в этом новом 2014 году 🙂
В очередной раз после переустановки Windows возникла необходимость в установке Apache с поддержкой PHP и MySQL.

Установка Apache
Скачаем последную версию Apache с официального сайта http://httpd.apache.org/download.cgi

Найдите и скачайте MSI-инсталлятор: httpd-2.0.65-win32-x86-no_ssl.msi (Скачать).
Если нужен Apache с OpenSQL, то выберите: httpd-2.0.65-win32-x86-openssl-0.9.8y.msi (Скачать)

Запустите установщик httpd-2.0.65-win32-x86-no_ssl.msi
В окне приветствия нажмите Next:
01 - welcome

Согласившись с лицензионным соглашением, выберите пункт «I accept the terms in the license agreement» и нажмите Next:
02 - agree

В следующем информационном окне просто нажмите Next:
03 - info

Далее следует заполнить информацию о вашем сервере. Можно заполнить как в данном примере.
Выберите первый рекомендуемый пункт и нажмите Next, это будет означать, что Apache будет установлен как сервис для всех пользователей и будет работать по 80-му порту:
04 - as service

Выберите обычную установку (Typical) и нажмите Next:
05 - typical

Измените директорию установки на диск C: и нажмите Next
06 - dest

Всё готово для установки, нажмите Install:
07 - install

После завершения процесса установки нажмите кнопку Finish:
08 - finish

Примечание: Процесс установки может завершиться некорректно из-за того, что 80 порт может быть занят другим приложением, и нужно будет выбрать другой порт. Например: 8421.
Откроем конфигурационный файл:
C:\Apache2\conf\httpd.conf
Заменим строку Listen 80 на Listen 8421.
Запустим установщик httpd-2.0.65-win32-x86-no_ssl.msi заново.
В окне приветствия нажмите Next.
В следующем окне выберите Repair и нажмите Next:
09 - repair
Всего готово к починке, нажав кнопку Install, Apache должен починиться.

Если установка прошла успешно, все равно рекомендую поменять 80-ый порт на другой, чтобы не было конфликтов ни сейчас, ни в будущем. Как было описано ранее нужно в файле C:\Apache2\conf\httpd.conf заменить строку Listen 80 на Listen 8421. Остается перезапустить службу Apache2 и наш веб-сервер доступен по 8421-му порту.
В браузере введите адрес: http://localhost:8421
Должна появиться стартовая страница Apache:
10 - ready

Подключение PHP
C официального сайта http://windows.php.net/download/ скачайте zip-архив с PHP или скачайте здесь.
Если у вас 64-битная Windows, то можете выбрать x64 (лучшая производительность) или x86.
Если у вас 32-битная Windows, то вам подойдет только x86.
Распакуйте zip-архив php-5.3.5-Win32-VC6-x86.zip в папку C:\Php

Откройте конфигурационный файл C:\Apache2\conf\httpd.conf
И в начало этого файла добавить следующие строки:

PHPIniDir "C:/Php/"  
LoadModule php5_module C:/Php/php5apache2.dll
AddType application/x-httpd-php phtml php 

В строке LoadModule php5_module C:/Php/php5apache2.dll вам нужно будет указать вашу версию библиотеки.
Будьте внимательны! Указывайте библиотеку, соответствующую вашей версии Apache. В нашем случае версия Apache 2.0, поэтому мы указали php5apache2.dll.
Для версии 2.2 — php5apache2_2.dll, для версия 2.4 — php5apache2_4.dll и т.д. Если укажите не ту версию, то Apache не запуститься, а в логах будет примерно такая ошибка:

Syntax error on line 2 of C:/Apache2/conf/httpd.conf

В httpd.conf найдите строку:

DirectoryIndex index.html index.html.var

Замените ее на:

DirectoryIndex index.php index.html index.html.var

В DirectoryIndex определяется порядок файлов по умолчанию.

Теперь приступим к настройке самого PHP.
Найстройки PHP храняться в файле C:\Php\php.ini, этого файла пока нет, но есть два других

  • php.ini-development (для разработки)
  • php.ini-production (для промышленного использования)

Нас устраивает php.ini-development, поэтому просто переименуем его в php.ini

Теперь необходимо в файле php.ini включить расширения mysql и mysqli.
Для этого найдите строки:

;extension=php_mysql.dll
;extension=php_mysqli.dll

Где строчки помеченные символом ; отключены
Для включения расширений php_mysql.dll и php_mysqli.dll нужно убрать ;

extension=php_mysql.dll
extension=php_mysqli.dll

Также найдите строку:

; extension_dir = "ext"

Замените её на следующую:

extension_dir = "c:/php/ext"

MySQLi является обновленной версией драйвера PHP MySQL, и дает различные улучшения в работе с базами данных.

Также поддержка сокращенного тега <? по умолчанию отключена, и вам нужно использовать полную версию тега <?php
Для это пропишите настройку так:

short_open_tag = On

Сохраните сделанные изменения и перегрузите Apache.