Установка Apache+Php+MySQL+phpMyAdmin на локальном компьютере с Windows x64

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

  • Загрузка дистрибутивов
  • Установка:
    • Courier Mail Server (необязательно)
    • MySQL
    • Apache
    • Php
    • phpMyAdmin

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

MySQL 5.7

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

У меня устанавливалась версия 5.7.9 (актуальная на 14.11.2015). Вы можете выбрать ту, которая сейчас существует.

Выбираем для загрузки полный (объёмом около 380 Мб) msi-установщик (Windows (x86, 32-bit), MSI Installer 5.7.XX ) со страницы: http://dev.mysql.com/downloads/windows/installer/5.7.html . Как сообщается на сайте, сам установщик является 32-разрядным, но он включает в себя и 32-битные, и 64-битные компоненты.

Apache24

За Апачем обычно ходят сюда: http://httpd.apache.org/
На сайте apache.org не публикуются бинарники для Windows, только исходный код (src).
Но, есть ссылки на сайты, где есть готовые сборки для Windows-платформы на основе этого кода.

Зайдём, например, сюда http://www.apachehaus.com/cgi-bin/download.plx

На момент написания статьи доступна была версия 64-битная версия 2.4.18, собранная на базе vc11: http://de.apachehaus.com/downloads/httpd-2.4.18-x64-vc11-r3.zip

Размер архива - около 9 Мб.

PHP 5.5

Скачиваем PHP с сайта: http://windows.php.net/download
На момент написания этой статьи была доступна 64-битная версия PHP 5.5 (5.5.33), Thread Safe, собранная на VC11. Выбирать будем именно сборку на VC11, раз наш Апач собран на этой же базе. Версию 5.5 выбрал потому, что она, в данный момент, и на хостинге тоже используется.
http://windows.php.net/downloads/releases/php-5.5.33-Win32-VC11-x64.zip
Размер архива Zip: 20.2MB

Courier Mail Server (CMS)

Для тестирования связи сайтов с почтовыми сервисами (приём/отправка почтовых сообщений), установим локальным образом (на свой компьютер) простой почтовый сервер. Например, Courier Mail Server (CMS).
Дистрибутив почтового сервера качаем с сайта разработчика: http://www.courierms.ru/
Как сообщается на сайте разработчика "Незарегистрированная копия CMS позволяет создать не более трёх пользователей". Этого нам будет достаточно. На момент написания этой статьи доступна версия Courier Mail Server 3.05 (весом в 1.13 Мб). Сам дистрибутив в виде исполняемого файла courierms305_setup.exe

phpMyAdmin (PMA)

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

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

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

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

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

Установка Courier Mail Server (CMS)

Устанавливать почтовый сервер не обязательно. Веб-сервер Apache с php и MySQL будут работать и без него.
Запускаем от имени администратора скачанный файл courierms305_setup.exe.
Язык оставляем Русский. Далее...
Принимаем условия лицензионного договора (ставим галку под текстом) и жмём кнопку Далее.
Путь для установки (у меня - C:\Program Files (x86)\CourierMS\) можно оставить без изменения, жмём кнопку Установить.
На 4-м шаге программа установки предлагает нам указать пароль администратора локального домена (admin@domain.local) - вводим и подтверждаем пароль (например, cmsadmin - для тестирования на локальном компьютере можно использовать простые пароли).
На 5-м последнем шаге можно снять галочку в поле: "Установить сервер службой и запустить его". Делаем это для того, чтобы он работал не постоянно, а когда мы того сами пожелаем: будем запускать его в ручную только тогда, когда он нам понадобится для тестирования.
Для ручного запуска создаем ярлык для исполняемого файла CMS_Monitor.exe (программы для мониторинга работы почтового сервера) из папки, куда только что установили почтовый сервер (у меня - C:\Program Files (x86)\CourierMS\). Ярлык помещаем на Рабочий стол или панель задач (откуда удобней будет запускать монитор). В дополнительных свойствах ярлыка указать, что программа должна запускаться от имени администратора. Для программы CourierMS.exe, запускающей сам сервер, ярлык создавать необязательно.

Проверим как работает сервер.

Запустим программу мониторинга (с ярлыка для CMS_Monitor.exe). Монитор запускается без видимого окна - работает в свёрнутом виде - см. значок (Courier Mail Server Monitor) в системном трэе (рядом с часами). Нажав правой кнопкой мыши на этом значке, вызвав контекстное меню, выберем пункт "Запустить сервер".
При первом запуске программы может появиться сообщение от системы безопасности Windows о том, что Брандмауэр Windows заблокировал некоторые функции этого приложения. Поставим галку у пункта "Частные сети" - чтобы разрешить работу нашего почтового сервера в пределах нашей локальной сети (в пределах одного компа, в частности). Работу в общественных сетях разрешать необязательно: во внешней сети нашему почтовому серверу делать нечего. И нажмём кнопку "Разрешить доступ". После этого сервер запустится.
Внешне его работа не заметна: выполняется он в фоновом режиме (можно увидеть его в списке процессов Диспетчера задач). Нажав правой кнопкой мыши значке CMS_Monitor, через контекстное меню, зайдём в настройки почтового сервера, вызвав Консоль.
Для подключения к нашему (локальному) серверу используем адрес 127.0.0.1,
имя администратора (как при установке он был): admin@domain.local
Пароль вводим (какой при установке указывали).
Порт: 49201 - это для подключения к серверу CMS для управления - не меняем: оставляем таким же.
Откроется журнал сервера.
Нам надо внести некоторые дополнения в настройки.
В разделе Сервисы выделим сервис по имени HTTP. Нажмём (внизу) кнопку "Изменить" и отключим "Автоматический запуск", сняв галочку с этого пункта.
Если понадобится HTTP сервис от Courier Mail Server, то лучше поменять порт 80 на другой, иначе возникнет конфликт с сервером Apache (который у нас, по умолчанию, настроен работать на 80 порту).
Зайдём в раздел Пользователи и создадим пользователя с именем webmaster, задав ему свой пароль, и пользователя по имени user - со своим паролем.
Нажмём кнопку Применить и закроем консоль.

Адреса локальных почтовых ящиков webmaster@domain.local и user@domain.local - будем использовать для отправки писем с наших локальных сайтов. Эти же учётные записи можно будет использовать при заполнении форм (например, обратной связи) на наших локальных сайтах.

Установка MySQL

Запускаем ранее скачанный установщик MySQL (mysql-installer-....msi).
В окне License Agreement устанавливаем галочку в пункте: I accept the license terms - и жмём кнопку Next.
установка MySQL шаг 1

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

В окне выбора компонентов (Select Products and Features) обязательно выбираем компонент MySQL Server (X64 или X86).
установка MySQL шаг 3

Остальные компоненты - по желанию. Выбрав компонент в левой части окна, нажимаем стрелку вправо, чтобы этот компонент из доступных для установки перешёл в правую часть окна - список того,что будем устанавливать.
Отметив компонент MySQL Server в правой части окна, можно изменить путь его установки, нажав ссылку "Advanced Options" под этим списком.
установка MySQL шаг 3

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

В окне Installation жмём кнопку Execute, чтобы запустить установку на выполнение.
установка MySQL шаг 4
Наблюдать за ходом установки можно, нажав кнопку Show Details.
установка MySQL шаг 4
Когда установка закончится (Status станет complete), нажимаем кнопку Next, для перехода к конфигурированию сервера MySQL.

В окне Product Configuration нажимаем кнопку Next.
конфигурирование MySQL (шаг 5)
В окне Type and Networking выбираем Config Type = Development Machine (значение по умолчанию).
конфигурирование MySQL (шаг 5)
Галки у пунктов TCP/IP и Open Firewall port for network access - оставляем.
Порт связи с MySQL тоже оставляем со значением по умолчанию (Port Number = 3306).
Установим галку у пункта Show Advanced Options.
Жмём Next.

В окне Accounts and Roles задаём пароль для главного пользователя (с логином root - администратора).
конфигурирование MySQL (шаг 5)
В поле MySQL User Accounts можно добавить других пользователей, которые будут иметь доступ к базам данных MySQL. Мы пока других создавать не будем: подключаться будем, как root.
Жмём Next.

В окне Windows Service оставляем галку у пункта Configure MySQL Server as a Windows Service (чтобы сервер MySQL запускался в виде системной службы).
конфигурирование MySQL (шаг 5)
Имя системной службы (MySQL57) оставим по умолчанию. Запускать службу сервера MySQL будем вручную (он нужен нам только на время разработки и тестирования локальных сайтов), поэтому снимаем галочку у пункта Start the MySQL Server at System Startup (чтобы сервер не запускался каждый раз при запуске OC Windows).
Запускать службу будем от имени Standard System Account (эту опцию не меняем).
Жмём Next.

В окне Advanced Options можно изменить параметры журналов (логов), куда сервер записывает сообщения в ходе своей работы.
конфигурирование MySQL (шаг 5)
Здесь ничего не меняем. Нам достаточно того, что будет вестись протокол об ошибках (*.err).
Жмём Next.

В окне Apply Server Configuration жмём кнопку Execute для применения конфигурации сервера.
конфигурирование MySQL (шаг 5)
В ходе применения конфигурации может появиться сообщение (от MySQL Installer) о том, что Configuration of MySQL Server is taking longer than expected (конфигурирование длится дольше, чем ожидалось).
конфигурирование MySQL (шаг 5)
Нажмём OK для того, чтобы не прерывать процесс установки и дождаться его окончания.

конфигурирование MySQL (шаг 5)
По окончании жмём кнопку Finish.

В окне Product Configuration жмём Next.
конфигурирование MySQL (шаг 5)

В последнем окне Installation Complete жмём Finish.
завершение установки MySQL

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

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

Найти в списке MySQL57, щёлкнуть по нему правой кнопкой мыши и выбрать "Запустить/Остановить".

Установка Apache24

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

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

Особое внимание обратить на наличие пакета Visual C++ 2012 x64 Redistributable Package в установленной ОС Windows.

Этот пакет содержит набор библиотек, без которых данная сборка Apache работать не будет.

Скачать бесплатно этот пакет можно с сайта Microsoft, по ссылке (https://www.microsoft.com/en-us/download/details.aspx?id=30679), данной в файле readme_first.html. Обязательно его установите, если его ещё нет в вашей ОС.

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

Skype, установленный на вашем компе тоже может использовать порт 80 и, тем самым, мешать серверу Apache запуститься.

Это лучше отменить в настройках Skype. См. Меню: Инструменты-Настройки-Дополнительно-Соединения

- отключив пункт (сняв галочку): "Для дополнительных входящих соединений следует использовать порты 80 и 443" - и сохранив изменения и с последующим перезапуском Skype.

Пробуем запустить сервер (позже рассмотрим вариант запуска сервера в виде системной службы - сервиса).

Для этого запускаем командную строку в режиме (от имени) администратора.

Переходим в папку C:\Apache24\bin и запускаем программу httpd.exe

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

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

Открыв любой браузер, введём в адресной строке адрес http://localhost/

- должна появиться страница сборщика данного пакета 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

- оба адреса соответствуют локальному компьютеру.

После сохранения файла hosts надо перезапустить ОС.

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

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++ (многофункциональный бесплатный редактор).

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

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

#localhost
<VirtualHost localhost>
ServerAdmin webmaster@domain.local
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>
ServerAdmin webmaster@domain.local
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>

Параметры, определяющие электронные адреса администраторов:

ServerAdmin webmaster@domain.local

- тот почтовый ящик, который мы создали в Courier Mail Server, задавать необязательно.

Проверяем, открываются ли в браузерах страницы по адресам

http://localhost/

http://wp-test/

При нормальном открытии страницы должны отображать такие строки:

это localhost

и

это wp-test

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

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

Для использования в будущем, рекомендую раскомментировать строку

LoadModule rewrite_module modules/mod_rewrite.so

- для того, чтобы, например, в wordpress можно было использовать постоянные ссылки.

Далее, прикрутим к нашему Apache-серверу систему PHP.

Установка PHP

Содержимое скачанного архива php-5.5.33-Win32-VC11-x64.zip выкладываем в папку 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 php5_module "C:/php/php5apache2_4.dll"

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

PHPIniDir "C:/php"

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

<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>

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

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

AddType application/x-httpd-php .php

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

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

Настройка PHP для почтовых рассылок.

Убедиться, что в php.ini раскомментированы и заданы параметры в разделе [mail function]

SMTP = localhost
smtp_port = 25

Для тестирования отправки писем с веб-сервера можно создать файл send_mail.php такого содержания:

<?php
$header = "From: test <user@domain.local>";
$message = "Тестовое сообщение (test message).";
mail("webmaster@domain.local", "Subject", $message, $header);
?>

Поместить этот файл в папку сайта, например, D:\sites\localhost\www, и выполнить этот скрипт, открыв страницу по адресу http://localhost/send_mail.php

Любым удобным почтовым клиентом подключиться к локальному почтовому серверу (localhost), настроить на одну из учетных записей (в первую очередь на webmaster@domain.local - куда мы отправили письмо скриптом), и проверить, что письмо пришло.

Установка phpMyAdmin

Включим в php.ini некоторые расширения.

Укажем папку, где лежат расширения PHP:

extension_dir = "ext"

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

extension=php_bz2.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll

Сохраним файл и перезапустим Apache.

Если не включить расширение GD (php_gd2.dll), то, например, при редактировании изображений в MediaLibrary (Библиотеке файлов) WordPress не будет поддерживаться поворот изображений, а будет сообщение: Поворот изображения на вашем сервере не поддерживается (Image rotation is not supported by your web host).

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

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

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