Windows 7, XP

Установка апач на windows 8. Создание структуры каталогов виртуальных хостов

Установка апач на windows 8. Создание структуры каталогов виртуальных хостов

Ну что ж, мы поговорили достаточно о веб-сервере, пришло время его нам установить и опробовать в деле. Существует сформировавшийся перечень наиболее распространенных веб-серверов, при выборе во внимание принимаются конкретные задачи, под которые он разворачивается. Остановим наш выбор на бесплатном веб-сервере Apache. Считаю его идеальным для сайтов начального и среднего уровня. Конечно, можно пойти легким путем - установить готовый комбайн Denwer, как это делает большинство новичков, но в нашем случае помимо результата важны также и теоретические знания. А после сегодняшнего урока ваш скилл повысится однозначно:)

Идем на страницу загрузки проекта - http://httpd.apache.org/download.cgi и качаем последнюю стабильную версию под Windows в виде MSI инсталлятора (в моем случае это был apache_2.2.14-win32-x86-no_ssl.msi). Начнем установку. Первый диалог, который может ввести нас в заблуждение - это диалог ввода информации о сервере:

Конфигурировать наш сервер мы будем после установки, а сейчас давайте не будем особо париться и впишем в поля "Network Domain" и "Server Name" localhost, а в поле "Administrator"s Email Address" ваш адрес электронной почты (о том, что такое localhost, речь пойдет позже). Нижние переключатели не трогаем. Жмем "Next", соглашаемся с типичной установкой, еще раз "Next". Инсталлятор предложит выбрать директорию, в которую будет установлен веб-сервер:

На мой взгляд, путь слишком длинный, давайте сократим его до C:\Program Files\Apache . Продолжаем установку, дожидаемся ее окончания. После закрытия инсталлятора в трее появится значок Apache монитора:

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

Теперь давайте вспоминать то, о чем мы беседовали в статье . Как вы помните, у каждого компьютера, подключенного к сети, есть свой IP-адрес. Но даже если ваш компьютер не имеет ни одного сетевого подключения, у него есть как минимум один внутренний IP-адрес. Этот адрес - 127.0.0.1 . На всех компьютерах он одинаковый и указывает на сам компьютер. То есть, если сетевому клиентскому приложению указать адрес сервера 127.0.0.1, то клиент будет пытаться подключиться к серверу, расположенному на вашем же компьютере. Далее мы говорили о доменных именах, которые преобразуются в IP-адреса DNS-серверами. У внутреннего адреса 127.0.0.1 есть свое внутреннее доменное имя - localhost . При этом для преобразования этого имени в адрес компьютеру не нужно обращаться к DNS-серверу, так как это соответствие заложено в самом компьютере.

Давайте запустим веб-браузер и введем в адресную строку домен localhost:

Я надеюсь, вы понимаете, что произошло? Домен localhost преобразовался в IP-адрес 127.0.0.1, веб-браузер подключился к веб-серверу по этому адресу и 80 порту и запросил главную страницу с помощью протокола HTTP. То есть наш веб-сервер работает, он отправил браузеру страничку с надписью "It works" ("работает").

Приступим к настройке нашего веб-сервера, которая сводится к редактированию конфигурационных файлов Apache. Для начала необходимо обзавестись удобным, практичным и в то же время простым текстовым редактором. Если у вас такой уже есть - мои поздравления, если же вы несчастный пользователь Блокнота, могу предложить редактор . Перейдите в папку C:\Program Files\Apache\conf и переименуйте файл httpd.conf в httpd.conf.bak , чтобы в случае чего иметь под рукой начальную конфигурацию. Создайте новый файл httpd.conf со следующим содержимым:

ServerRoot "C:/Program Files/Apache" Listen 80 LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cgi_module modules/mod_cgi.so LoadModule dir_module modules/mod_dir.so LoadModule env_module modules/mod_env.so LoadModule include_module modules/mod_include.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_module modules/mod_mime.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so ServerName localhost AccessFileName .htaccess ServerTokens prod LogLevel error ErrorLog "logs/error.log" DefaultType text/plain AddDefaultCharset UTF-8 DirectoryIndex index.html Order allow,deny Deny from all Satisfy All TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz LogFormat "\nclient=%h\ntime=%{%d.%m.%Y %H:%M:%S}t\npage=%U%q\nreferer=%{Referer}i\nreqmethod=%m\nhost=%{Host}i\nagent=%{User-agent}i\n\n" mylog

Разбираемся. ServerRoot - путь, куда установлен наш веб-сервер. Обратите внимание на слеши. Listern - указывается номер порта, который будет "слушать" веб-сервер, а также, если необходимо, IP-адрес (если у вашего компьютера несколько подключений и нужно принимать соединения только по одному из них). Мы указали порт 80, который является стандартным для веб-серверов. LoadModule загружает модуль веб-сервера, модули позволяют получить дополнительные возможности. В нашем конфигурационном файле прописан перечень стандартных модулей. AddDefaultCharset - кодировка по умолчанию, выставили юникод (UTF-8). Остальное пока нас мало волнует.

А теперь самое главное. Не забыли, для чего устанавливаем веб-сервер? Правильно, для работы над нашими будущими сайтами. Существует понятие корневой каталог - это каталог, где расположен контент сайта, то есть файлы, из которых он состоит. По умолчанию в нашем Apache корневым каталогом является каталог . Перейдя туда вы обнаружите там единственный файл под именем index.html . Это тот самый файл, который содержит главную страницу с надписью "It works" по адресу http://localhost . Дело в том, что если в запросе (который, кстати, называется url) отсутствует имя файла, то веб-сервер ищет файл с одним из стандартных имен. Эти имена (точнее, одно имя - index.html ) прописаны у нас в конфигурационном файле:

DirectoryIndex index.html

Таким образом, при запросе http://localhost веб-сервер будет искать файл C:\Program Files\Apache\htdocs\index.html , при запросе http://localhost/docs - C:\Program Files\Apache\htdocs\docs\index.html (в том случае, если docs - папка), при запросе http://localhost/news.html - C:\Program Files\Apache\htdocs\news.html и так далее.

При веб-строительстве удобно иметь не один, а, скажем, три локальных (находящихся на локальной машине) домена, на которых можно независимо тестировать ваши сайты. Apache позволяет обслуживать несколько сайтов, то есть вам не придется для каждого домена устанавливать свою копию веб-сервера (к тому же, мы помним, что на компьютере может работать только одно серверное приложение на определенном порту). Несколько доменных имен могут ссылаться на один и тот-же IP-адрес. Apache, в свою очередь, может в зависимости от доменного имени, переданного в HTTP-запросе (вспоминаем параметр Host, статья "Принципы функционирования веб-сервера"), искать файлы в определенном корневом каталоге. Такая технология называется "виртуальный хост" .

Итак, localhost соответствует адресу 127.0.0.1, давайте создадим еще три внутренних домена test-domain1, test-domain2 и test-domain3, которые будут соответствовать этому же адресу. Откройте в текстовом редакторе файл C:\WINDOWS\system32\drivers\etc\hosts . В этом файле можно задать соответствия доменных имен и IP-адресов. Здесь же мы обнаружим то самое соответствие localhost адресу 127.0.0.1. Добавьте в конец файла строки:

127.0.0.1 test-domain1 127.0.0.1 test-domain2 127.0.0.1 test-domain3

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

Следующим шагом необходимо каждому доменному имени создать свой корневой каталог и сказать об этом нашему веб-серверу. Удаляем в папке C:\Program Files\Apache\htdocs файл index.html и создаем там три папки: test-domain1 , test-domain2 и test-domain3 , в каждой из этих папок папку log - для логов и папку www - собственно, корневой каталог для домена. В конце файла C:\Program Files\Apache\conf\httpd.conf дописываем следующее:

NameVirtualHost *:80 ServerName test-domain1 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain1/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain1/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain1/log/access.log" mylog ServerName test-domain2 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain2/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain2/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain2/log/access.log" mylog AllowOverride All Options -Indexes ServerName test-domain3 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain3/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain3/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain3/log/access.log" mylog AllowOverride All Options -Indexes

Три блока VirtualHost описывают наши три виртуальных хоста. Каждому задается свой корневой каталог - DocumentRoot , путь к логу ошибок - ErrorLog и логу доступа - CustomLog .

В корневом каталоге каждого домена создайте по файлу index.html с содержимым "Hello from test-domain1", "Hello from test-domain2" и ""Hello from test-domain3". Чтобы изменения в конфигурации вступили в силу, необходимо перезапустить Apache (левой кнопкой мыши по значку Apache монитора -> Restart). Если ошибок не было допущено, должно все работать:

Поздравляю, теперь у вас есть настроенный веб-сервер с тремя локальными хостами. Раздолье для веб-мастера:) Самое время приступить к изучению основ веб-строительства.

Последнее обновление: 20.10.2017

Загрузим пакет веб-сервера Apache с сайта http://www.apachelounge.com/ . Выберем последнюю версию сервера. На странице загрузок мы можем найти две версии пакета Apache - для 64-битных систем и для 32-битных.

Перед установкой Apache следует отметить, что если наша ОС Windows, то в системе должны быть установлен пакет для C++, который можно найти по адресу для 64-битной и для 32-битной .

После загрузки пакета с Apache распакуем загруженный архив. В нем найдем папку непосредственно с файлами веб-сервера - каталог Apache24 . Переместим данный каталог на диск C, чтобы полный путь к каталогу составлял C:/Apache24 .

Теперь нам надо установить Apache в качестве службы Windows. Для этого запустим командную строку Windows от имени администратора и перейдем в каталог веб-сервера с помощью команды

httpd.exe -k install

Если установка завершится удачно, то в командная строка отобразит сообщение "The Apache2.4 service is successfully installed". Также будет проведено тестирование сервера:

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

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

Файл httpd.conf настраивает поведение веб-сервера. Мы не будем подобно затрагивать его описания, а только лишь произведем небольшие изменения, которые потребуются нам для работы с PHP.

Во-первых, найдем строку

Listen 80

Это строка указывает на прослушиваемый порт. По умолчанию 80-й порт. Если конфликтов с портами не возникает можно оставить так, как есть. Я же изменю на 8080 порт.

#ServerName www.example.com:80

и изменим на

ServerName localhost:8080

Теперь подключим PHP. Для этого найдем в файле httpd.conf конец блока загрузки модулей LoadModule

//...................... #LoadModule watchdog_module modules/mod_watchdog.so #LoadModule xml2enc_module modules/mod_xml2enc.so

И в конце этого блока добавим строчки

LoadModule php7_module "C:/php/php7apache2_4.dll" PHPIniDir "C:/php"

DocumentRoot "c:/Apache24/htdocs"

По умолчанию в качестве хранилища документов используется каталог "c:/Apache24/htdocs". Заменим эту строку на следующую:

DocumentRoot "c:/localhost"

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

ErrorLog "logs/error.log"

И заменим ее на

ErrorLog "c:/localhost/error.log"

CustomLog "logs/access.log" common

И заменим ее на

CustomLog "c:/localhost/access.log" common

И также найдем блок и добавим в него две строчки:

AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps

И в конце найдем блок :

DirectoryIndex index.html

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

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

Это минимально необходимая конфигурация, которая нужна для работы с PHP. Чтобы управлять сервером (запускать, останавливать, перезапускать), мы можем использовать утилиту, которая идет в комплекте - . Данную утилиту можно найти в каталоге C:\Apache24\bin

Запустим утилиту. В трее появится значок ApacheMonitor. Нажмем на него и в появившемся контекстном меню выберем пункт Start.

Если у нас все настроено правильно, то должен запустить веб-сервер.

Теперь наша задача - убедиться, что php подключен и работает правильно. Для этого перейдем в папку c:/localhost , которую мы создали для хранения документов, и добавим в нее обычный текстовый файл. Переименуем его в index.php и внесем в него следующее содержание:

В данном случае мы создали простейший скрипт, который выводит общую информацию о PHP. Теперь обратимся к этому скрипту, набрав в строке браузера адрес http://localhost:8080/index.php

Что тут произошло? При обращении к сайту на локальной машине в качестве адреса указывается http://localhost . Так как мы указали в качестве порта 8080, то также в адресе указывается через двоеточие порт. Если бы мы использовали 80-й порт, который используется по умолчанию, то его не надо было указывать.

Затем указывается имя ресурса, к которому идет обращение. В данном случае в качестве ресурса используется файл index.php . И так как в файле httpd.conf в качестве хранилища документов веб-сервера указан каталог C:\localhost , то именно в этом каталоге и будет веб-сервер будет производить поиск нужных файлов.

И поскольку выше при конфигурировании мы указали, что в качестве главной страницы может использоваться файл index.php , то мы можем также обратиться к этому ресурсу просто http://localhost:8080/

На этом установка и настройка веб-сервера Apache завершена, и мы можем создавать свои сайты.

Установка веб-сервера на 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-сервер Apache 2.2.2, и посмотрим на его основные настройки.
Для начела, проверим, как у нас прошла установка: Откройте браузер и введите http://localhost -Вы увидете страничку приветствия: It Works! Значит у нас установка прошла нормально.

Далее щелкаем на значке пера в панели задач правой кнопкой мышки и выбираем "Open Services". В открывшемся окне управления служб выбираем строку "Apache2.2" и делаем на ней двойной щелчок, после чего во вкладке "General" ("Общие") выбираем ручной запуск сервиса - "Startup type: Manual" ("Тип запуска: вручную"). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

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

Правка файла 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"


раскоментируем после установки php

4. Найдите строку:

DocumentRoot "C:/server/htdocs"

Назначьте корневую директорию управления сайтами (немного раньше вы ее уже создали):

DocumentRoot "C:/apache"

5. Найдите данный блок:


Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all


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


Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all

6. Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:


#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn"t give it to you.
#
# 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

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

7. Найдите блок:


DirectoryIndex index.html

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


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

8. Найдите строку:

ErrorLog "logs/error.log"


Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):

ErrorLog "C:/apache/error.log"

9. Найдите строку:

CustomLog "logs/access.log" common


Замените на:

CustomLog "C:/apache/access.log" common

10. Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке, необходимо найти и раскомментировать:

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

11. Добавьте ниже, в тот же блок, две строки:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

12. И, наконец, найдите и раскомментируйте строки:

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:\server\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 для чего проходим путь: "Start" ("Пуск") → "Control Panel" ("Панель управления") → "Administrative Tools" ("Администрирование") → "Services" ("Службы"), в открывшемся окне управления служб выбираем строку "Apache2.2" и делаем на ней двойной щелчок, после чего во вкладке "General" ("Общие") выбираем ручной запуск сервиса - "Startup type: Manual" ("Тип запуска: вручную"). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

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

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

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

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

Затем в каталоге "apache", создайте папку "dom.ru", в которой, в свою очередь, создайте папку "www".
Следующий шаг создания виртуального хоста - это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
127.0.0.1 dom.ru
127.0.0.1 www.dom.ru
Теперь перезапустите сервер Apache, откройте браузер, введите в адресной строке "dom.ru" или "www.dom.ru" и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста ("www.dom.ru", если таковой существует), только закомментировав либо удалив строку: "127.0.0.1 www.dom.ru", в вышеупомянутом файле "hosts".
Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/
Установка и настройка веб-сервера Apache - завершена.

В статье описывается установка Apache 2.4 + PHP 5.6 + MySQL 5.6 на операционную систему Windows 7 / 8 / 8.1 / 10

Прежде чем продолжить чтение, обратите внимание на то, действительно ли вам необходимо устанавливать и настраивать всё это под Windows?Может быть Вам стоит обратить внимание на и не тратить свое время и нервы на настройку того же самого напрямую в Windows? В любом случае, прочтите статью про . Возможно она сэкономит вам не только время, но и здоровье.

Данная инструкция будет полезна начинающим WEB-разработчикам, которые собираются установить на своем ПК с ОС Windows WEB-сервер Apache с интерпретатором PHP последних версий. Конечно же, намного проще установить сборку, наподобие Denwer или прибегнуть к использованию инсталляторов и не париться по поводу настроек. Однако каждый WEB-разработчик обязан понимать процесс работы WEB-сервера, процесс его установки и настройки.

Если Вы хотите установить PHP 7, то обратитесь пожалуйста к статье.

Если в процессе сборки сервера по этой инструкции Вы столкнулись с проблемами и все еще считаете себя WEB-разработчиком, то будет правильным шагом разобраться в возникших проблемах, а не писать в комментарии что инструкция говно. Инструкция рабочая. Проверено временем и сотнями инсталляций. Будьте внимательней при выполнении простых шагов. Выполнение шагов вручную и разбор ситуаций, если не заработало, добавит Вам skill как разработчику. Если Вы не WEB-разработчик и не планируете им быть, то подыщите простой способ установки в интернете - данная инструкция не для Вас.

Обратите внимание, что под Windows XP данные версии VC11 запустить будет невозможно (или крайне затруднительно).

Подготовительные работы

Убедитесь, что у вас именно Windows 7 или новее. Если у Вас Windows XP, данная инструкция не поможет Вам, так как описанная здесь версия Apache не работает под Windows XP.

Удалите все WEB-серверы, которые устанавливали до этого, зайдите в службы и убедитесь, что там нет служб Apache или IIS. Если у вас уже установлен какой-либо веб-сервер, второй параллельно скорее всего не заработает вовсе.

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

Для работы очень желательно иметь файловый менеджер, позволяющий создавать файлы с любыми расширениями, либо, что еще лучше, редактор кода, наподобие Sublime Text или Notepad++ или полноценную IDE.

Структура папок может быть различной, однако данная инструкция написана под определенную структуру и, если ей следовать, всё гарантированно заработает.
Перед тем как начать, создайте на диске D папку USR , внутри которой создайте 5 подпапкок: apache , php , tmp , www , log . Именно так. Без указания номеров версий.

В каталоге www создаем индексные файлы (при помощи файлового менеджера или редактора кода), которые будут нужны для проверки того, что все работает:

  • index.html с содержимым: It works!
  • index.php с содержимым:

Если файлового менеджера / редактора кода / IDE нет, скачайте архив с этими двумя файлами . Но, если Вы считаете себя WEB-разработчиком, Вы должны обзавестись инструментами.

В системную переменную PATH добавляем:

;D:\USR\apache;D:\USR\apache\bin;D:\USR\php;

Замечания!

Приведенные в примерах конфигурационных файлов номера строк могут отличаться для других версий apache и php.
Все команды, включая редактирование файлов, должны осуществляться от имени Администратора.

Установка Apache 2.4

Хотя для простой разработки на PHP и нет необходимости в отдельном WEB-сервере (в PHP встроен собственный WEB-сервер, которого почти всегда достаточно для разработки одного проекта), все же рекомендуется произвести установку и настройку WEB-сервера Apache, хотя бы потому, что программист обязан знать эти тонкости. В конечном итоге придется работать с WEB-сервером и придется разбираться с его конфигурацией. Так что приступим.

  1. Загружаем Apache 2.4 binaries VC11 под свою систему по ссылке http://www.apachelounge.com/download/VC11/ Скорее всего у Вас 64 разрядная ОС, поэтому Вам понадобится файл с именем, наподобие httpd-2.4.xx -win64-VC11.zip
  2. Если нужны какие-то дополнительные модули, их можно загрузить там же (для базовой установки нет необходимости)
  3. Разархивируем содержимое папки Apache24 из скаченного архива в D:\USR\apache . Обратите внимание, что в D:\USR\apache нужно положить не папку Apache24 из архива, а ее содержимое. Инсталлировать ничего не требуется.
  4. В файле изменяем значение ServerRoot на "d:/USR/apache" (строка 37 ) и значение DocumentRoot Direcroty ) на "d:/USR/www" (строки 242 и 243 ). Так же следует раскомментировать строку 218 и изменить ее на: ServerName localhost:80
  5. Изменяем параметры хранения логов в том же файле (находим параметры и изменяем): ErrorLog "D:/USR/log/apache-error.log" CustomLog "D:/USR/log/apache-access.log" common
  6. Устанавливаем сервис Apache (от имени Администратора). Открываем командную строку от имени Администратора и вставляем туда следующую строку: D:\USR\apache\bin\httpd.exe -k install
  7. Следим за сообщениями об ошибках во время установки сервиса. Если все сделано верно, никаких ошибок быть не должно. Если у вас после выполнения строки не появилась снова командная строка, то вы что-то сделали неправильно. Просто воспользуйтесь функциями скопировать и вставить, чтобы не допускать ошибок при перепечатке.
  8. Создаем на рабочем столе ярлык для D:\USR\apache\bin\ApacheMonitor.exe и/или помещаем его в автозагрузку (для открытия окна автозагрузки в WIN8 необходимо нажать WIN+R, затем ввести shell:Startup и нажать ОК)
  9. Запускаем ApacheMonitor. В системном трее появится ярлык. Нажимаем на него левой кнопкой, выбираем Apache24 -> Start.
  10. В браузере заходим на http://localhost/ — должны увидеть It works!
  11. Если не увидели такой надписи, разбираемся, что пошло не так (читаем логи, гуглим, пытаемся самостоятельно разобраться с проблемой, раз уж решили разбираться в тонкостях работы веб-сервера)

Установка PHP 5.6

  1. Загружаем последнюю версию VC11 x86 Thread Safe или VC11 x64 Thread Safe по ссылке http://windows.php.net/download/ . Обратите внимание, что нужен именно VC11 и именно Thread Safe . Разрядность должна быть как у Apache. Файл, который Вам нужен, скорее всего будет называться наподобие: php-5.6.11-Win32-VC11-x86.zip или php-5.6.11-Win32-VC11-x64.zip
  2. Извлекаем содержимое архива в D:\USR\php . Как в случае с Apache, инсталлировать ничего не требуется.
  3. В файл D:\USR\apache\conf\httpd.conf добавляем строки: LoadModule php5_module "d:/USR/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php # Путь к файлу php.ini PHPIniDir "D:/USR/php"
  4. И изменяем значение DirectoryIndex на index.html index.php (строка 276 )
  5. Используя ApacheMonitor перезапускаем Apache (Apache24 -> Restart)
  6. Заходим браузером http://localhost/index.php и убеждаемся, что PHP работает.
  7. Делаем копию файла D:\USR\php\php.ini-development с именем D:\USR\php\php.ini
  8. Пользуясь поиском находим, раскомментируем и изменяем параметры: extension_dir = "D:/USR/php/ext" sys_temp_dir = "D:/USR/tmp" extension=php_mysql.dll extension=php_mysqli.dll extension=php_openssl.dll date.timezone = Europe/Zaporozhye
  9. Выполняем в командной строке php -m чтобы просмотреть список подключенных модулей.
  10. Перезапускаем Apache используя ApacheMonitor

Виртуальные хосты в Apache

  1. Если на компьютере производится отладка нескольких проектов, то могут понадобиться виртуальные хосты (сайты). На примере будем рассматривать два виртуальных хоста: s1.localhost и s2.localhost . Для удобства будем создавать папки с такими же названиями, что совсем не обязательно в реальной системе.
  2. Следует учесть, что при использовании виртуальных хостов, параметр DocumentRoot конфигурационного файла Apache более не имеет смысла. Основным хостом сервера (который будет доступен по адресу http://localhost/) теперь является первый виртуальный хост в конфигурационном файле виртуальных хостов!
  3. Для начала необходимо добавить в файл c:\Windows\System32\drivers\etc\hosts строки: 127.0.0.1 s1.localhost 127.0.0.1 s2.localhost

    Делать это нужно от имени Администратора. Желательно после этого перезагрузиться, но на практике этого не требовалось. Если изменить файл не удается (права доступа), вы можете скопировать его на рабочий стол, изменить, а затем скопировать обратно.

  4. Создаем папки для виртуальных хостов D:\USR\www\s1.localhost и D:\USR\www\s2.localhost , в которых будут располагаться файлы. В каждой из папок создаем файл index.html с содержимым S1 и S2 соответственно (для контроля того, что все работает как нужно)
  5. Затем создаем папки для логов: D:\USR\log\s1.localhost и D:\USR\log\s2.localhost - тут будут храниться логи каждого из сайтов. Вообще-то, логи можно хранить в одной папке, но я привык делать так - мне так более удобно.
  6. Далее необходимо включить поддержку виртуальных хостов. В файле D:\USR\apache\conf\httpd.conf раскомментировать строку Include conf/extra/httpd-vhosts.conf
  7. Далее редактируем файл d:\USR\apache\conf\extra\httpd-vhosts.conf — он должен выглядеть так (каждому виртуальному хосту свой блок VirtualHost): ServerAdmin [email protected] DocumentRoot "D:/USR/www/s1.localhost" ServerName s1.localhost ServerAlias www.s1.localhost ErrorLog "D:/USR/log/s1.localhost/error.log" CustomLog "D:/USR/log/s1.localhost/access.log" common ServerAdmin [email protected] DocumentRoot "D:/USR/www/s2.localhost" ServerName s2.localhost ServerAlias www.s2.localhost ErrorLog "D:/USR/log/s2.localhost/error.log" CustomLog "D:/USR/log/s2.localhost/access.log" common
  8. Первый виртуальный хост s1.localhost теперь будет основным хостом системы, т.к. его блок следует первым в конфигурационном файле, т.е. будет доступен при входе на