Как установить веб-сервер Apache c PHP, MySQL и phpMyAdmin на Windows
Оглавление
Веб-сервер на Windows
Веб-сервер — это программа, которая предназначена для обработки запросов к сайтам и отправки пользователям страниц веб-сайтов. Самый популярный пример веб-сервера это Apache.
PHP — это язык программирования. Также называется среда для выполнения скриптов, написанных на PHP. В операционной системе, в том числе и Windows, PHP может быть установлен самостоятельно, без веб-сервера. В этом случае программы (скрипты) на PHP можно запускать из командной строки. Но веб-приложения очень часто используют PHP, данный интерпретатор стал, фактически, стандартом веб-серверов и поэтому они почти всегда устанавливаются вместе.
MySQL — это система управления базами данных (СУБД). Это также самостоятельная программа, она используется для хранения данных, поиска по базам данных, для изменения и удаления данных. Веб-приложения нуждаются в постоянном хранилище, поэтому для веб-сервера дополнительно устанавливается и СУБД. Кстати, вполне возможно, что вы слышали про MariaDB — это тоже СУБД. Первой появилась MySQL, а затем от неё ответвилась MariaDB. Для веб-приложений обе эти СУБД являются взаимозаменяемыми, то есть никакой разницы нет. В этой инструкции я буду показывать установку на примере MySQL, тем не менее если вы хотите попробовать новую MariaDB, то смотрите статью «Инструкция по установке веб-сервера Apache c PHP, MariaDB и phpMyAdmin в Windows».
Что касается phpMyAdmin, то это просто скрипт на PHP, который предназначен для работы с базами данных — наглядно выводит их содержимое, позволяет выполнять в графическом интерфейсе такие задачи как создавать базы данных, создавать таблицы, добавлять, изменять и удалять информацию и т. д. По этой причине phpMyAdmin довольно популярен, хотя и не является обязательной частью веб-сервера.
Особенность Apache и других компонентов веб-сервера в том, что их корни уходят в Linux. И эти программы применяют в своей работе основные концепции этой операционной системы. Например, программы очень гибки в настройке — можно выполнить установку в любую папку, сайты также можно разместить в любой папке, в том числе на другом диске, не на том, где установлен сам веб-сервер. Даже файлы журналов можно вынести на третий диск и так далее. У веб-сервера много встроенных модулей — можно включить или отключить их в любом сочетании, можно подключить внешние модули. Можно создать много сайтов на одном веб-сервере и для каждого из них установить персональные настройки. Но эта гибкая настройка выполняется через текстовые файлы — именно такой подход (без графического интерфейса) позволяет описать любые конфигурации
Не нужно этого боятся — я расскажу, какие файлы нужно редактировать и что именно в них писать.
Мы не будем делать какие-то комплексные настройки — наша цель, просто установить веб-сервер на Windows. Тем не менее было бы странно совсем не использовать такую мощь в настройке. Мы разделим сервер на две директории: в первой будут исполнимые файлы, а во второй — данные (файлы сайтов и баз данных). В будущем, когда возникнет необходимость делать резервные копии информации или обновлять веб-сервер, вы поймёте, насколько удобен этот подход!
Мы установим сервер в отдельную директорию. Для этого в корне диска C:\ создайте каталог Server. В этом каталоге создайте 2 подкаталога: bin (для исполнимых файлов) и data (для сайтов и баз данных).
Перейдите в каталог data и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).
Перейдите в каталог C:\Server\data\DB\ и создайте там пустую папку data.
Для работы всех компонентов веб-сервера необходим файл «Visual C++ Redistributable for Visual Studio 2015-2019» — это официальный файл от Microsoft. Чтобы его скачать перейдите по ссылке. После скачивания, запустите этот файл и выполните установку.
Подготовительные действия закончены, переходим к установке компонентов веб-сервера.
Как установить Apache на Windows
Перейдите на сайт apachelounge.com/download и скачайте .zip архив с веб-сервером:
Распакуйте папку Apache24 из этого архива в C:\Server\bin\.
Перейдите в каталог C:\Server\bin\Apache24\conf\ и откройте файл httpd.conf любым текстовым редактором.
В нём нам нужно заменить ряд строк.
Сохраняем и закрываем файл. Всё, настройка Apache завершена! Описание каждой изменённой директивы вы найдёте на этой странице.
Откройте командную строку (это можно сделать нажав одновременно клавиши Win+x).
Выберите там Windows PowerShell (администратор) и скопируйте туда:
Если поступит запрос от файервола в отношение Apache, то нажмите Разрешить доступ.
Теперь вводим в командную строку:
Теперь в браузере набираем http://localhost/ и видим следующее:
Это означает, что веб-сервер работает. Чтобы увидеть там файлы, добавьте их в каталог c:\Server\data\htdocs\ — это главная папка для данных сервера, где будут размещаться все сайты.
Как установить PHP на Windows
PHP 7 скачайте со страницы windows.php.net/download/. Выберите версию Thread Safe, обратите внимание на битность. Если вы затрудняетесь, какой именно файл скачать, то посмотрите эту заметку.
В папке c:\Server\bin\ создаём каталог PHP и копируем в него содержимое только что скаченного архива.
В файле c:\Server\bin\Apache24\conf\httpd.conf в самый конец добавляем строчки:
И перезапускаем Apache:
В каталоге c:\Server\data\htdocs\ создаём файл с названием i.php, копируем в этот файл:
В браузере откройте ссылку http://localhost/i.php. Если вы видите что-то похожее, значит PHP работает:
Настройка PHP 7
Настройка PHP происходит в файле php.ini. В zip-архивах, предназначенных для ручной установки и для обновлений, php.ini нет (это сделано специально, чтобы при обновлении случайно не удалить ваш файл с настройками). Зато есть два других, которые называются php.ini-development и php.ini-production. Любой из них, при ручной установке, можно переименовать в php.ini и настраивать дальше. На локалхосте мы будем использовать php.ini-development.
Открываем файл php.ini любым текстовым редактором, ищем строчку
Теперь найдите группу строк:
теперь раскомментируйте эту группу строк:
Этими действиями мы включили расширения. Они могут понадобиться в разных ситуациях для разных скриптов. Сохраняем файл и перезапускаем Apache.
Материалы по дополнительной настройке, в том числе подключение поддержки PERL, Ruby, Python в Apache (только для тех, кому это нужно):
Как установить MySQL в Windows
Бесплатная версия MySQL называется MySQL Community Server. Её можно скачать на странице https://dev.mysql.com/downloads/mysql/. На этой же странице есть установщик в виде исполнимого файла, но я рекомендую скачать ZIP-архив.
На странице скачивания нам предлагают зарегистрироваться или войти в существующую учётную запись — но это делать необязательно. Достаточно нажать на ссылку «No thanks, just start my download».
В каталог c:\Server\bin\ распаковываем файлы из только что скаченного архива. Распакованная папка будет называться примерно mysql-8.0.17-winx64 (зависит от версии), переименуйте её в mysql-8.0.
Заходим в эту папку и создаём там файл my.ini Теперь открываем этот файл любым текстовым редактором и добавьте туда следующие строки:
Сохраните и закройте его.
Настройка завершена, но нужно ещё выполнить инициализацию и установку, для этого открываем командную строку от имени администратора и последовательно вводим туда:
По окончанию этого процесса в каталоге C:\Server\data\DB\data\ должны появиться автоматически сгенерированные файлы.
Теперь служба MySQL будет запускаться при каждом запуске Windows.
Как установить phpMyAdmin в Windows
Сайт для скачивания phpMyAdmin: phpmyadmin.net.
Прямая ссылка на самую последнюю версию: phpMyAdmin-latest-all-languages.zip.
В каталог c:\Server\data\htdocs\ копируем содержимое только что скаченного архива. Переименовываем эту папку в phpmyadmin.
В каталоге c:\Server\data\htdocs\phpmyadmin\ создаём файл config.inc.php и копируем туда:
В качестве имя пользователя вводим root. Поле пароля оставляем пустым.
Заключение
Вот и всё — теперь у вас есть свой персональный локальный веб-сервер на своём домашнем компьютере.
Если вдруг у вас что-то не получилось, то скорее всего вы пропустили какой-то шаг или сделали его неправильно — попробуйте всё сделать в точности по инструкции. Если проблема осталась, то ознакомьтесь со справочным материалом «Ошибки при настройке и установке Apache, PHP, MySQL/MariaDB, phpMyAdmin» и если даже он не помог, то напишите о своей ошибке в комментарии.
Большое количество материалов по Apache на русском языке специально для Windows вы найдёте на этой странице.
Примеры материалов, которые могут вам пригодиться в первую очередь:
Установка веб-сервера Apache, MySQL, PHP, phpMyAdmin на Windows 10
Установка веб-сервера Apache, MySQL, PHP, phpMyAdmin на Windows 10
У вас на этой странице три возможных пути: послушать хорошую музыку, посмотреть видео или читать мозголомно-ядерную статью об установке веб-сервера Apache, MySQL, PHP, phpMyAdmin на Windows 10. Выбирайте любое!
Подготовка – скачать: Apache, PHP, MySQL, phpMyAdmin:
1. Apache: https://www.apachelounge.com/download/
2. PHP (Thread Safe): https://windows.php.net/download/
3. MySQL Community Server: https://dev.mysql.com/downloads/mysql/
4. phpMyAdmin: https://www.phpmyadmin.net/
5. Microsoft Visual C++ 2005-2008-2010-2012-2013-2019 Redistributable Package x86 & x64: http://forum.oszone.net/thread-145766.html
Создание структуры веб-сервера:
В корне диска (C:) создать каталог Server. В каталоге создаем 2 подкаталога: bin (Apache, PHP, MySQL) и data (сайт и база данных).
В каталоге data создаем две папки: DB (здесь будут храниться базы данных), htdocs (для нашего сайта).
Распаковываем файлы Apache (из архива httpd-2.4.39-win64-VC15.zip) в C:\Server\bin\ только каталог Apache24.
Переходим в каталог C:\Server\bin\Apache24\conf\ и открываем файл httpd.conf.
Меняем:
Define SRVROOT «c:/Apache24» —> Define SRVROOT «C:/Server/bin/Apache24»
#ServerName www.example.com:80 —> ServerName localhost
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 All
#LoadModule rewrite_module modules/mod_rewrite.so —> LoadModule rewrite_module modules/mod_rewrite.so
Клавиши (Win+X). Выбор Windows PowerShell (администратор).
$ C:\Server\bin\Apache24\bin\httpd.exe -k install
$ C:\Server\bin\Apache24\bin\httpd.exe -k start
В веб-обозревателе набираем: http://localhost/. Apache работает. В каталоге c:\Server\data\htdocs\ нет ни одного html-файла.
Установка и настройка MySQL:
В каталог bin распаковываем файлы MySQL (из архива mysql-8.0.16-winx64.zip). Переименовываем папку mysql-8.0.16-winx64 переименовать в mysql-8.0. Заходим в эту папку и создаём там файл my.ini Открываем этот файл любым текстовым редактором.
Добавьте туда следующие строки:
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir=»C:/Server/data/DB/data/»
default_authentication_plugin=mysql_native_password
Выполняем инициализацию и установку:
$ C:\Server\bin\mysql-8.0\bin\mysqld —initialize-insecure —user=root
$ C:\Server\bin\mysql-8.0\bin\mysqld —install
$ net start mysql
В каталоге C:\Server\data\DB\data\ должны появиться автоматически сгенерированные файлы и служба MySQL будет запускаться при каждом запуске Windows.
Установка и настройка PHP:
В папке C:\Server\bin\ создаём каталог PHP и копируем в него содержимое архива (php-7.3.5-Win32-VC15-x64.zip).
В файле C:\Server\bin\Apache24\conf\httpd.conf в самый конец добавляем строчки:
PHPIniDir «C:/Server/bin/PHP/»
AddHandler application/x-httpd-php .php
LoadModule php7_module «C:/Server/bin/PHP/php7apache2_4.dll»
Перезапускаем Apache:
$ C:\Server\bin\Apache24\bin\httpd.exe -k restart
В каталоге C:\Server\data\htdocs\ создаём файл i.php
В браузере открываем ссылку http://localhost/i.php. PHP работает.
Настройка PHP: проходит в файле php.ini. Берем php.ini-development и задаем новое имя php.ini (прежде сделав резервную копию файла php.ini-development).
Открываем файл php.ini ищем строчку:
; extension_dir = «ext» меняем на extension_dir = «C:\Server\bin\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=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=ftp
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=php_soap.dll
;extension=soap
;extension=sockets
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl
Перезапускаем Apache:
$ C:\Server\bin\Apache24\bin\httpd.exe -k restart
Или в окне «Выполнить» набираем: services.msc —-> перезапускаем Apache2.4
Если ошибка: Компьютер — Управление — Просмотр событий — Журнал Windows — Приложение. Анализируем ошибку и исправляем. Вернитесь к редакрированию расширений и убирайте по одному ( ; ) затем перезапуск Apache: набираем: services.msc —-> перезапускаем Apache2.4
Установка и настройка phpMyAdmin:
В каталог C:Server\data\htdocs копируем содержимое архива phpMyAdmin-4.8.5-all-languages.zip. Переименовываем phpMyAdmin-4.8.5-languages в phpmyadmin.
В каталоге C:Server\data\htdocs\phpmyadmin создаём файл config.inc.php и копируем:
Перезапускаем Apache:
$ C:\Server\bin\Apache24\bin\httpd.exe -k restart или services.msc —-> перезапускаем Apache2.4
Имя пользователя вводим root. Поле пароля оставляем пустым.
Использование сервера и бэкап данных:
В каталоге 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
В них хранятся все настройки.
Дополнительная настройка PHP:
При решении многих задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться
в файле 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
Максимальное время выполнения одного скрипта. Менять эти настройки необязательно, но полезно о них знать.
Создание собственного сайта
Совственно, с этого момента ( ссылка ) вы можете посмотреть как создать сайт на локальном диске.