Как установить локальный сервер Apache с Php, MySQL, phpMyAdmin на компьютере с Windows

В одной из предыдущих заметок я уже рассказывал, как установить локальный сервер Apache с Php, MySQL, phpMyAdmin на компьютере с Windows. В этой я расскажу, как устанавливал более новые версии этих пакетов.

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

План такой:

  • загрузка дистрибутивов
  • установка MySQL
  • установка Apache 2.4
  • установка PHP 7
  • установка phpMyAdmin-4.7.7.

Загрузка дистрибутивов

MySQL 5.7.21

Установочный пакет MySQL берем с сайта http://dev.mysql.com/downloads/mysql/

выбор установщика MySQL

Указываем версию своей операционной системы (я указал 64-разрядную Windows), и переходим на страницу загрузки (Go to Download Page https://dev.mysql.com/downloads/windows/installer/5.7.html).

выбор полного установщика MySQL

Я выбрал загрузку полного установщика msi. На момент написания этой заметки была актуальной версия MySQL 5.7.21, и скачался дистрибутив по имени mysql-installer-community-5.7.21.0.msi.

Apache 2.4

Apache 2.4 для Windows берем отсюда http://www.apachehaus.com/cgi-bin/download.plx

На момент подготовки статьи была доступна x64 версия 2.4.33, собранная на базе vc14:
httpd-2.4.29-o110g-x64-vc14.zip.
Размер архива - около 10 Мб.

PHP 7.2

Скачиваем PHP 7.2 с сайта: http://windows.php.net/download

На момент подготовки этой статьи была доступна x64 версия PHP 7.2 (7.2.2), Thread Safe, собранная на VC15: php-7.2.2-Win32-VC15-x64.zip.
Размер архива Zip: 24 Мб.
Сейчас есть и поновей.

phpMyAdmin (PMA)

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

Его дистрибутив скачаем с сайта http://www.phpmyadmin.net/
На момент подготовки статьи доступна была версия 4.7.7:
phpMyAdmin-4.7.7-all-languages.zip
Размер - около 11 Мб.

Содержимое архива выкладываем в заранее заготовленную папку, например:
D:\sites\localhost\www

Список для установки

Дистрибутивы скачаны. Устанавливаем в таком порядке:

  • MySQL
  • Apache - настраиваем виртуальные сервера, проверяем на html
  • PHP - с доп настройкой Apache проверяем на php_test.php
  • phpMyAdmin (с доп настройкой php)

Установка MySQL

Запускаем ранее скачанный установщик MySQL (mysql-installer-....msi).

В окне License Agreement устанавливаем галочку в пункте:
I accept the license terms
- и жмем кнопку Next.

В окне Choosing a Setup Type выбираем пункт Custom (чтобы самим выбирать параметры для установки MySQL сервера). Жмем кнопку Next.

В окне выбора компонентов (Select Products and Features) обязательно выбираем компонент MySQL Server - X64. Остальные компоненты - по желанию. Выбрав компонент в левой части окна, нажимаем стрелку вправо, чтобы этот компонент из доступных для установки перешел в правую часть окна - список того,что будем устанавливать.

Нажать Next после выбора компонентов.

В окне Installation жмем кнопку Execute, чтобы запустить установку на выполнение.

Наблюдать за ходом установки можно, нажав кнопку Show Details.

Когда установка закончится (Status станет complete), нажимаем кнопку Next, для перехода к конфигурированию сервера MySQL.

В окне Product Configuration нажимаем кнопку Next.

В окне Type and Networking

оставляем включенным пункт Standalone MySQL Server, жмем Next.

В следующем окне Type and Networking
устанавливаем пункт Config Type = Development Machine

Галки у пунктов TCP/IP и Open Firewall port for network access - оставляем.
Порт связи с MySQL тоже оставляем со значением по умолчанию (Port Number = 3306).

Установим галку у пункта Show Advanced Options.

Жмем Next.

В окне Accounts and Roles задаем пароль для главного пользователя (с логином root - администратора).

В поле MySQL User Accounts можно добавить других пользователей, которые будут иметь доступ к базам данных MySQL. Мы пока других создавать не будем: подключаться будем, как root.

Жмем Next.

В окне Windows Service оставляем галку у пункта Configure MySQL Server as a Windows Service (чтобы сервер MySQL запускался в виде системной службы).

Имя системной службы (MySQL57) оставим по умолчанию.

Запускать службу сервера MySQL будем вручную (он нужен нам только на время разработки и тестирования локальных сайтов), поэтому снимаем галочку у пункта Start the MySQL Server at System Startup (чтобы сервер не запускался каждый раз при запуске OC Windows).

Запускать службу будем от имени Standard System Account (эту опцию не меняем).

Жмем Next.

В окне Plugins and Extensions оставляем все, как есть. Жмем Next.

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

Жмем Next.

В окне Apply Configuration жмем кнопку Execute для применения конфигурации сервера.

По окончании жмем кнопку Finish.

В окне Product Configuration жмем Next.

В последнем окне Installation Complete галки у пунктов можно не устанавливать. Жмем Finish.

Установка и конфигурирование MySQL-сервера закончены.

Запустить/остановить вручную сервер MySQL можно, перейдя в список служб Windows.
Найти в списке MySQL57, щелкнуть по нему правой кнопкой мыши и выбрать "Запустить/Остановить".

Установка Apache 2.4 для Windows

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

В архиве, скачанном с сайта разработчика (использован вариант httpd-2.4.29-o110g-x64-vc14.zip), есть папка Apache24. Её, вместе с её содержимым, помещаем на диск С:

Кроме самого пакета (папки Apache24) в архиве лежит файл readme_first.html, который полезно прочитать.

Особое внимание следует обратить на наличие пакета Visual C++ 2015 x64 Redistributable Package в установленной ОС Windows.
Этот пакет содержит набор библиотек, без которых данная сборка Apache работать не будет.
Скачать бесплатно этот пакет можно с сайта Microsoft, по ссылке (https://www.microsoft.com/en-us/download/details.aspx?id=49984), данной в файле readme_first.html. Обязательно его установите, если его ещё нет в вашей ОС.

Если на вашем компе установлены программы, слушащие 80 порт, то лучше их отвадить от использования этого порта, или назначить им другой. Сервер Apache по умолчанию настроен именно на этот порт, см параметр Listen в файле C:\Apache24\conf\httpd.conf

Пробуем запустить сервер (позже рассмотрим вариант запуска сервера в виде системной службы(сервиса)).
Для этого запускаем командную строку в режиме (от имени) администратора.
Переходим в папку C:\Apache24\bin и запускаем программу httpd.exe

запуск сервера Apache из командной строки

При первом запуске может появиться Оповещение системы безопасности Windows о том, что брандмауэр Windows заблокировал некоторые функции этого приложения (см. рисунок)

разрешение брандмауэра для Apache

Ставим галочку, разрешающую Apache HTTP Server связь для Частных сетей.
Работу в общественных сетях можно запретить.

Открыв любой браузер, введём в адресной строке адрес http://localhost/
- должна появиться страница сборщика данного пакета Apache-сервера.

страница сервера Apache

(она с пакетом инсталлирована в папку C:\Apache24\htdocs - это значение имеет переменная DocumentRoot в файле httpd.conf,
но мы его позже изменим).

Значит, сервер Apache стартует и работает нормально.

Если сервер не запускается, то надо посмотреть, какие ошибки он выдает. Ошибки можно увидеть при запуске: в командной строке и в файле C:\Apache24\logs\error.log

Сделаем теперь так, чтобы сервер Apache запускался сервисом (описано в readme_first.html, прилагаемом к дистрибутиву).
В командной строке, запущенной от имени администратора, перейдя в папку C:\Apache24\bin, запустим команду
httpd -k install

Отслеживать состояние службы сервера Apache и выполнять его перезапуск (будем делать часто по ходу настройки) удобно через программу C:\Apache24\bin\ApacheMonitor.exe. Сделайте для неё ярлык и поместите его в удобное для запуска место (в панель задач или на рабочий стол).

Осталось сконфигурировать сервер Apache под наши нужды:
ориентировать на папки, в которых будут лежать наши сайты;
подготовить к работе с MySQL и PHP.

Допустим, мы желаем иметь на локальном компе пока 2 сайта с именами localhost и wp-test
http://localhost/
http://wp-test/

Для этого в системном файле C:\Windows\System32\drivers\etc\hosts должны быть такие строки

127.0.0.1 localhost
127.0.0.2 wp-test

Первая строка обычно уже существует по умолчанию.
Вторую набиваем самостоятельно.

Эти строки сообщают, что хосты с именами localhost и wp-test надо искать по IP-адресам 127.0.0.1 и 127.0.0.2
- оба адреса соответствуют локальному компьютеру.

Перезапуск ОС необязателен.

Создадим на локальном компе папки для хранения сайтовых файлов, например в папке:
D:\sites\localhost
D:\sites\wp-test

В каждой из этих папок создадим 2 файла с именами
access.log
error.log
и подпапку www
D:\sites\localhost\www
D:\sites\wp-test\www
- в этих папках создадим файлы index.html с таким содержимым:
это localhost
это wp-test

Теперь настроим сервер Apache на использование виртуальных хостов, соответствующих нашим сайтам.

Отредактируем конфигурационный файл сервера (C:\Apache24\conf\httpd.conf).
Для этого его надо открыть в текстовом редакторе.
Я для этого использую NotePad++ (очень многофункциональный бесплатный редактор).

Виртуальные хосты обычно прописываю в конец этого файла.

Добавим туда такие строки:

#localhost

<VirtualHost localhost>
ServerName localhost
DocumentRoot "D:/sites/localhost/www"
ErrorLog "D:/sites/localhost/error.log"
CustomLog "D:/sites/localhost/access.log" common

	<Directory D:/sites/localhost/www> 
		AllowOverride All
		Options Includes FollowSymLinks
		Require all granted
	</Directory>

</VirtualHost>


#wp-test

<VirtualHost wp-test>
ServerName wp-test
DocumentRoot "D:/sites/wp-test/www"
ErrorLog "D:/sites/wp-test/error.log"
CustomLog "D:/sites/wp-test/access.log" common

	<Directory D:/sites/wp-test/www> 
		AllowOverride All
		Options Includes FollowSymLinks
		Require all granted
	</Directory>
</VirtualHost>

Проверяем, открываются ли в браузерах страницы по адресам
http://localhost/
http://wp-test/

При нормальном открытии страницы должны отображать такие строки:
это localhost
и
это wp-test

Аналогично можно создавать и другие виртуальные веб-сервера на локальном компьютере.

Дополнительные настройки для Apache, которые могут пригодиться.

Для использования в будущем, рекомендую раскомментировать строку
LoadModule rewrite_module modules/mod_rewrite.so
- для того, чтобы, например, в wordpress можно было использовать постоянные ссылки.

Далее, подружим наш Apache-сервер с системой PHP (см. установку PHP ниже).

Установка PHP 7

Содержимое скачанного архива php-7.2.2-Win32-VC15-x64 выкладываем в папку C:\php\

Внимательно читаем файл C:\php\install.txt из дистрибутива.
В этом файле кратко описано, как установить PHP в системе и настроить его для работы с Apache.

Путь C:\php добавляем в системную переменную PATH

Для тестирования PHP на нашем локальном сайте http://localhost/
создадим в его папке (D:\sites\localhost\www) файл php_test.php с таким содержимым:

<!--?php phpinfo(); ?-->

Тогда при открытии адреса http://localhost/php_test.php должна открываться страница с данными от команды phpinfo.

Подготовим Apache к работе с PHP

В файле httpd.conf

В том месте, где грузятся модули (ищите группу команд LoadModule), в конце группы (если ещё нет такой строки) добавляем:

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

Укажем путь, где установлен php, директивой:

PHPIniDir "C:/php"

В секции <IfModule dir_module>  дописываем index.php:

DirectoryIndex index.html index.php

В секции <IfModule mime_module>, где такие команды, как AddType application...

добавляем строку

AddType application/x-httpd-php .php

Сохраняем httpd.conf и перезапускаем Apache.

После этого тестовая страница http://localhost/php_test.php будет открываться.

Отредактируем файл настроек PHP для работы phpMyAdmin и не только.

Файл php.ini-production переименовываем в php.ini (оставляем в той же папке C:\php\)

Редактируем php.ini так

Раскомментируем строку

extension_dir = "ext"

Включим параметр (по умолчанию=Off)

enable_dl = On

Укажем папку для загрузки временных файлов

upload_tmp_dir="d:/sites/uploadtemp"
upload_max_filesize = 500M

В разделе ; Dynamic Extensions ;

раскомментируем строки:

extension=gd2
extension=mbstring
extension=mysqli

Включим еще одно расширение:

extension=openssl

- для того, чтобы, например, обновлять плагины wordpress на локальном сайте через админку. Иначе выходит ошибка: No working transports found.

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

max_execution_time = 300

Установка phpMyAdmin

Скачав дистрибутив и выложив его содержимое в папку D:\sites\localhost\www
зайдем в папку с документацией \www\doc\html и откроем файл setup.html

Следуя его инструкциям, создадим в корневом каталоге сайта (www) подпапку config (это нужно на время конфигурирования phpMyAdmin скриптом, который можно запустить, открыв страницу настройки по адресу http://localhost/setup/).
Переименуем лежащий в корневом каталоге файл \www\config.sample.inc.php
в рабочий файл \www\config.inc.php
- этот файл откроем для редактирования и определим в нем параметр $cfg['blowfish_secret'] - заполнив любыми символами, например, фразой ANY_WHAT_YOU_WANT:

$cfg['blowfish_secret'] = 'ANY_WHAT_YOU_WANT'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

и, сохранив,закроем этот файл.

Проверим, открываются ли страницы сайта:
http://localhost/
http://localhost/index.php

3 комментария

  1. Статья обалденная!
    Только мне пришлось подправить 2 строчки
    LoadModule php7_module "C:/php/php7apache2_4.dll"
    и
    extension_dir = "C:/php/ext"
    и всё заработало!!!!

  2. Очень полезная информация. Наконец то у меня все заработало. Спасибо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *