Скачать apache версии 2.2 25. Сам себе хостмастер или установка Apache на платформе Windows. Дополнительная настройка phpMyAdmin

Скачать дистрибутив 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

Кликните по заголовку, что бы открыть/закрыть подробное описание процесса

Заходим в папку с установленным сервером (у меня она располагается по адресу c:\Program Files (x86)\Apache Software Foundation\Apache2.2\ ), открываем там директорию htdocs и полностью удаляем ее содержимое (если у вас установлена версия Apache 2.2, как и у меня, то в данной папке будет содержаться только один файл - index.html , его и нужно удалить). В дальнейшем, в эту папку будут устанавливаться все текущие проекты.

Следующая директория, которая для нам интересна - conf . Заходим в нее (полный путь c:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf ), находим и открываем в блокноте файл httpd.conf . Ищем строку вида (в моем файле она расположена на 204 строке).

Будьте внимательны - нужна строка, которая указывает именно путь к папке htdocs (в конфигурационном файле присутствует еще похожая строка, описывающая путь к папке cgi-bin ).

Чуть ниже найденной строки ищем запись вида AllowOverride None (примерно 224 строка) и меняем значение None на значение All (должно выглядеть так - AllowOverride All ).

Ищем строку #LoadModule rewrite_module modules/mod_rewrite.so (у меня это 116 строка), разкоментируем ее (удаляем решетку спереди).

Сохраняем изменения и пере запускаем Apache (в окошке монитора, который возле часов, нажимаем кнопочку Restart ).

Только что мы подключили модуль mod rewrite и разрешили использование файла .htaccess . С помощью .htaccess в дальнейшем будет легче управлять настройками сервера, не перезагружая его и не залезая в конфигурационные файлы. Ну а раз он такой замечательный, давайте его создадим и что нибудь в него пропишем.

Открываем блокнот, создаем в нем новый файл и сохраняем его в папке c:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs (если помните, это наша рабочая папка) с именем .htaccess (наличие точки перед именем обязательно). Далее, в только что созданном файле, пишем следующие строки -

Options Indexes FollowSymLinks DirectoryIndex index.php

Сохраняем изменения.

Строка DirectoryIndex index.php указывает, какой файл будет открываться по умолчанию при обращении к папке. Иными словами, если мы загрузим в папку htdocs файл с именем index.php и наберем в адресной строке "localhost" , то на экран выведется содержимое файла index.php , лежащего в директории htdocs . В этой директиве через пробел можно перечислить любое количество файлов с разным расширением (например, DirectoryIndex index.php index.html index.htm ). При обращении к папке, сервер будет искать по порядку каждый из указанных файлов, пока не найдет один из них.

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

Еще один параметр в директиве Options , который мы указали (FollowSymLinks ) служит для обеспечения корректной работы модуля mod_rewrite . Без него невозможно сформировать красивые URL (ЧПУ), которым так любят SEO специалисты придавать чуть ли не первостепенное значение в индексировании сайта.

Установка веб-сервера на Linux:

  • Если у вас Ubuntu, то вам подойдёт статья "Как установить веб-сервер Apache с PHP 7, MariaDB/MySQL и phpMyAdmin (LAMP) на Ubuntu 16.10 ".
  • Если у вас Arch Linux, то вам подойдёт статья "Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP7 и phpMyAdmin) в Arch Linux / BlackArch ".

Локальный сервер очень полезный инструмент. Он точно пригодиться веб-мастерам, программистам на PHP, тестерам на проникновение. Все программы, входящие в типичную установку веб-сервера, являются бесплатными, у всех у них открыт исходный код. Локальный веб-сервер потребляет минимум ресурсов и, на самом деле, его совсем нетрудно установить и настроить.

Эта инструкция расскажет о том, как установить локальный веб-сервер без использования готовых сборок. Этот способ имеет свои преимущества. Самыми важными из них являются: полный контроль на тем, что вы устанавливаете; возможность использовать самые последние версии программного обеспечения.

Если вы будете в точности следовать инструкции, то у вас обязательно всё заработает! Кроме тех, у кого Windows XP – если лу вас эта операционная система, то для вас сделана специальная инструкция .

Я покажу пример установки на Windows 10, но если у вас другая версия Windows, то пусть вас это не смущает – процедура везде идентичная. Я буду скачивать последние (самые свежие) на момент написания версии программ. Если к тому времени, когда вы читаете, выйдут новые версии, то скачивайте именно их.

Этапы установки:

Вам также может пригодиться:

1. Подготовка (скачивание программ, входящих в сервер, создание структуры сервера)

Нам нужны:

  • Apache (непосредственно веб-сервер)
  • PHP – среда для работы PHP программ (требуется практически всеми веб-сайтами)
  • MySQL – система управления базами данных (требуется большинством веб-сайтов)
  • phpMyAdmin – очень удобный инструмент для управления базами данных

Официальный сайт разработчиков Apache это httpd.apache.org . Можно скачать Apache с этого сайта. Но официальная версия собирается с использованием старого компилятора, по этой причине она не работает с новыми версиями PHP. Авторы PHP рекомендуют Apache с сайта apachelounge.com/download . Поэтому для этой инструкции скачиваем Apache именно с сайта apachelounge.com/download .

Если у вас 64-битная версия Windows, то вы можете выбрать как 64-битную, так и 32-битную версию компонентов. Главное правило – все компоненты должны быть одной битности. Если у вас 32-битная версия Windows, то все компоненты должны быть 32-битными. Это не относится к phpMyAdmin, который написан на языке PHP. Для PHP программ понятие битности неприменимо.

Бесплатная версия MySQL называется MySQL Community Server . Её можно скачать на странице . На этой же странице есть установщик в виде исполнимого файла, но я рекомендую скачать ZIP-архив. На странице скачивания нам предлагают зарегистрироваться или войти в существующую учётную запись – но это делать необязательно. Достаточно нажать на ссылку «No thanks, just start my download ». Обратите внимание на битность.

Ещё нам нужен файл C++ Redistributable Visual Studio 2017, т.е. Распространяемый компонент Visual C++ для Visual Studio 2017 (или любой другой более поздний), скачать его можно на официальном сайте Microsoft по ссылке (прямая ссылка на скачивание 64-битной версии; прямая ссылка на скачивание 32-битной версии). Этот файл нужен для веб-сервера. А для MySQL необходим Распространяемые пакеты Visual C++ для Visual Studio 2015. Его можно скачать по .

Итак, у меня скачались следующие файлы:

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-all-languages.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Установите файлы vc_redist.x64.exe и vcredist_x64.exe .

2. Создание структуры веб-сервера

Создадим структуру каталогов нашего сервера. Главная идея – разделить исполнимые файлы и файлы сайтов с базами данных. Это удобно для обслуживания сервера, в том числе для резервного копирования.

В корне диска C:\ создайте каталог Server . В этом каталоге создайте 2 подкаталога: bin (для исполнимых файлов) и data .

Перейдите в каталог data и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).

Перейдите в каталог C:\Server\data\DB\ и создайте там пустую папку data .

3. Установка Apache 2.4

Содержимое скаченного архива (точнее говоря, только каталог Apache24 ), распакуйте в C:\Server\bin\ .

Перейдите в каталог c:\Server\bin\Apache24\conf\ и откройте файл httpd.conf любым текстовым редактором.

В нём нам нужно заменить ряд строк.

Define SRVROOT "c:/Apache24"

Define SRVROOT "c:/Server/bin/Apache24"

#ServerName www.example.com:80

ServerName localhost

DocumentRoot "${SRVROOT}/htdocs"

DocumentRoot "c:/Server/data/htdocs/"

DirectoryIndex index.html

DirectoryIndex index.php index.html index.htm

# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None

# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

Сохраняем и закрываем файл. Всё, настройка Apache завершена! Описание каждой изменённой директивы вы найдёте на этой странице .

Откройте командную строку (это можно сделать нажав одновременно клавиши Win+X). Выберите там Windows PowerShell (администратор) и скопируйте туда:

C:\Server\bin\Apache24\bin\httpd.exe -k install

Если поступит запрос от файервола в отношение Apache, то нажмите Разрешить.

Теперь вводим в командную строку:

C:\Server\bin\Apache24\bin\httpd.exe -k start

И нажмите Enter.

В качестве имя пользователя вводим root. Поле пароля оставляем пустым. Если всё сделано правильно, то всё должно выглядеть так:

7. Использование сервера и бэкап данных

В каталоге c:\Server\data\htdocs\ создавайте папки и файлы, например:

c:\Server\data\htdocs\test\ajax.php - этот файл, соответственно, будет доступен по адресу http://localhost/test/ajax.php и т.д.

Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог C:\Server\data\ .

Перед обновлением модулей, делайте бэкап папки bin - в случае возникновения проблем, можно будет легко откатиться к предыдущим версиям.

При повторной установке сервера или при его обновлении, необходимо заново настраивать конфигурационные файлы. Если у вас есть копии этих файлов, то процесс можно значительно ускорить. Желательно забэкапить следующие файлы:

  • c:\Server\bin\Apache24\conf\httpd.conf
  • c:\Server\bin\mysql-8.0\my.ini
  • c:\Server\bin\PHP\php.ini
  • c:\Server\data\htdocs\phpMyAdmin\config.inc.php

В них и хранятся все настройки.

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

PHP в настоящее время очень мощный, гибкий, удобный инструмент. На локальном компьютере с помощью него можно решать разнообразные задачи, совсем не обязательно связанные с генерацией Web-страниц. При решении неординарных задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться в файле php.ini (c:\Server\bin\PHP\php.ini) Рассмотрим некоторые из них:

Memory_limit = 128M

устанавливает максимальное количество памяти, которое может использовать скрипт

Post_max_size = 8M

устанавливает максимальное количество данных, которые будут приняты при отправке методом POST

;default_charset = "UTF-8"

устанавливает кодировку (по умолчанию, строка закомментирована)

Upload_max_filesize = 2M

максимальный размер загружаемого на сервер файла. Изначально установлен очень маленький размер - только два мегабайта. Например, при загрузке базы данных в phpMyAdmin, не получится загрузить файл больше 2 мегабайт до тех пор, пока не будет изменён этот пункт настройки.

Max_file_uploads = 20

максимальное количество файлов для загрузки за один раз

Max_execution_time = 30

максимальное время выполнения одного скрипта

Менять эти настройки совершенно необязательно, но полезно о них знать.

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

Мы уже настроили phpMyAdmin и большинству вполне достаточно базового функционала. Тем не менее, на стартовой странице phpMyAdmin есть надпись: «Дополнительные возможности phpMyAdmin не настроены в полной мере, некоторые функции были отключены».

Новыми возможностями являются:

  • показ связей между (связанными) таблицами;
  • добавление информации о таблицах (начиная с версии 2.3.0 вы можете описывать в специальной таблице ‘table_info’ какая колонка будет показана во всплывающей подсказке при движении курсором над связанным ключом);
  • создание PDF-схемы (начиная с версии 2.3.0 вы можете в phpMyAdmin создавать PDF страницы, показывающие связи между вашими таблицами);
  • отображать комментарии столбцов (начиная с версии 2.3.0 вы можете делать комментарий с описанием каждого столбца для каждой таблицы. И они будут видны в «предварительном просмотре для печати». Начиная с версии 2.5.0, комментарии используются на собственных страницах таблиц и в режиме просмотра, показываясь как всплывающие подсказки над колонками (таблицы свойств) или встроены в заголовок таблицы в режиме просмотра. Они также могут быть показаны в дампе таблицы);
  • создавать закладки (начиная с версии 2.2.0, phpMyAdmin позволяет пользователям делать закладки на запросы. Это может быть полезно для часто используемых запросов);
  • история SQL-запросов (начиная с версии 2.5.0 вы можете сохранять вашу историю всех SQL запросов, которые были сделаны через интерфейс phpMyAdmin);
  • дизайнер (начиная с версии 2.10.0, доступен инструмент Дизайнер; он позволяет визуально управлять связями между таблицами);
  • информация о недавно использованных таблицах;
  • настройка интерфейса часто используемых таблиц;
  • слежение (начиная с версии 3.3.x доступен механизм слежения. Он помогает вам проследить каждую SQL команду, которая была выполнена phpMyAdmin’ом. Поддерживается запись работы с данными и запись команд. После включения, вы сможете делать версии таблиц);
  • пользовательские настройки (начиная с версии 3.4.x, phpMyAdmin позволяет пользователям задавать большинство настроек и сохранять их в базе данных);
  • настраиваемые меню (начиная с версии 4.1.0 вы можете создавать группы пользователей, которым будут доступны только назначенные пункты меню. Пользователь может быть определён в группу и будет видеть только пункты меню, доступные для его группы);
  • спрятать/показать пункты навигации (начиная с версии 4.1.0 вы можете спрятать/показать пункты в навигационном дереве).
  • и другие

Сейчас мы настроим эти дополнительные возможности в полной мере. Перейдите по ссылке http://localhost/phpmyadmin/chk_rel.php и кликните "Создать базу данных". После этого все новые функции будут активированы.

Несколько скриншотов новых функций:

1) Дизайнер

2) Слежение

10. Установка почтовой заглушки

В каталоге C:\Server\bin\ создайте новый каталог с названием Sendmail. Теперь в этом каталоге создайте файл sendmail.php со следующим содержимым:

#!/usr/bin/env php

Откройте конфигурационный файл PHP, он размещён здесь C:\Server\bin\PHP\php.ini . И добавьте туда одну строчку:

Sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"

Сохраните файл и перезапустите сервер. Отлично, теперь все отправленные письма будут сохраняться в каталоге C:\Server\bin\Sendmail\emails\

Письма будут иметь расширение .eml и их можно открывать, например, программой Thunderbird . Либо обычным текстовым редактором.

11. Добавление PHP директории в PATH на Windows

Если этого не сделать, то могут быть проблемы с некоторыми модулями PHP, в том числе с php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll и php_pgsql.dll. По крайней мере, при запуске сервера каждый раз в логах появляется следующее:

PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_curl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_intl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C:\\Server\\bin\\PHP\\ext\\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n in Unknown on line 0

Чтобы избежать этих предупреждений, нужно добавить в системные переменные среды путь до PHP.

Нажмите кнопку Пуск (или как там она называется на Windows 10?), начните набирать «Изменение системных переменных среды » и откройте соответствующее окно настроек.

Там нажмите «Переменные среды »:

В окне «Системные переменные » найдите и кликните на Path , потом нажмите «Изменить »:

Поднимите запись в самый вверх:

Закройте все окна с сохранением сделанных изменений.

Перезапустите сервер.

12. Зависание, замедление трафика и/или ошибка сервера Asynchronous AcceptEx failed

Если ваш сервер даже без нагрузки «зависает» – не показывает веб-страницы до перезапуска, а в логах сервера ошибки Asynchronous AcceptEx failed:

AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 configured -- resuming normal operations AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59 AH00094: Command line: "c:\\Server\\bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24" AH00418: Parent: Created child process 4952 AH00354: Child: Starting 64 worker threads. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed. (OS 64)Указанное сетевое имя более недоступно. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

То в конфигурационный файл Apache добавьте:

AcceptFilter http none AcceptFilter https none EnableSendfile off EnableMMAP off

13. Настройка cURL в веб-сервере Apache на Windows

Если вы не знаете, что такое cURL, значит это вам не нужно. Т.е. смело пропускайте этот шаг.

cURL - это консольная утилита, которая позволяет обмениваться данными с удалёнными серверами, используя очень большое количество протоколов. cURL может использовать кукиз и поддерживает аутентификацию. Если для веб-приложения требуется cURL, то это должно быть указано в зависимостях. Для многих популярных приложений cURL не требуется, например, для phpMyAdmin и WordPress нет необходимости настраивать cURL.

Если cURL настроена неправильно, то вы будете получать ошибки:

Fatal error: Call to undefined function curl_multi_init() in …

Ошибка curl: SSL certificate problem: unable to get local issuer certificate

Чтобы cURL работала в Apache на Windows вам нужно:

1) Обязательно добавить PHP директорию в PATH (системные переменные среды). Как это сделать сказано чуть выше:

2) В файле C:\Server\bin\PHP\php.ini должна быть раскомментирована строка extension=curl

Обычно это не требуется, но при желании вы можете сделать резервную копию бинарных (исполнимых) файлов сервера. Все эти файлы находятся в папке C:\Server\bin\ . Это Apache, MySQL и PHP - т.е. программы, которые отвечают за работу сервера, но которые мы в любой момент можем скачать с официальных сайтов и вновь настроить.

Если вы хотите сделать их резервную копию (например, перед обновлением сервера), то остановите службы:

C:\Server\bin\Apache24\bin\httpd.exe -k stop net stop mysql

И скопируйте в безопасное место папку C:\Server\bin\ .

Кстати, вы можете скопировать весь сервер целиком, т.е. папку C:\Server\ – в этом случае одновременно получиться резервная копия и исполняемых файлов, и данных (базы данных, сайты).

Когда копирование завершено, вновь запустите службы:

C:\Server\bin\Apache24\bin\httpd.exe -k start net start mysql

15. Обновление сервера

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

Удаление сервера

Если сервер вам больше не нужен , либо вы хотите установить его заново, остановите службы и удалите их из автозапуска последовательно выполнив в командной строке:

C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k uninstall net stop mysql c:\Server\bin\mysql-8.0\bin\mysqld --remove

Удалите файлы сервера, для этого удалите папку C:\Server\ . Внимание, это удалит все базы данных и ваши сайты.

Как защитить веб-сервер Apache от взлома в Windows

С PHP (с выбором версий), с MySQL и phpMyAdmin. Данный сайт размещён именно на нём: отзывчивая и квалифицированная техническая поддержка, установка WordPress и других веб-приложений в одни клик, в подарок при оплате за год, бесплатный перенос сайта. При заказе хостинга по + 1 месяц бесплатно (промокод b33e0e2f).

Эта статья – пошаговая инструкция по созданию локального 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;

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

Вот он – великий и ужасный. Сгубивший на своём веку множество начинающих веб-разработчиков, сложивших головы на настройке его конфигурационных файлов. 🙂 Но мы с вами люди, крепких нервов и стальных желудков — поэтому, поехали.

Начальная установка и настройка

Распакуйте архив дистрибутива в каталог C:\Apache2.

Откройте в текстовом редакторе файл «C:\Apache2\conf\httpd.conf», являющийся основным конфигурационным файлом сервера Apache.

Ну а теперь держитесь. Женщинам, старикам и детям просьба – дальше не читать. За психическое состояние людей, дочитавших статью до конца – авторы ответственности не несут. 🙂

Правка файла httpd.conf

  1. Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
    LoadModule rewrite_module modules/mod_rewrite.so
  2. Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
    LoadModule php5_module «C:/php/php5apache2_2.dll»
  3. Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
    PHPIniDir «C:/php»
  4. Найдите и раскомментируйте строку:
    ServerName www.example.com:80
    Отредактируйте ее следующим образом установив изначальное имя сервера:
    ServerName localhost:80
  5. Найдите строку:
    DocumentRoot «c:/Apache2/htdocs»
    Назначьте корневую директорию управления сайтами (немного позже мы ее создадим):
    DocumentRoot «C:/apache»
  6. Найдите данный блок:

    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all

    И замените его на нижеследующий:

    Options Includes Indexes FollowSymLinks
    AllowOverride All
    Allow from all
  7. Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:

    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  8. Найдите блок:

    DirectoryIndex index.html

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

    DirectoryIndex index.html index.htm index.shtml index.php
  9. Найдите строку:
    ErrorLog «logs/error.log»
    Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
    ErrorLog «C:/apache/error.log»
  10. Найдите строку:
    CustomLog «logs/access.log» common
    Замените на:
    CustomLog «C:/apache/access.log» common
  11. Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке , необходимо найти и раскомментировать:
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
  12. Добавьте ниже, в тот же блок , две строки:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  13. И, наконец, найдите и раскомментируйте строки:
    Include conf/extra/httpd-mpm.conf
    Include conf/extra/httpd-autoindex.conf
    Include conf/extra/httpd-vhosts.conf
    Include conf/extra/httpd-manual.conf
    Include conf/extra/httpd-default.conf

Сохраните изменения и закройте файл «httpd.conf»

Теперь откройте файл «C:\Apache2\conf\extra\httpd-vhosts.conf» и произведите в нем следующие изменения.

Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:
NameVirtualHost *:80


DocumentRoot «C:/apache/localhost/www»
ServerName localhost
ErrorLog «C:/apache/localhost/error.log»
CustomLog «C:/apache/localhost/access.log» common

Сохраните изменения и закройте файл «httpd-vhosts.conf»

Настройка конфигурационныйх файлов завершена, теперь необходимо установить сервис Apache2.2.

Установка сервиса Apache2.2 в картинках

Запускаем командную строку и вводим в ней «C:\Apache2\bin\httpd.exe -k install»

Вот что мы должны увидеть при успешной установке сервиса Apache2.2.

Если все прошло успешно, движемся дальше — устанавливаем ручной запуск сервиса Apache2.2 для чего проходим путь: «Start» («Пуск») → «Control Panel» («Панель управления») → «Administrative Tools» («Администрирование») → «Services» («Службы»), в открывшемся окне управления служб выбираем строку «Apache2.2» и делаем на ней двойной щелчок, после чего во вкладке «General» («Общие») выбираем ручной запуск сервиса — «Startup type: Manual» («Тип запуска: вручную»). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

Создание структуры каталогов виртуальных хостов

В корне диска необходимо создать каталог «apache» — в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок «error.log» (создается программой при первом запуске, автоматически), глобальный файл доступа «access.log» (создается автоматически). В каталоге «apache» создаем еще одну пустую папку — «localhost», в которой, в свою очередь, создаем папку «www», именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.

Пример создания виртуального хоста

При необходимости установки собственных виртуальных хостов сделайте следующее:

Откройте файл «httpd-vhosts.conf», и создайте в нём блок, примерно, следующего содержания:

# Папка, в которой будет корень вашего хоста.
DocumentRoot «C:/apache/test.ru/www»
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog «C:/apache/test.ru/error.log»
# Файл журнала доступа к хосту.
CustomLog «C:/apache/test.ru/access.log» common

Затем в каталоге «apache», создайте папку «test.ru» (прямо так, с точкой), в которой, в свою очередь, создайте папку «www».

Следующий шаг создания виртуального хоста – это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
127.0.0.1 test.ru
127.0.0.1 www.test.ru

Теперь запустите сервер Apache выполнив в командной строке «C:\Apache2\bin\httpd.exe -k start», откройте браузер, введите в адресной строке «test.ru» или «www.test.ru» и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста («www.test.ru», если таковой существует), только закомментировав либо удалив строку: «127.0.0.1 www.test.ru», в вышеупомянутом файле «hosts».

Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/

Остановить работу Apache можно выполнив в командной строке «C:\Apache2\bin\httpd.exe -k stop». При необходимости перезагрузить Apache, выполните в командной строке «C:\Apache2\bin\httpd.exe -k restart».

Установка и настройка веб-сервера Apache – завершена.

Создание пакетных файлов для запуска и остановки сервисов

Согласитесь, что вручную редактировать файл «hosts» при каждом запуске сервисов – это не удобно, поэтому для более удобного, одновременного запуска сервисов Apache, MySQL, и изменения файла «hosts» мы создадим два пакетных файла: на запуск и остановку, которые будут выполнять всю рутинную работу автоматически.

При использовании виртуальных хостов необходимо создать в директории C:\apache два файла: vhosts-off.txt – содержащий изначальное содержимое файла «hosts» и vhosts-on.txt – содержащий все виртуальные хосты. Обратите внимание, что при создании новых виртуальных хостов вам необходимо будет добавлять их в файл vhosts-on.txt, а не в C:\WINDOWS\system32\drivers\etc\hosts. Посмотрите на примеры ниже.

Файл vhosts-off.txt (может содержать одну единственную строку):
127.0.0.1 localhost

Пример файла vhosts-on.txt с виртуальными хостами www.test.ru и test.ru:

127.0.0.1 localhost
127.0.0.1 www.test.ru
127.0.0.1 test.ru

В той же директории C:\apache, создайте два пакетных файла: start-webserver.bat – для запуска сервисов и подмены файла «hosts», и stop-webserver.bat – для остановки сервисов и очистки файла «hosts».

Файл запуска start-webserver.bat:

@echo off echo. if not exist C:\apache\vhosts-on.txt goto no_vhosts echo Create virtual hosts: copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts echo. :no_vhosts NET start Apache2.2 NET start MySQL

Файл остановки stop-webserver.bat:

@echo off echo. if not exist C:\apache\vhosts-off.txt goto no_vhosts echo Restore hosts file: copy /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts echo. :no_vhosts NET stop Apache2.2 NET stop MySQL

В случае если вы не используете виртуальные хосты или хотите запустить сервисы без подмены файла «hosts», просто уберите из директории C:\apache файлы vhosts-on.txt и vhosts-off.txt.

Одновременно с сервисами удобно запускать программу Apache Monitor, отображающую в системном лотке состояние сервера Apache, для чего можно создать еще один пакетный файл «start-webserver-monitor.bat», содержание которого аналогично файлу «start-webserver.bat» с добавлением в самый конец следующей строки:

start «» «C:\Apache2\bin\ApacheMonitor.exe»

Теперь для запуска всего инструментария вам понадобится запустить файл «start-webserver-monitor.bat», или «start-webserver.bat», а для остановки «stop-webserver.bat». При желании вы можете переименовать эти файлы, переместить их в любое другое место из папки «C:\apache», либо создать на данные файлы ярлыки, например, на рабочий стол.

Оригинал статьи: http://php-myadmin.ru/learning/instrument-apache.html



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: