Установка веб сервера apache php. Установка Apache на Windows

(о параметрической настройке Apache 2.4.34 можно прочитать в другой статье)

Проблема установки Apache под Windows

Основная проблема установки Web-сервера Apache под Windows заключается в том, что после первичной установки дистрибутива весь пакет (исполняемые программы, конфигурационные файлы, файлы журналов работы сервера и файловая область для размещения Web-страниц) размещается в одном месте. Это мешает нормальной эксплуатации продукта по следующим причинам:

  • Разграничение прав доступа . Исполняемые файлы должны оставаться неизменными, конфигурационными файлами управляет администратор Web-сервера, а доступ к файловой области Web-страниц должны иметь разработчики и администраторы сайта. Права доступа к папке "Program Files" настроены в предположении, что в ней хранятся исполняемые модули программных пакетов, модификация которых не требуется.
  • Захламление системных папок . Папка "Program Files" операционной системы Windows изначально предназначена для размещения только исполняемых файлов. Она может находиться на отдельном томе, размер которого выбирается системным администратором в предположении о его относительном постоянстве. Уж точно никто не ожидает, что в этой папке будут храниться пользовательские данные, галереи рисунков и файловый архив сайта.

Поэтому установка Apache под Windows должна проводиться в два этапа:

  1. Первичная установка программного пакета в выбранную папку.
  2. Оптимизация размещения файловых областей web-сервера и соответствующее изменение его конфигурации.

При модификации конфигурационных файлов Apache нужно постоянно помнить, что в качестве разделителя путей к файлам и папкам должен использоваться символ "прямой слеш" , как в операционных системах Unix и Linux, а не "обратный слеш", как в Windows.

Первичная установка

Для установки потребуется как минимум операционная система Windows XP SP3 (для этой устаревшей версии понадобится Web-сервер, сборка которого выполнена компилятором VC9 или VC10). Современные сборки Apache операционную систему Windows 2000 не поддерживают.

Дистрибутивный пакет Apache для Windows можно загрузить с сайта одного из двух "официальных" поставщиков: Apache Lounge (только версия 2.4, с документацией) или Apache Haus (версии 2.4 и 2.2, без документации). Он представляет собой ZIP-архив, который, по замыслу поставщиков дистрибутива, нужно распаковать в корень диска C:.

Поскольку мы всё равно будем проводить оптимизацию размещения файловой структуры Web-сервера, первичную установку нужно выполнить в ту папку, которая предназначена для размещения исполняемых модулей web-сервера (exe-, lib-, so- файлов и прочих, которые не подвержены изменениям). Это может быть системная папка "Program Files" или другая по выбору системного администратора.

После первичной установки нужно вынести из "базовой" папки в другое место на диске папки с файлами, которые "идеологически" относятся не к web-серверу, а к web-сайту. Для определённости будем предполагать, после распаковки дистрибутива все его компоненты находятся в папке "C:\Program Files\Apache24", а web-сайт будет размещаться в папке "D:\www".

Оптимизация размещения файловых областей

Сразу после установки структура папок программного пакета Apache выглядит следующим образом:

Bin — исполняемые файлы Web-сервера.
cgi-bin — CGI-сценарии Web-сайта.
conf — конфигурационные файлы Web-сервера.
error — страницы ошибок протокола HTTP.
htdocs — файловая область Web-сайта (проще говоря, здесь размещается Web-сайт).
icons — пиктограммы Web-сервера
include — подключаемые файлы заголовков (h-файлы), небоходимы при сборке Web-сервера компилятором VC.
lib — библиотечные файлы Web-сервера.
logs — журналы работы Web-сервера.
manuals — документация в формате HTML.
modules — дополнительные программные модули Web-сервера (so-файлы).

Из перечисленных выше папок четырём (cgi-bin, conf, htdocs и logs) не место в базовой папке Web-сервера. Из нужно скопировать в рабочую папку Web-сайта: "D:\www". Исходные папки можно было бы удалить, однако они могут понадобится для восстановления начальной ситуации, если в ходе настройки Web-сервера что-то пойдёт не так. С другой стороны, если их оставить на прежнем месте, то из-за неполной настройки Web-сервера может случиться так, что использоваться будут именно эти папки, а не те, которые мы хотим. Поэтому после копирования их лучше просто переименовать в cgi-bin.0, conf.0, htdocs.0 и logs.0 соответственно.

Настройка на новую файловую структуру

Теперь можно отразить фактическую файловую структуру Web-сервера в параметрах конфигурационного файла "D:\www\conf\httpd.conf":

  1. ServerRoot "C:/Program Files/Apache24" # путь к базовой папке Web-сервера
  2. PidFile "D:/www/logs/httpd.pid" # идентификатор процесса Web-сервера
  3. DocumentRoot "D:/www/htdocs" # здесь размещается Web-сайт
  4. <Directory "D:/www/htdocs "> # свойства папки с Web-сайтом

  5. ErrorLog "D:/www/logs/error.log" # журнал ошибок Web-сервера
  6. CustomLog "D:/www/logs/access.log" common # журнал работы Web-сервера
  7. ScriptAlias /cgi-bin/ "D:/www/cgi-bin/" # папка серверных CGI-сценариев
  8. <Directory "D:/www/cgi-bin "> # свойства папки серверных сценариев

  9. TypesConfig D:/www/conf/mime.types # описания MIME-типов
  10. Include "D:/www/conf/extra/httpd-manual.conf " # настройка для сопроводительной документации

Обратите внимание, что в п. 2 нужно добавить в конфигурационный файл строку с параметром PidFile, т. к. в эталонном конфигурационном файле этот параметр отсутствует. Остальные параметры в конфигурационном файле уже присутстсвуют — нужно отыскать строки, содержащие их, и заменить исходные пути к папкам на новые.

Пунктом 10 предполагается, что для включения доступа к HTML-документации по ссылке "http://localhost:8080/manual" нужно раскомментировать соответствующую строку с параметром Include и указать новый путь к подключаемому конфигурационному файлу. Однако поскольку местоположение документации тоже изменилось, то потребуется дополнительно внести изменение в файл "D:\www\conf\extra\httpd-manual.conf" по аналогии с п. 3 и 8:

  1. AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "C:/Program Files/Apache24/manual$1 "
  2. <Directory "C:/Program Files/Apache24/manual ">

Запуск сервера и проверка настройки

Поскольку мы изменили файловую структуру Web-сервера, запускать исполняемый модуль сервера нужно командой (её можно записать в bat- или cmd-файл): "C:\Program Files\Apache24\bin\httpd.exe" -w -f "D:\www\conf\httpd.conf" -d "C:\Program Files\Apache24\."

Запущенный в режиме пользовательского приложения Apache (т. е. запущенный с помощью только что приведенной командной строки) может быть остановлен комбинацией клавиш +[C]. Если же при этом возникли какие-нибудь трудности, то можно использовать такую команду: taskkill /f /IM httpd.exe

Чтобы установить Apache в качестве службы, надо выполнить команду: "C:\Program Files\Apache24\bin\httpd.exe" -k install -f "D:\www\conf\httpd.conf" -d "C:\Program Files\Apache24\."

Запуск и останов службы Web-сервера Apache производится командами: "C:\Program Files\Apache24\bin\httpd.exe" -k start и "C:\Program Files\Apache24\bin\httpd.exe" -k stop соответственно.

Удалить Apache из списка служб Windows можно с помощью команды: "C:\Program Files\Apache24\bin\httpd.exe" -k uninstall

Проверка правильности установки и первоначальной настройки Web-сервера выполняется вводом в Web-браузере URL: "http://localhost:80/". Если всё было выполнено правильно, должна открыться страничка с текстом "It works!"

Если устанавливалась сопроводительная документация в HTML-формате, то она должна быть доступна по ссылке "http://localhost:80/manual/"

Apache ведёт протокол доступа к сайту в файле "D:\www\conf\access.log". Сведения о проблемах в работе сервера записываются в файл "D:\www\conf\error.log". Его анализ может быть особенно полезен при настройке выполнения CGI-сценариев.

Дополнительная настройка

В дополнение к перечисленным выше настройкам нужно проверить значение параметра Listen, которым задаются настройки сетевого интерфейса (ip-адрес и номер TCP-порта), на котором сервер будет принимать клиентские подключения. Если Apache используется индивидуальным Web-разработчиком, то можно рекомендовать такую конфигурацию:

Listen 127.0.0.1:8080 # параметры сетевого интерфейса

Номер TCP-порта не должен конфликтовать с другим программным обеспечением, установленным на компьютере. Так, стандартный порт HTTP 80 часто бывает занят клиентом Skype. Для совместного использования сервера в сети нужно указать правильный IP-адрес или сетевое имя компьютера, на котором устанавливается Web-сервер.

Web-сервер Apache чаще всего используется совместно с интерпретаторами таких языков серверных сценариев, как PHP и Perl. Для того, чтобы на Web-сайте могли использоваться сценарии PHP (предполагаем, что PHP установлен в папку C:\PHP5), нужно добавить в конфигурационный файл "D:\www\conf\httpd.conf" следующие строки:

  1. LoadModule php5_module "C:/PHP5 /php5apache2_2.dll"
  2. AddType application/x-httpd-php .php
  3. PHPIniDir "C:/PHP5"

Нужно отметить, что в папке PHP5 должен существовать конфигурационный файл php.ini, созданный на основе файла php.ini-development (если сервер используется для разработки Web-сайтов) или php.ini-production (это настоящий Web-сервер). Чтобы модули PHP могли найти все необходимые им динамические библиотеки, путь к папке C:\PHP5 должен быть прописан в переменной PATH среды окружения Windows.

Серверные CGI-сценарии на языке Perl уже должны выполняться при соблюдении двух условий:

  1. Интерпретатор языка Perl установлен на этом компьютере.
  2. В первой строке файлов сценариев правильно указан путь к интерпретатору Perl, например: #!C:/PERL/bin/perl.exe -w

Для проверки можно ввести в браузере URL: http://localhost:8080/cgi-bin/printenv.pl, предварительно подправив первую строку сценария printenv.pl в соответствии с п. 2.

Остальные нюансы настройки Web-сервера Apache под Windows выходят за рамки этой статьи.

Скачать дистрибутив web-сервера Apache 2.2 можно тут: httpd-2.2.20-win32-x86-openssl-0.9.8r.msi . На основе инсталяции этого дистрибутива написана данная статья. Все версии HTTP-сервера Апач, ниже 2.2.20, подвержены серьезной уязвимости, информацию по которой можно прочесть, используя ссылку внизу страницы. На сегодняшний день ранее популярная, и считавшаяся наиболее стабильной ветка Apache 1.3 уже является устаревшей и разработчиками HTTP-сервера Apache рекомендуется к установке последняя стабильная версия Apache 2.2. Самые новые версии Apache доступны на официальном сайте: HTTP сервер Apache . Информация о том, как выбрать дистрибутив Apache, опубликована в статье .

Установка Apache 2.2 в Windows

Установка и запуск сервера Apache 2.2 в Windows XP с использованием бинарного дистрибутива с интегрированным инсталятором не представляет сложностей (инструкции в статье по больщей части применимы и для установки в Windows Vista и Windows 7 , тестирование проводилось исключительно для установки Apache в Windows XP).

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

После запуска файла-инсталятора Apache 2.2 "httpd-2.2.20-win32-x86-openssl-0.9.8r.msi" нажимаем кнопку "Next", соглашаемся с лицензионным соглашением. В поля "Network Domain" и "Server Name" вводим "localhost" (без кавычек). "Administrator`s Email Address" - email администратора, например: admin@localhost. Оставляем выбранное по умолчанию поле "For All Users, on Port 80, as a Service -- Recommendend", которе делает Apache доступным для всех пользователей системы на 80 порту в качестве автоматичесски запускаемого сервиса при запуске Windows.

Следующий шаг мастера (Setup Type) - выбор типа установки: типичная (Typical) и выборачная (Custom). Следует выбрать "Custom" и нажать "Next". Далее нужно сменить путь установки на "C:\apache2.2.20" нажав кнопку "Change" и оставить выбранные по умолчанию компоненты как есть. После нажатия "Next" и "Install" HTTP-сервер Apache будет установлен.

В процессе установки появится 2 черных окна, которые закроются автоматически (закрывать их вручную нельзя). В случае успешной установки возле системных часов Windows отобразится новая иконка. Если на иконке зеленый треугольник - Apache запущен, красный квадрат говорит о том, что сервис по каким-либо причинам не стартовал.

Наберя в адресной строке браузера адрес http://localhost/ должна появится страничка с крупной, выделенной жирным шрифтом надписью: "It Works", что будет говорить о том, что Apache работает как положено. Если Apache запущен, а надпись "It Works" не появилась - следует поискать причину в брандмауэре и прочитать раздел этой статьи: "Ошибки при запуске Apache".

Узнать причину сбоя, точнее посмотреть сообщение об ошибке при запуске Apache можно при помощи консоли Windows ("Пуск" -> "Выполнить" -> cmd -> "Ок"), вручную запустив сервис. Команды управления Apache через консоль:

    httpd.exe -k start (Запуск)
    httpd.exe -k stop (Остановка)
    httpd.exe -k restart (Перезапуск)

Чтобы Windows не выдал ошибку:

"httpd.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Необходимо прописать путь к bin директории Apache в Windows переменную Path, что в дальнейшем может пригодится для быстрого запуска утилит командной строки Apache, например таких, как htpasswd.exe. Это можно сделать открыв меню "Пуск", найти "Мой компьютер" и нажав на нем правой кнопкой мыши выбрать из появившегося списка "Свойства". Далее выбрать закладку "Дополнительно" и нажать кнопку "Переменные среды". В окне "Системные переменные" выбираем переменную "Path" и жмем кнопку "Изменить". В самое начало поля "Значения переменной" добавляем путь к bin каталогу Apache:

Добавление пути в переменную Path Windows к директории bin Apache

C:\apache2.2.20\bin;

Для того, чтобы изменения в Path вступили в силу, необходимо перезагрузить компьютер .

Ошибки при запуске Apache

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

Одной из самых распространненых ошибок, возникающей при запуске Apache, является занятость 80-го порта другой программой, например Skype или ISS. В результате, при старте сервера командой httpd.exe -k start получаем следующее сообщение:

httpd.exe: Could not reliably determine the server"s fully qualified domain name, using 192.168.1.2 for ServerName
(OS 10048)+сvўэю ЁрчЁх°рхЄё юфэю шёяюы№чютрэшх рфЁхёр ёюъхЄр (яЁюЄюъюы/ёхЄхтющрфЁхё/яюЁЄ). : make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down
Unable to open logs
Note the errors or messages above, and press the key to exit. 30...

Сообщение "could not bind to address 0.0.0.0:80 no listening sockets available" говорит о том, что 80-ый порт уже занят. Посмотреть, какой процесс занимает 80-ый порт можно запустив в командной строке Windows: netstat -anb и подождав несколько минут, пока не выведется весь список. Теперь нужно настроить ПО, мешающее Apache, на другой порт (в настройках программы), удалить его, либо, перенастроить Apache на другой порт.

Для того, чтобы убрать не критичную, но мозолящую глаза ошибку: "httpd.exe: Could not reliably determine the server"s fully qualified domain name, using 192.168.1.2 for ServerName", необходимо расскоментировать строку, в httpd.conf:

ServerName localhost:80

Запускать и останавливать службу Windows можно и такими командами из командной строки Windows:

    net start apache2.2 (Запуск)
    net stop apache2.2 (Остановка)

Вот только в этом случае, сообщения об ошибках при запуске Apache будут не информативными.

Посмотреть состояние HTTP-сервера Apache можно и с помощью служб Windows: "Пуск" -> "Панель управления" -> "Администрирование" -> "Службы" -> "Apache 2.2". Тут также можно остановить и запустить HTTP-сервер.

Настройка Apache

Основной файл с настройками Apache httpd.conf расположен по умолчанию в директории conf, которая находится в корне установочной директории Apache (если Apache установлен согласно инструкциям статьи - директория Apache: C:\apache2.2.20). Добраться до файла конфигурации Apache можно через: "Пуск" -> "Все программы" -> "Apache HTTP Server 2.2" -> "Configure Apache Server" -> "Edit the Apache httpd.conf Configuration File".

Все строки-комментарии в файле httpd.conf , которые не воспринимаются HTTP-сервером Apache и служат только в качестве текстовых пояснений для администратора, начинаются с символа "# ". Удалив все комментарии из конфигурационного файла Apache можно существенно облегчить дальнейшее восприятие и редактирование настроек сервера. Перед удалением комментариев, желательно сохранить оригинальный httpd.conf в той же папке, где он и был под другим именем, например: httpd.conf.original.

При удалении комментариев в настроечном файле Apache следует быть внимательным, и не удалить лишнего. Удалять следует только строку, начинающуюся с символа "#". Например, в примере, приведенном ниже, следует оставить все строки, которые не начинаются с символа "#": .

Произвольная часть конфигурационного файла Apache httpd.conf

#
# This should be changed to whatever you set DocumentRoot to.
#

# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

Перед началом конфигурирования HTTP-сервера Apache следует отметить, что все пути к файлам в httpd.conf следует разделять прямой косой чертой "/" , а не обратной "\", которая используется в Windows. Это необходимо для избежания некоторых проблем.

Пример использования "правильной" прямой косой черты "/" в путях к файлам в httpd.conf

ServerRoot "C:/apache2.2.20"

Также, следует знать, что чтобы настройки, измененные в httpd.conf, вступили в силу, необходимо каждый раз после их редактирования, перезагружать или останавливать и вновь запускать сервер Апач .

Подключение PHP как модуль Apache

Находим в httpd.conf множество строк, начинающихся с LoadModule и после последней вставляем:

LoadModule php5_module "c:/php5.2.17/php5apache2_2.dll"
PHPIniDir "c:/php5.2.17"

Первая строка подгружает модуль php5apache2_2.dll, вторая - указывает интерпретатору PHP, где следует искать главный конфигурационный файл PHP - php.ini. В предидущих версиях PHP, необходимо было перемещать php.ini в главный каталог Windows, что вносило некоторую путаницу, при настройке PHP.

Далее указываем Apache, что файл index.php, также является индексным файлом, который запускается, когда в запросе клиента (например http://www.. Для этого меняем параметры директивы DirectoryIndex на:

DirectoryIndex index.php index.html

После сохранения файла настроек, нужно перегрузить Apache , чтобы изменения вступили в силу. Желательно даже не перезагружать, а выключить и включить Апач, с использованием командной строки, чтобы в случае возникновения ошибок, увидеть сообщение об ошибке.

Теперь необходимо удостовериться, что PHP-скрипты выполняются. Для этого, в каталоге C:\apache2.2.20\htdocs\ нужно создать файл phpinfo.php с таким содержимым:

phpinfo () ;

После чего, открыв в браузере страницу по адресу http://localhost/phpinfo.php появится страница с информацией о настройках интерпретатора PHP. Если вместо этого, отображается код скрипта, значить модуль PHP не подключен.

Лог-файлы Apache

Из лог-файлов Apache, можно узнать много интересного, например, почему Apache не запустился? По умолчанию, основные лог-файлы хранятся тут: C:\apache2.2.20\logs. Изменить их месторасположение, можно путем настройки соответствующих параметров httpd.conf:

  • ErrorLog - путь к логу ошибок.
  • CustomLog - путь к логу доступа.

VirtualHost Apache

Виртуальные хосты Apache служат для обработки одним сервером Apache нескольких различных сайтов. Детальная информация по директиве VirtualHost: " ". Ниже будет рассмотрен пример, как в Apache, установленном в Windows, открыть поддержку нескольких сайтов.

Для начала следует создать основную папку, в которой будут храниться файлы всех сайтов: C:\www. В этой директории создадим две подпапки: mysite.lc и phpmyadmin.lc, в которых будут лежать файлы и конфиги Apache для сайтов: http://mysite.lc и http://phpmyadmin.lc. Далее в каждой из папок mysite.lc и phpmyadmin.lc, создаем еще по три подпапки: conf, log и public. В итоге, должна получиться такая структура:

Доменная зона "lc" (сокращение от английского "local") будет служить определением того, что открываемый сайт, располагается на локальном компьютере. Чтобы ОС Windows перенаправляла все запросы к локальным сайтам куда следует, необходимо отредактировать файл hosts (например, с помощью блокнота), находящийся в директории: C:\WINDOWS\system32\drivers\etc\. После "127.0.0.1 localhost" (хотя, по существу, место размещения добавляемых строк в файле может быть любым), необходимо добавить две строки и сохранить изменения:

127.0.0.1 mysite.lc
127.0.0.1 phpmyadmin.lc

Теперь вводим в адресной строке браузера адрес http://mysite.lc и http://phpmyadmin.lc , после чего в нем откроется страница с крупной, выделенной жирным шрифтом надписью: "It Works".

Файл hosts опрашивается системой при каждой попытке подключения к любому домену, поэтому для вступления изменений, внесенных в него, не требуется ничего перезагружать. Другое дело, если попытаться открыть домен http://mysite.lc до сохранения данных в hosts. При этом, браузер, скорее всего, запишет в кеш DNS информацию о том, что домен не существует, и при повторном открытии этой страницы, с уже модифицировнным файлом hosts, результат не изменится. В таком случае, чтобы добится нужного результата, нужно попытаться сбросить кеш DNS: "Пуск" -> "Выполнить" -> "cmd" -> ipconfig /flushdns . Если это не поможет, попробуйте открыть сайты в других браузерах. Крайняя мера, которая 100% помогает - перезагрузка компьютера.

Настало время "объяснить" Apache, что у каждого сайта есть свои каталоги, для чего и понадобятся директивы-контейнеры . Но перед этим, нужно создать и отредактировать два файла с именем index.php, которые будут являть собой тестовые сайты, и разместить их в подпапках "public".

Текст файла index.php для C:\www\mysite.lc\public\

echo "Mysite" ;

Текст файла index.php для C:\www\phpmyadmin.lc\public\

echo "Phpmyadmin" ;

Теперь в папках conf создаем настроечные файлы vh.conf виртуальных хостов:

vh.conf для mysite.lc в каталоге C:\www\mysite.lc\conf\


# Основное название сайта
ServerName mysite.lc

# Дополнительные названия сайиа
# *.mysite.lc - доступны все поддомены для mysite.lc
ServerAlias *.mysite.lc

DocumentRoot "c:/www/mysite.lc/public"
ServerAdmin [email protected]

# Пути к логам сайта
ErrorLog "c:/www/mysite.lc/log/error.log"
CustomLog "c:/www/mysite.lc/log/access.log" combined

# Настройки директории сайта

Order allow,deny
Allow from all

vh.conf для phpmyadmin.lc в каталоге C:\www\phpmyadmin.lc\conf\


ServerName phpmyadmin.lc
ServerAlias *.phpmyadmin.lc
DocumentRoot "c:/www/phpmyadmin.lc/public"
ServerAdmin [email protected]
ErrorLog "c:/www/phpmyadmin.lc/log/error.log"
CustomLog "c:/www/phpmyadmin.lc/log/access.log" combined

Order allow,deny
Allow from all

В httpd.conf, с самого низа, запускаем виртуальные хосты и подгружаем конфигурационный файл vh.conf для каждого сайта:

Настройка виртуальных хостов в httpd.conf

# Подключение виртуальных хостов
NameVirtualHost *:80

Чтобы применить новые настройки - перезагружаем сервер Apache.

Последнее обновление статьи: 2011/09/08

Apache - установка и настройка.

Все хорошо. На локальном компьютере Apache работает. В локальной сети Apache работает. А вот из сети интернет сервер Apache недоступен.

Вся локальная сеть подключена к сети интернет через прокси сервер UserGate 4.
Сделано правило для публикации веб сервера, но Apache не доступен из сети интернет

При любом значении порта Listen в httpd.conf, при Start-е в чёрном окне на 30 секунд выводится "Only one usage of each socket addressis normally permited: make_sock: could not bind to address ... no listening sockets available, shutting down Unable to open logs"
Listen address...
80 0.0.0.0:80
8080 0.0.0.0:8080
1234 0.0.0.0:1234
127.0.0.1:80 127.0.0.1:80
При этом, при наборе в адресной строке компьютера http://localhost/ на экране выводится "It works!".
Пожалуйста, подскажите, что делать.(Windows7,Internet Explorer9)

"При любом значении порта Listen" - Скорее всего у вас на 80 порту висит какое-то другое приложение. Найдите его и отключите/удалите/переведите на другой порт. Как это сделать - написано в статье. Как вариант - переведите Apache на другой порт.

Вы пишете в статье "Если вместо этого, отображается код скрипта, значить модуль PHP не подключен". Именно это у меня и происходит, хотя я сделал все как написано. Не подскажете в чем может быть причина?

Причина та же - PHP не подключен. Проверьте, что написано в логах Apache, также посмотрите внимательно настроечный файл Apache - раздел отвечающий за подключение модуля PHP. Если делать все, как написано в статьях - связка Apache + PHP + MySQL запускается с первого раза. Материал статей протестирован реальными успешными установками.

Ваш вопрос мне не понятен.

В инструкции тактично умолчали, что нужно в httpd.conf добавить

Эта строка не обязательна - PHP будет работать и без этой директивы.

Не работает несколько виртуальных хостов. Бьюсь уже месяца три, то одно попробую, то другое. Все настройки сделаны как тут описано. Один localhost работает. Если "Запихнуть" внуть папки localhost/www какой-нибудь каталог и обратиться туда по адресу localhost/каталог, то работает. А более никак (((((
В чем может быть причина? ОС Windows XP SP3, но редакция ZverCD - может в этом быть причина?
Помогите плиззз...

Причина точно не в сборке Windows. После того, как вы сделали все, как в инструкции, какую ошибку выдает браузер после обращения к mysite.lc и phpmyadmin.lc?

Первым сайтом прописан localhost, вторым site.ru. В виндовском файле hosts оба висят на 127.0.0.1.
При попытке зайти на site.ru долго-долго ищет хост и потом пишет "Не может отобразить страницу". В корне директории файл index.php и index.html лежит, и в любом случае если обратиться по адресу localhost/site.ru (там продублирован простой html), там все открывается. Либо если закомментировать хост по умолчанию (localhost) в Virtualhosts, тогда при наборе localhost открывается сайт site.ru.
Может, вместо localhost надо прописывать другое имя?

После изменения файла hosts попробуйте перезагрузить компьютер. Если сначала попытаться открыть в браузере site.ru, а только после этого изменить файл hosts - сайт не откроется. Далее запустите в cmd команду ping на localhost и site.ru. Если site.ru пингуется (127.0.0.1) - проблема в настройках Apache. Также, попробуйте на время теста отключить все антивирусы/файрволы - возможно проблема в них. Если ничего не поможет - переустановите Apache заново, полностью соблюдая все инструкции статьи (порядок действий, названия тестовых сайтов и т.д.) - должно все заработать. А уже после того, как все заработало, начинайте пробовать самостоятельную корректировку конфигов.



PHPIniDir "c:/php"
ошибку выдает "Неудалось запустить службу APACHE2 на локальный компьютер. Подробности содержатся в журнале системных событий. Если эта служба разработана не в Майкрософт обратитесь к разработчику службы и сообщите специфический для этой службы код ошибки 1"
при удалении вышеуказанных строк все снова работает

Большое Вам спасибо! Всё работает!

У меня php страница начала интерпретироваться только после добавления
AddType application/x-httpd-php .php

"У меня php страница начала интерпретироваться только после добавления
AddType application/x-httpd-php .php"
То же самое, 10 раз перезагружался, пока не полез в инет и не увидел, что еще нужно эту строку прописывать. Добавил, и все сразу заработало на Windows 7.

Установил Apache (httpd-2.2.20-win32-x86-no_ssl) под OC Windows 7,запускается,но Firefox не открывает стартовую страницу с:Its work! Пинг 127.0.0.1 localhost проходит, настройки NOD 32,Skype, файла vhosts.conf, что пишут в рекомендациях, проверены. В чём проблема? Помогите пожалуйста!

А точно ли, что строка "#ServerName localhost:80" в файле htpd.conf должна быть закомментирована? я создал файл CreateDB.php в котором прописал суть: "создать базу данных test". базу данных он создал, как я потом узнал из консоли самого mysql, но в браузере пишет "удаленный сервер или файл не найден". При этом файлы типа phpinfo.php и всякие "привет!" отрабатали без замечаний

Здравствуйте.
Проблема такая.Установил Apache2.2.20,PHP5.2.17
Вроде бы модуль PHP подключается,но любые попытки
обратиться http://localhost/phpinfo.php не приводят
к результату.Приведу текст из файла error/log
Apache/2.2.20 (Win32) PHP/5.2.17 configured -- resuming normal operations
Server built: Aug 30 2011 21:54:15
Parent: Created child process 8012
Child 8012: Child process is running
Child 8012: Acquired the start mutex.
Child 7488: Released the start mutex
Child 8012: Starting 64 worker threads.
Child 7488: All worker threads have exited.
Child 8012: Starting thread to listen on port 80.
Что делать,не знаю.Может подскажете.

Хорошая статья, но вы забыли упомянуть что при подключение php как модуля, так-же необходимо добавить конфигурацию для него:

После строк "
LoadModule php5_module "c:/php5.2.17/php5apache2_2.dll"
PHPIniDir "c:/php5.2.17"
"

Нужно прописать что-то типа "

AddType text/html .php

Поправка (Теги потёрлись)

"знак меньше"IfModule php5_module"Знак больше"
"знак меньше"Location /"Знак больше"
AddType text/html .php
AddHandler application/x-httpd-php .php
"знак меньше"/Location"Знак больше"
"знак меньше"/IfModule"Знак больше"

На компьютере Apache (httpd-2.0.64-win32-x86-no_ssl.msi)работает. После установки PHP - php-5.2.17-Win32-VC6-x86.zip все работает. Но после вставки в httpd.conf:
LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "c:/php"

Ошибку выдает "Неудалось запустить службу php5apache2_2.dll
и соответсвенно Apache не запускается в чём может быть причина????
PS.здесь ответа не нашёл!

To Alex
Извините что поздно, но может кому пригодится. В параметре директивы LoadModule нужно указывать dll, которая соответствует версии апача. Т.е. в Вашем случае это должна быть php5apache2.dll

В этой статья я расскажу о том как настроить локальную среду разработки своими руками. Конечно, можно пользоваться уже готовыми решениями, например и иже с ним. Но, посмотрите на комментарии к и . То Денвер не устанавливается, то Apache не запускается, то не известно куда Денвер попрятал базы данных.

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

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

Лично у меня присутствует какой-то шизофренический страх перед тем, что сборщик пакета локальной разработки залез своими руками в дистрибутив, что-то там поправил по своему усмотрению, наковырял, а может быть и засунул вирусняк (поэтому я не пользуюсь различными твикнутыми сборками Windows и сам настраиваю локальную среду разработки).

Я подробно опишу процесс установки и настройки сервера Apache на локальный компьютер. Это позволит избавиться от магического трепета перед принципами работы сайта с сервера хостинг-провадера.

Кроме этого, установим и настроим PHP . В случае ручной загрузки дистрибутива с сайта разработчика я могу быть уверен в том, что качаю полную версию пакета, ту, которая нужна именно мне. И ситуация с необходимостью доустановки модулей, откинутых автором дистрибутива готовой среды разработки, возникнуть не может. Автором среды разработки отныне являюсь я сам.

Установка и настройка MySQL . Точно такая же ситуация. Автор - я сам.

Пару слов для новичков. Зачем вообще нужна среда локальной разработки. Если вы разрабатываете сайт, который будет состоять из нескольких статических HTML-страниц, то среда разработки - это всего-на-всего удобство при просмотре сайта в браузере в процессе отладки. Удобно заходить на разрабатываемый сайт по доменному имени. Вот кажется и все преимущества.

В случае разработки динамического сайта (применение php-скриптов и MySQL-баз данных), а так же при работе с движками, локальная среда разработки - это необходимость. Т.к., в этом случае, вам нужен инструмент, обрабатывающий php-скрипты и SQL-запросы.

Ну что же, поехали!

Установка Apache

Я обещал избавить вас от магического трепета перед принципами загрузки сайта с сервера хостинг-провайдера в вашем браузере. Сейчас я это сделаю.

Сервер - это ничто иное, как мощный компьютер, на жестком диске которого хранятся файлы вашего сайта. Обычно такой компьютер работает под управлением Unix-подобных систем. На этом компьютере запущена программа, которая называется Apache . При обращении к 80-му порту сервера, программа Apache выдаст обратившемуся компьютеру HTML-код и графические файлы, хранящиеся на жестком диске. Браузер компьютера пользователя примет полученные данные и оформит их в привычную нам страницу сайта.

На жестком диске сервера может находится сразу несколько сайтов. Все они распределены по папкам с уникальными именами (в этом случае сайты называются виртуальными хостами ). Apache настроен таким образом, что при обращении к 80-му порту с определенным URL-адресом сайта, точно знает какие данные и из какой папки нужно отправить обратившемуся компьютеру.

Вот и вся магия. Когда я только начал разбираться с интернет-технологиями, подобный ответ на мой вопрос «да как же все-таки работают сайты», который я вычитал в одной из книг, расставил в моей голове все по своим местам, чему я был очень рад. Надеюсь кто-то из уважаемых читателей был обрадован сейчас не меньше чем я в свое время.

Теперь я расскажу, как установить и настроить Apache на локальном компьютере.

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

Шаг 1. Скачиваем Apache.

На следующем экране обязательно установите галочку в пункте Include Bin Directory in Windows PATH :

Если вы этого не сделаете, то PHP не сможет найти нужный ему файл и будет ругаться.

Нажимаем Next. В следующем окне нам нужно указать пароль администратора баз данных. Укажите что-то легкозапоминающееся. Потом, подключаясь к базам данных, вам понадобится вводить этот пароль:

На этом процесс задания директив для настройки завершен и можно приступать к их применению:

Теперь нашу локальную среду разработки можно считать установленной. Остается ее настроить.

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

Во-первых где-нибудь на жестком диске нужно создать папку, в которой будут храниться все проекты.

У меня это папка www в корне диска «С ».

Шаг 1. Разрешение доступа Apache к папе www на жестком диске.

Теперь в настройках Apache мне нужно указать путь к этой папке и разрешить доступ.

Для этого нужно открыть в любом текстовом редакторе основной файл конфигурации Apache. Это файл .

В файле ищем блок инструкций:

AllowOverride None Options None Order allow,deny Allow from all

Ниже этого блока вставляем следующие инструкции:

AllowOverride All # Options None Options Indexes FollowSymLinks Order allow,deny Allow from all

Тем самым мы разрешили доступ Apache к папке www в корне жесткого диска.

Шаг 2. Создаем место для хранения файлов сайта.

В папке www необходимо создать папку с именем нашего сайта (например moysite ). В папке moysite создаем еще две папки: www - для хранения файлов сайта и logs - сюда Apache будет автоматически записывать ошибки, связанные с работой сервера и информацию о подключениях к сайту.

Так как обычно работа ведется с несколькими сайтами (т.е. в папке www корня жесткого диска, может находится несколько проектов: moysite , moysite1 , noviysite и т.д.) , доступными по разным локальным URL, то нужно настроить работу Apache с виртуальными хостами .

Для этого в файле конфигурации C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf необходимо подключить файл дополнительной конфигурации виртуальных хостов .

Ищем в файле httpd.conf строку #Include conf/extra/httpd-vhosts.conf . Процесс подключения файла дополнительной конфигурации виртуальных хостов заключается в удалении символа решетка (#) перед этой строкой.

#Include conf/extra/httpd-vhosts.conf

Include conf/extra/httpd-vhosts.conf

Дело в том, что в настройках Apache символом решетка (#) обозначается закомментированная строка, которая не участвует в конфигурации сервера.

Теперь файл дополнительной конфигурации подключен. Вот этот файл: . Опять таки, открываем данный файл любым текстовым редакторе и описываем доступ к разрабатываемому сайту.

В конце файла необходимо добавить следующий блок:

ServerName moysite.loc DocumentRoot "C:/www/moysite/www" ErrorLog "C:/www/moysite/logs/error.log" CustomLog "C:/www/moysite/logs/access.log" common

Пункт ServerName задает URL, по которому будет осуществляться доступ из браузера локального компьютера к разрабатываемому сайту, файлы которого находятся в папке C:/www/moysite/www . Файл C:/www/moysite/logs/error.log будет содержать информацию об ошибках в работе сайта, а файл C:/www/moysite/logs/access.log - информацию о подключениях.

Шаг 3. Перенаправление запросов на локальный сервер.

Последний шаг - это перенаправление запросов на локальный сервер. Нам нужно сообщить Windows о том, что при запросе в браузере URL moysite.loc его должен обработать наш локальный Apache. Для этого открываем файл C:\WINDOWS\system32\drivers\etc\host в любом текстовом редакторе и в конце дописываем одну строчку: 127.0.0.1 moysite.loc .

Вот и все, теперь перезапускаем Apache, кликнув левой клавишей по иконке рядом с часами и выбрав пункт Restart .

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

Наводим лоск

Если при разработке проекта вы применяете ЧПУ , то необходимо включить модуль mod_rewrite.so в файле основной конфигурации Apache C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf .

Включение модуля осуществляется простым раскомментированием строки LoadModule rewrite_module modules/mod_rewrite.so

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so


Использование укороченных тегов. Некоторые ленивые программисты вместо полного кода ..., в начале php-скрипта, используют укороченную форму ... Для включения укороченных тегов необходимо настроить файл конфигурации PHP C:\Program Files\PHP\php.ini :

Short_open_tag = Off

Short_open_tag = On

Обращаю ваше внимание, уважаемый читатель, на тот факт, что в настройках PHP символ; предназначен для комментирования строки.

Вот и все с настройкой локальной среды разработки. Теперь, для создания нового виртуального хоста (например noviysite.loc ) нужно проделать всего четыре простых шага:

1. В папке C:\www\ создать новую папку noviysite , внутри которой создать папку www и logs .

2. В файле настройки виртуальных хостов Apache C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf указать настройки для нового виртуального хоста noviysite.loc :

ServerName noviysite.loc DocumentRoot "C:/www/noviysite/www" ErrorLog "C:/www/noviysite/logs/error.log" CustomLog "C:/www/noviysite/logs/access.log" common

3. В файле C:\WINDOWS\system32\drivers\etc\hosts указать перенаправление для нового виртуального хоста на локальный сервер: 127.0.0.1 noviysite.loc

4. Перезапустить Apache, кликнув левой клавишей по значку рядом с часами и выбрав пункт Restart .

P. S.: Естественно в папке C:\www\noviysite\www должны лежать файлы сайта, которые и будут отображаться в браузере при вводе URL noviysite.loc/... .

В случае, если вводится только доменное имя noviysite.loc из папки C:\www\noviysite\www будет загружаться файл index.html (таким образом настроен Apache по умолчанию и именно данный файл является автоматически-запускающимся при вводе лишь доменного имени).

Поскольку, в последнее время, большое распространение получили динамические сайты, написанные на языке PHP, то стартовый файл будет носить имя не index.html , а index.php . Для того, чтобы на ряду с index.html при вводе лишь доменного имени автоматически запускался еще и index.php нужно внести небольшие изменения в файл C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf :

Находим блок директив DirectoryIndex index.html . После директивы DirectoryIndex index.html нужно дописать через пробел index.php , чтобы получилось вот так: DirectoryIndex index.html index.php .

Хочу заметитье, что в этом случае Apache будет сначала искать файл index.html и пытаться запустить его, а потом уже index.php .

В случае, если папка с сайтом не содержит файла index.html или index.php (а в ней находится файл с именем kakoeto_imya.html ), то набор URL noviysite.loc в браузере ничем хорошим не закончится (Apache не найдет файлов, которые захочет запустить по умолчанию). Для запуска файла из папки сайта с именем kakoeto_imya.html необходимо набрать URL noviysite.loc/kakoeto_imya.html .

Возникает законный вопрос: Каким образом администрировать базы данных MySQL, если phpMyAdmin нет?
Ответом на этот вопрос является программа HeidiSQL и .

На сладкое

После прочтения данной статьи, я надеюсь, у вас возникла ясность в вопросе «как работает сайт с сервера хостинг-провайдера», а так же «как самому установить и настроить Apache, PHP и MySQL». Теперь не грех выпить чашечку кофейка и посмотреть забавный видеоролик.

Выражаю благодарность отличному программисту Павлу Красько

за помощь в написании данной статьи.

Я посвятил проблеме установке локальной среды разработки на компьютер под управлением Windows. Если, после прочтения статьи, локальную среду запустить не удалось - очень рекомендую посмотреть видеоурок.

Эта статья – пошаговая инструкция по созданию локального web-сервера. В ней описана установка web-сервера Apache 2.4 на платформе ОС Windows. Тестирование установки выполнялось на Windows XP SP3.

Состав web-сервера:

  • Apache 2.4 (версия 2.4.10);
  • PHP 5.4 (версия 5.4.34);
  • MySQL 5.5 (версия 5.5.23).

Эта рабочая среда подойдет:

  • опытным вебмастерам для тестирования своих проектов;
  • начинающим вебмастерам для создания своих первых сайтов.

Дистрибутивы Apache 2.4 и PHP 5.4 скомпилированы в VC9 (Visual Studio 2008).

Версия Apache 2.4 VC9 работает, практически, со всеми актуальными версиями Windows (7/8/Vista/XP SP3).

Для работы приложений VC9, прежде всего, необходимо обновить библиотеки Visual C++.

Установка пакета обновлений библиотек Visual C++

Скачиваем дистрибутив обновлений vcredist_x86.exe с сайта Microsoft, запускаем файл и выполняем обновление.

Установка и настройка сервера Apache 2.4

В дистрибутиве Apache нет файла инсталляции. Поэтому установка будет выполняться вручную.

Создаем папку и распаковываем архив httpd-2.4.10-win32-VC9.zip .

В файле конфигурации httpd. conf по умолчанию установлены маршруты C:\ Apache24 . Поэтому, правок в файле конфигурации будет гораздо меньше, если распаковать архив в эту папку.

Мы распакуем дистрибутив в папку C:\ TestServer .

Вносим правки в файл конфигурации C:\ TestServer \ Apache24\ conf\ httpd. conf . При написании путей вместо символа «\» (обратная косая черта) следует использовать символ «/» (прямая косая черта). Так прописываются пути в операционных системах Linux и Unix. А ведь первоначально Apache разрабатывался именно для этих операционных систем.

Выполняем групповую замену текста C:/ Apache24 на C:/ TestServer / Apache24 .

Устанавливаем значение параметра ServerName .
ServerName localhost:80

Устанавливаем значение параметра ServerAdmin (e-mail администратора).
ServerAdmin [email protected]

Устанавливаем значение параметра DocumentRoot (расположение документов сайта).
DocumentRoot C:/ TestServer / Apache24/ htdocs

Возможно, вы захотите хранить документы сайта отдельно от сервера. Например, в папке C:\ MySites . Тогда этот параметр можно изменить.
DocumentRoot C:/ MySites

Исполняемые файлы Apache находятся в папке C:\TestServer \Apache24\bin . Добавляем это значение в переменную среды PATH Windows .
PATH = C:\TestServer \Apache24\bin;

Устанавливаем Apache как службу.
httpd.exe -k install

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

Запускаем сервер Apache.
httpd.exe -k start

Проверяем работоспособность сервера. В командной строке браузера набираем адрес: http://localhost . Если установка Apache прошла успешно – на экране отобразится текст It works ! . В противном случае мы увидим пустой экран.

В случае если сервер не запустился, следует проверить, не занят ли порт 80, который использует Apache по умолчанию.

Делается это с помощью команды
netstat –anb

Чаще всего этот порт используют Skype или Firefox. В этом случае следует либо освободить порт, либо перевести Apache на порт 8080 .

Для этого в файле httpd . conf изменяем значений параметров ServerName и Listen . ServerName localhost:8080
Listen 8080

После этого перезапускаем службу командой
httpd.exe -k re start

и опять пытаемся зайти по адресу http://localhost

Для удобства работы с сервером Apache можно установить в меню ярлык, указывающий на C:\TestServer \Apache24\bin\ ApacheMonitor.exe

Установка PHP 5.4

Заходим на сайт разработчика http://windows.php.net/download/ . Находим дистрибутив PHP 5.4 в секции VC9 x86 Thread Safe и загружаем архив php-5.4.34-Win32-VC9-x86.zip .

Создаем папку на локальном компьютере, пусть это будет C:\TestServer \PHP54 , и распаковываем архив.

Возвращаемся на сайт с дистрибутивом Apache. В разделе Additional + VC9 находим архив php5apache2_4.dll-php-5.4-win32.zip с PHP-модулями Apache и скачиваем его.

В архиве находим папку с самой последней версией модуля php5apache2_4.dll и помещаем его в папку C:\TestServer \PHP54 .

В файл конфигурации httpd . conf добавляем строки:

LoadModule php 5_ module « C :/ TestServer / PHP 54/ php 5 apache 2_4. dll »
AddHandler application / x — httpd — php . php
# configure the path to php . ini
PHPIniDir « C :/ TestServer / PHP 54/ php «

В папке C:\TestServer \Apache54\htdocs создаем файл test.php .

echo «Hello Apache!»;
?>

Перезапускаем Apache.

В адресной строке браузера набираем http://localhost/test.php . Если на экране появится текст Hello Apache! , то установка PHP завершилась успешно.

Настройка php.ini

Для работы с БД MySQL нам необходимо настроить php. ini – файл конфигурации PHP.

В папке C:\ TestServer \ PHP54 находятся два шаблона: development и php.ini-production .

Переименовываем шаблон php.ini-production в .

Библиотеки для работы с БД MySQL находятся в папке C :\ TestServer \ PHP 54\ ext . Этот путь должен быть прописан в директиве extension_dir файла конфигурации php.ini.

Находим этот параметр, удаляем символ комментария в начале строки (это точка с запятой) и прописываем путь.
extension_dir = « C :/ TestServer / PHP 54/ ext «

Для работы с БД MySQL в PHP существуют две библиотеки: php _ mysqli . dll – более новая и именно ее рекомендуется использовать в работе; php _ mysql . dll – старая, но ее используют на большинстве сайтов.

В файле php.ini лучше прописать обе библиотеки.
extension = php _ mysql . dll
extension = php _ mysqli . dll

После завершения правок обязательно перезапускаем сервер Apache.

Установка и настройка MySQL

Заходим на страницу http://www.mysql.ru/download/ . Выбираем версию для Win32 или Win64 . Мы будем загружать установочный пакет mysql-5.5.23-win32.msi .

Запускаем файл mysql-5.5.23-win32.msi .

Соглашаемся на лицензионные условия, выбираем тип установку Typical .

Переходим к настройке MySQL сервера.

Выбираем Detailed Configuration – детализированную настройку конфигурации.

Выбираем тип сервера с минимальными требованиями к памяти – Developer Machine .

Теперь нужно решить, с какими базами данных (InnoDB, MyISAM ) будет работать наш сервер.

Multifunctional Database – поддерживаются InnoDB и MyISAM .
Transactional Database Only - поддерживается InnoDB .
Non-Transactional database Only - поддерживается myISAM .

При выборе поддержки InnoDB , следующий шаг – выбор места хранения таблиц InnoDB .

Максимальное число одновременных подключений лучше выбрать Manual Setting (ручная установка) и согласиться со значением по умолчанию (15 ).

На этом шаге параметром Enable TCP/IP Networking включается поддержка TCP-соединений, выбирается порт, по которому будут осуществляться эти соединения. Также устанавливается параметр Enable Strict Mode – режим строгого соответствия стандарту MySQL.

Теперь необходимо выбрать кодировку по умолчанию. Лучший вариант - кодировка UTF-8 . Поэтому выбираем Best Support For Multilingualism .

Для того чтобы MySQL запускался как служба Windows - устанавливаем Install as Windows Service . Если необходим автозапуск этой службы - устанавливаем Launch the MySQL Server automatically .

Теперь устанавливаем пароль администратора и выключаем опцию Modify Security Settings .

После нажатия кнопок Next и Execute установку MySQL можно считать законченной.

Для проверки работоспособности MySQL нажимаем кнопку Пуск Windows, находим утилиту работы с MySQL (MySql Server 5.5 MySQL Server Command Line ) и запускаем ее.

После ввода пароля администратора мы попадаем в командную строку MySQL.

Вводим команду
show databases;

Если мы увидим список баз данных – это будет означать, что сервер работает правильно.

Выходим из режима командной строки:
exit;

На этом установка сервера завершена. Удачной работы!

Выбираем последнюю версию (на момент написания этой статьи — 2.2.17) и переходим к списку дистрибутивов. На домашнем компе вам вряд ли понадобится SSL, поэтому скачиваем версию Win32 Binary without crypto (no mod_ssl) (MSI Installer).

Теперь запускаем установщик (пользователь должен обладать правами администратора). В начале ничего интересного — просто экран приветствия:

Второй этап — соглашаемся с условиями лицензии:

Третий этап — несколько вводных слов от разработчиков. Сразу жмем Next:

Четвертый этап. Здесь надо ввести данные во все три текстовых поля. Можно ввести несуществующий домен типа test.test или example.com. Эти данные нужны для создания базового конфигурационного файла. Под текстовыми полями одна из самых важных настроек — установить Apache как службу или как обычную программу. Выбираем «for All Users, on port 80, as a Service — Recommended» — установить как службу:

Тип установки. Выбираем Custom (выборочная):

Шестой этап. Выбор компонентов и места установки. Я оставил все значения по умолчанию:

Седьмой этап. Все готово к установке. Нажимаем Install:

Завершаем установку (Finish):

Установка завершена. В трее появится значок Apache, с помощью которого можно быстро остановить/запустить службу:

Проверяем работоспособность. Открываем браузер, и в адресной строке вводим http://localhost/. Если все правильно, должна открыться страница с надписью It works!

Чтобы сервер был доступен не только на локальном компьютере, но и из вне, необходимо открыть на вход порт TCP 80 в брандмауэре Windows.

Открытие порта в брандмауэре Windows

Открываем Пуск -> Панель управления -> Система и безопасность -> Брандмауэр Windows. В левой колонке кликаем по ссылке «Дополнительные параметры». В открывшемся окне также в левой колонке кликаем по «Правила для входящих подключений» и затем уже в правой колонке «Создать правило…»:

Откроется мастер создания правила. Тип правила выбираем «Для порта»:

Протоколы и порты. Протокол TCP. Ниже выбрать опцию «Определенные локальные порты», и справа в текстовом поле ввести номер порта — 80:

Действие. Выбираем «Разрешить подключение»:

Профиль. Оставляем по умолчанию (отмечены все три опции: доменный, частный, публичный):

В конце концов вводим имя созданного правила. Например Apache Web Server:

На этом все. Нажимаем Готово. Теперь можно попробовать подключиться с другого компьютера.

Напоминаю, что для подключений к серверу не только из локальной сети, но и из Интернет, на роутере (если он есть) необходимо настроить форвардинг 80-го порта (port forwarding или еще это часто называют virtual server).

Установка PHP (ручная)

Скачиваем последнюю версию PHP (5.3.5 на момент написания) с сайта: http://windows.php.net/download/ . Здесь доступно сразу несколько версий:

  1. VC9 x86 Non Thread Safe — для установки на IIS в режиме FastCGI.
  2. VC9 x86 Thread Safe — ???
  3. VC6 x86 Non Thread Safe — для установки на Apache в режиме CGI/FastCGI.
  4. VC6 x86 Thread Safe — для установки на Apache в режиме модуля — наш выбор.

Т.к. мы затеяли установку в ручном режиме, скачиваем zip-архив.

Содержимое архива распаковываем в директорию установки. Я выбрал C:\Program Files\PHP.

Переходим в эту директорию. В корне установки вы найдете два файла php.ini-development и php.ini-production. Эти файлы содержат базовые настройки. Первый файл оптимизирован для разработчиков, второй для рабочих систем. Основное отличие — в настройках для разработчиков разрешен вывод на экран ошибок, тогда как для рабочих систем вывод ошибок запрещен из соображений безопасности.

Итак, выбираем нужный вам файл (я выбрал php.ini-development), открываем его и сохраняем в ту же папку под именем php.ini. Эту операцию можно проделать в обычном блокноте, но все же лучше использовать редактор поудобнее, например notepad2 .

Теперь в php.ini необходимо внести несколько изменений:

  1. Найти опцию extension_dir (пользуйтесь поиском CTRL+F) и изменить путь к папке ext в соответствии с путем установки PHP. У меня это выглядит так: extension_dir = «c:\program files\php\ext»
  2. Найти опцию upload_tmp_dir. Здесь надо указать путь к временной папке. Я выбрал c:\windows\temp. Всё вместе: upload_tmp_dir = «c:\windows\temp»
  3. Найти опцию session.save_path. Здесь также требуется указать путь к временной папке: session.save_path = «c:\windows\temp»
  4. Перейдите к разделу Dynamic Extensions. Здесь необходимо раскомментировать строки (убрать точку с запятой в начале), соответствующие модулям PHP, которые вам необходимы для работы. Базовый набор модулей может выглядеть примерно так: ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_phar.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_soap.dll extension=php_sockets.dll ;extension=php_sqlite.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll extension=php_xsl.dll extension=php_zip.dll

Теперь переходим к настройкам Apache.

Открываем папку установки Apache (по умолчанию C:\Program Files\Apache Software Foundation\Apache2.2\). Открываем папку conf. Открываем файл httpd.conf.

Переходим в конец файла и дописываем туда следующие строчки:

# Charset AddDefaultCharset windows-1251 # PHP LoadModule php5_module "c:\program files\php\php5apache2_2.dll" PHPIniDir "c:\program files\php" AddType application/x-httpd-php .php

Путь к папке php указываете тот, который вы выбрали в процессе установки.

В том же файле находим следующие строки:

DirectoryIndex index.html

Перед index.html дописываем через пробел index.php. В итоге получается:

DirectoryIndex index.php index.html

Чтобы изменения вступили в силу, перезапускаем службу Apache. Если служба перезапустится — это хороший знак. Если нет — ищите ошибки в конфигурационных файлах. Особенно внимательно проверьте все пути.

Чтобы убедиться в работоспособности PHP, откройте директорию установки Apache, далее откройте папку htdocs (здесь содержаться файлы веб-сайта по умолчанию). Создайте в этой папке файл index.php со следующем содержанием:

Теперь откройте в браузере http://localhost/. Если все нормально, вы увидите похожую страницу:

Если вы видите страницу с надписью «It works!», попробуйте обновить страницу с помощью CTRL+F5.

Установка MySQL

Вынесена в отдельную статью.