Установка 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 :
Апач скачиваем не с официального сайта, а с другого, где есть скомпилированная под Windows версия Apache Lounge:
Теперь перейдем к скачиваю PHP. Будьте очень внимательны. Надо скачать архив с последней версией PHP вашей битности в версии Thread Safe . Я вначале несколько раз не то скачивал и не понимал, почему не работает:
Для работы с базами данных скачиваем phpMyAdmin. На сайте только один вариант для загрузки:
Скачиваем MySQL с сайта в виде установщика под Windows:
И да, у вас сайт попросит зарегистрироваться, чтобы вы могли скачать файл.
Структура папок
На диске 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
Меняем на следующее значение:
Ищем и меняем в нем строчку:
Меняем на следующее значение:
Define SRVROOT "c:/Server/Apache24"
Ищем и меняем в нем строчку:
Меняем на следующее значение:
DocumentRoot "c:/Server/htdocs/"
Ищем и меняем в нем строчку:
Меняем на следующее значение:
Ищем и меняем в нем строчку:
Меняем на следующее значение:
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 и открываем его.
Удаляем всё в нем. И вставляем туда следующие строчки:
*:80> DocumentRoot "c:/Server/htdocs/www" ServerName localhost ErrorLog "c:/Server/htdocs/www/error.log" CustomLog "c:/Server/htdocs/www/access.log" common *:80> DocumentRoot "c:/Server/htdocs/phpmyadmin" ServerName phpmyadmin ErrorLog "c:/Server/htdocs/phpmyadmin/error.log" CustomLog "c:/Server/htdocs/phpmyadmin/access.log" common
Теперь находим файл C:\Windows\System32\drivers\etc\hosts и открываем каким-нибудь блокнотом под администратором (иначе изменения при сохранении не сохранятся) и добавьте в него строчку:
Теперь запустим приложение C:\Server\Apache24\bin\httpd.exe . При этом может появиться запрос на разрешение к доступу к сетям. Разрешаем:
Если вы видите ошибку, как на рисунке ниже, то вы не установили библиотеку от Microsoft, о которой говорилось в самом начале статьи:
Откроем браузер и введем http://localhost и жмем Enter . Если видим следующее, то всё хорошо:
Создадим текстовой файл index.html в папке D:\Server\htdocs\www со следующим содержимым:
Localhost This is page in Localhost.
И создадим текстовой файл index.html в папке D:\Server\htdocs\phpmyadmin со следующим содержимым:
PhpMyAdmin This is page in PhpMyAdmin.
Теперь, если откроем в браузере http://localhost , то получим:
А при заходе на адрес http://phpmyadmin получим вот это:
Закрываем приложение httpd.exe . Тем самым мы закрыли наш созданный сервер. Сделаем так, чтобы сервер был всегда открыт при запуске системы.
Откроем командную строку под администратором. Через поиск находим программу Командная строка :
Запускаем от имени администратора:
c:\Server\Apache24\bin\httpd.exe -k install
Служба 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 с таким содержимым:
И в браузере открываем http://localhost . Если видите такое,то всё в порядке:
В папке C:\Server\PHP файл php.ini-development переименуем в php.ini и откроем его в блокноте.
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
Создайте в папке C:\Server папку temp :
session.save_path = "C:\Server\temp"
upload_max_filesize = 200M
Сохраните и перезапустите сервер. Если видите зеленый треугольник, то всё нормально. Фактически вы настроили сервер, но пока без MySQL:
Установка MySQL
Запустим скаченный установщик MySQL, где соглашаемся на условия использования:
Выбираем тип установки Custom :
Добавляем MySQL Server для установки и устанавливаем:
Начинаем конфигурировать MySQL:
Так как новый тип аутентификации пока не поддерживается в PHP, то выбираем старый способ аутентификации:
Вводим пароль для root пользователя. У меня для примера используется пароль 1234 :
Применяем выбранную конфигурацию:
Проверим работу MySQL. Заменим содержимое файла D:\Server\htdocs\www\index.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 со следующим содержимым:
$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 добавляете строчки:
*: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:
Останавливаем нашу службу:
Двойным щелчком по названию службы открываем подробности службы:
Запускаем от имени администратора командную строку:
Теперь пропишите команду удаления службы:
И нажмите Enter . Служба удалена:
Возможно, придется перезагрузить комп, чтобы служба полностью удалилась. Один раз мне такое потребовалось.
Службу MySQL можно также удалить, но, если вы устанавливали MySQL через установщик, как в этой статье, то лучше просто деинсталлировать MySQL как обычную программу.
В статье рассказывается о том, как настроить связку Apache + PHP + MySQL + phpMyAdmin в Windows 10.
В статье рассказывается о том, как настроить связку Apache + PHP + MySQL + phpMyAdmin в Windows 10.
Harrix
Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.