Установка Apache + PHP + MySQL + phpMyAdmin в Windows 10
В статье рассказывается о том, как настроить связку Apache + PHP + MySQL + phpMyAdmin в Windows 10.
Данная статья является переработкой статьи 2014 года.
Скачивание файлов
Файлы скачиваете согласно битности вашей операционной системы.
Вначале надо скачать и установить (и возможно перегрузить комп) системную библиотеку от Microsoft. Конкретная версия будет зависеть от сборки Apache. Сейчас для Apache 2.4.35 Win64
нужна библиотека Microsoft Visual C++ 2015 Redistributable Update 3
:
https://www.microsoft.com/en-us/download/details.aspx?id=53840
Апач скачиваем не с официального сайта, а с другого, где есть скомпилированная под Windows версия Apache Lounge:
https://www.apachelounge.com/download/
Теперь перейдем к скачиваю PHP. Будьте очень внимательны. Надо скачать архив с последней версией PHP вашей битности в версии Thread Safe
. Я вначале несколько раз не то скачивал и не понимал, почему не работает:
https://windows.php.net/download/
Для работы с базами данных скачиваем phpMyAdmin. На сайте только один вариант для загрузки:
Скачиваем MySQL с сайта в виде установщика под Windows:
https://dev.mysql.com/downloads/installer/
И да, у вас сайт попросит зарегистрироваться, чтобы вы могли скачать файл.
Структура папок
На диске C:
(или на том, котором вы хотите разместить сервер) создаем папку Server
в которую скидываем архивы Apache, PHP:
В этой же папке создаем директорию htdocs
, в которой создаем папки www
и phpmyadmin
. В последнюю копируем наш архив phpMyAdmin:
Установка Apache
В папке C:\Server
разархивируем архив с Apache и оставим только папку Apache24
, а файлы ReadMe.txt
и -- Win64 VC15 --
(у вас может по-другому называться) удалим. Архив с Apache тоже удалим, так как он нам не нужен:
Ищем теперь файл C:\Server\Apache24\conf\httpd.conf
и открываем его в любом текстовом редакторе:
Ищем и меняем в нем строчку:
#ServerName www.example.com:80
Меняем на следующее значение:
ServerName localhost
Ищем и меняем в нем строчку:
Define SRVROOT "c:/Apache24"
Меняем на следующее значение:
Define SRVROOT "c:/Server/Apache24"
Ищем и меняем в нем строчку:
DocumentRoot "${SRVROOT}/htdocs"
Меняем на следующее значение:
DocumentRoot "c:/Server/htdocs/"
Ищем и меняем в нем строчку:
<Directory "${SRVROOT}/htdocs">
Меняем на следующее значение:
<Directory "c:/Server/htdocs/">
Ищем и меняем в нем строчку:
DirectoryIndex index.html
Меняем на следующее значение:
DirectoryIndex index.html index.php index.htm
Ищем и меняем в нем строчку:
#Include conf/extra/httpd-vhosts.conf
Меняем на следующее значение:
Include conf/extra/httpd-vhosts.conf
Теперь находим файл C:\Server\Apache24\conf\extra\httpd-vhosts.conf
и открываем его.
Удаляем всё в нем. И вставляем туда следующие строчки:
<VirtualHost *:80>
DocumentRoot "c:/Server/htdocs/www"
ServerName localhost
ErrorLog "c:/Server/htdocs/www/error.log"
CustomLog "c:/Server/htdocs/www/access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:/Server/htdocs/phpmyadmin"
ServerName phpmyadmin
ErrorLog "c:/Server/htdocs/phpmyadmin/error.log"
CustomLog "c:/Server/htdocs/phpmyadmin/access.log" common
</VirtualHost>
Теперь находим файл C:\Windows\System32\drivers\etc\hosts
и открываем каким-нибудь блокнотом под администратором
(иначе изменения при сохранении не сохранятся) и добавьте в него строчку:
127.0.0.1 phpmyadmin
Теперь запустим приложение C:\Server\Apache24\bin\httpd.exe
. При этом может появиться запрос на разрешение к доступу к сетям. Разрешаем:
Если вы видите ошибку, как на рисунке ниже, то вы не установили библиотеку от Microsoft, о которой говорилось в самом начале статьи:
Откроем браузер и введем http://localhost
и жмем Enter
. Если видим следующее, то всё хорошо:
Создадим текстовой файл index.html
в папке D:\Server\htdocs\www
со следующим содержимым:
<!DOCTYPE html>
<html>
<body>
<h1>Localhost</h1>
<p>This is page in Localhost.</p>
</body>
</html>
И создадим текстовой файл index.html
в папке D:\Server\htdocs\phpmyadmin
со следующим содержимым:
<!DOCTYPE html>
<html>
<body>
<h1>PhpMyAdmin</h1>
<p>This is page in PhpMyAdmin.</p>
</body>
</html>
Теперь, если откроем в браузере http://localhost
, то получим:
А при заходе на адрес http://phpmyadmin
получим вот это:
Закрываем приложение httpd.exe
. Тем самым мы закрыли наш созданный сервер. Сделаем так, чтобы сервер был всегда открыт при запуске системы.
Откроем командную строку под администратором. Через поиск находим программу Командная строка
:
Запускаем от имени администратора:
Вводим там:
c:\Server\Apache24\bin\httpd.exe -k install
И нажимаем Enter
:
Служба Apache24 установилась. Теперь сервер будет всегда работать при работе операционной системы.
Закрываем командную строку (а можете и не закрывать: еще пригодится).
Открываем приложение C:\Server\Apache24\bin\ApacheMonitor.exe
. В трее должна появится иконка:
Щелкаем по ней и выбираем кнопку Start
:
Если иконка изменилась на зеленый квадратик, то всё в порядке:
Если осталась с красной точкой, то проверьте все шаги. И проверьте: вы закрыли или нет httpd.exe
.
Чтобы каждый раз не заходить в папку C:\Server\Apache24\bin
для запуска ApacheMonitor.exe
, то создайте где-нибудь ярлык к программе.
Установка PHP
Создадим папку PHP
в папке C:\Server
и туда разархивируем архив с PHP. Сам архив потом удалим:
В конец файла C:\Server\Apache24\conf\httpd.conf
(с которым мы уже работали) добавим в самом конце такие строчки:
PHPIniDir "C:/Server/PHP"
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/Server/PHP/php7apache2_4.dll"
В папке D:\Server\htdocs\www
удаляем файл index.html
и добавляем текстовой файл index.php
с таким содержимым:
<?php
phpinfo ();
?>
Перезапускаем сервер:
И в браузере открываем http://localhost
. Если видите такое,то всё в порядке:
В папке C:\Server\PHP
файл php.ini-development
переименуем в php.ini
и откроем его в блокноте.
Находим в нем строчку:
; extension_dir = "ext"
И заменяем на:
extension_dir="C:\Server\PHP\ext"
Находим строчки:
;extension=bz2
;extension=curl
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop
В этих строчках убираем точку с запятой в начале строк. То есть получим вот это:
extension=bz2
extension=curl
extension=fileinfo
extension=gd2
extension=gettext
extension=gmp
extension=intl
extension=imap
extension=interbase
extension=ldap
extension=mbstring
extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
extension=oci8_12c ; Use with Oracle Database 12c Instant Client
extension=odbc
extension=openssl
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
extension=pgsql
extension=shmop
Аналогично поступаем со стоками:
;extension=soap
;extension=sockets
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl
То есть в них убираем также точку с запятой:
extension=soap
extension=sockets
extension=sqlite3
extension=tidy
extension=xmlrpc
extension=xsl
Найдите в файле строчку:
short_open_tag = Off
И замените ее на:
short_open_tag = On
Создайте в папке C:\Server
папку temp
:
Найдите в php.ini
строчку:
; session.save_path = "N;/path"
И замените ее на:
session.save_path = "C:\Server\temp"
Найдите в php.ini
строчку:
upload_max_filesize = 2M
И замените ее на:
upload_max_filesize = 200M
Найдите строчку:
post_max_size = 8M
И замените ее на:
post_max_size = 50M
Сохраните и перезапустите сервер. Если видите зеленый треугольник, то всё нормально. Фактически вы настроили сервер, но пока без MySQL:
Установка MySQL
Запустим скаченный установщик MySQL, где соглашаемся на условия использования:
Выбираем тип установки Custom
:
Добавляем MySQL Server для установки и устанавливаем:
Начинаем конфигурировать MySQL:
Так как новый тип аутентификации пока не поддерживается в PHP, то выбираем старый способ аутентификации:
Вводим пароль для root пользователя. У меня для примера используется пароль 1234
:
Применяем выбранную конфигурацию:
Проверим работу MySQL. Заменим содержимое файла D:\Server\htdocs\www\index.php
на следующее:
<?php
$db_conn = new mysqli("localhost", "root", "1234", "mysql");
if (mysqli_connect_errno()) {
echo 'Connection to database failed:'.mysqli_connect_error();
exit();
}
else {
echo 'Ok';
}
?>
Вместо 1234
вставьте свой пароль. И перейдите на адрес http://localhost/
.
Если вы видите Ok
, то всё хорошо:
Установка phpMyAdmin
В папке D:\Server\htdocs\phpmyadmin
удалим файл index.html
.
И разархивируем в папку наш скаченный архив с phpmyadmin:
Создайте текстовой файл config.inc.php
со следующим содержимым:
<?php
$i=0;
$i++;
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '1234';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
?>
Разумеется, что пароль вы меняете на свой.
После этого файл сохраняется в папке D:\Server\htdocs\phpmyadmin
.
Перейдите в браузере по адресу: http://phpmyadmin
. Если вы увидите работающий phpMyAdmin, то всё работает отлично:
Добавление своего виртуального хоста [дополнительно]
В статье показано как добавлен был виртуальный хост phpmyadmin
, то есть по адресу http://phpmyadmin
у вас в браузере открывается ваш подсайт. Аналогичным образом добавляете и другие свои локальные сайты.
В папке C:\Server\htdocs
создаете папку [Название вашего локального сайта]
. Туда кидаете файла своего сайта.
В файле C:\Server\Apache24\conf\extra\httpd-vhosts.conf
добавляете строчки:
<VirtualHost *:80>
DocumentRoot "D:/Server/htdocs/[Название вашего локального сайта]"
ServerName [Название вашего локального сайта]
ErrorLog "D:/Server/htdocs/[Название вашего локального сайта]/error.log"
CustomLog "D:/Server/htdocs/[Название вашего локального сайта]/access.log" common
</VirtualHost>
В файле C:\Windows\System32\drivers\etc\hosts
под администратором добавляете строчку:
127.0.0.1 [Название вашего локального сайта]
После этого перезагружаете апач сервер через ApacheMonitor
или перезагрузкой компа.
После этого по адресу http://[Название вашего локального сайта]
в браузере будет открываться локальный сайт.
Удаление служб [дополнительно]
В процессе экспериментов по настройке сервера вы можете захотеть начать всё сначала. По крайней мере, у меня такое было часто. Для этого достаточно удалить папки Server
, так как полноценной установки в Windows не производилось. Но перед этим нужно остановить и удалить службы Apache и MySQL. Ниже приводится алгоритм, как это сделать.
Вызываем программу Службы
. Способов много. Можно просто через обычный поиск в Windows:
Останавливаем нашу службу:
Двойным щелчком по названию службы открываем подробности службы:
И копируем имя службы:
Запускаем от имени администратора командную строку:
Теперь пропишите команду удаления службы:
sc delete Apache2.4
И нажмите Enter
. Служба удалена:
Возможно, придется перезагрузить комп, чтобы служба полностью удалилась. Один раз мне такое потребовалось.
Службу MySQL можно также удалить, но, если вы устанавливали MySQL через установщик, как в этой статье, то лучше просто деинсталлировать MySQL как обычную программу.
Тэги:
- Установка
- Сервер
- Apache
- PHP
- MySQL
- phpMyAdmin
Категории:
- blog
- it
- web
В статье рассказывается о том, как настроить связку Apache + PHP + MySQL + phpMyAdmin в Windows 10.
В статье рассказывается о том, как настроить связку Apache + PHP + MySQL + phpMyAdmin в Windows 10.