Как установить веб-сервер 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 вы найдёте на этой странице.
Примеры материалов, которые могут вам пригодиться в первую очередь:
Управление базой данных MySQL с помощью phpMyAdmin
Вы также можете вручную загрузить и установить PHPMyAdmin с сайта:
Вы можете удаленно управлять несколькими базами данных MySQL с вашего компьютера.
Главное — правильно настроить сервер MySQL.
По умолчанию сервер MySQL допускает только локальные подключения (от адреса 127.0.0.1).
Чтобы разрешить удаленные подключения к серверу MySQL, вам необходимо отредактировать файл конфигурации my.cnf (/etc/mysql/my.cnf).
Строка-адрес-адрес содержит адрес 127.0.0.1 (localhost), который запрещает серверу MySQL принимать внешние соединения.
Удалите или прокомментируйте эти строки (в этом случае вы можете получить доступ к вашему серверу MySQL из любой точки мира) или указать IP-адрес вашего сервера / компьютера, с которого можно установить соединение управления:
Перезапустите сервер MySQL:
Настройки phpMyAdmin находятся в файле config.inc.php, синтаксис которого довольно сложный.
Чтобы добавить возможность подключения из phpMyAdmin к удаленному серверу MySQL, добавьте следующие строки в файле config.inc.php:
Где «x.x.x.x» — это IP-адрес вашего сервера MySQL.Теперь откройте веб-интерфейс phpMyAdmin (http://127.0.0.1/phpmyadmin) и войдите на ваш сервер MySQL с использованием учетных данных mysql (если вы указали несколько серверов в конфигурации config.inc.php, выберите сервер из списка).
Совет. Вы можете указать имя пользователя mysql и пароль в файле конфигурации config.inc.php, в этом случае соединение с сервером базы данных будет выполняться автоматически (без ввода пароля).
На начальном экране phpMyAdmin вы можете увидеть список баз данных, кодировку (сопоставление соединений с сервером) и версию программы.
На боковой панели отображается список доступных баз данных и таблиц.
Вы можете выбрать базу данных или таблицу.
Выберите любую таблицу. Вы можете просмотреть его содержимое (вкладка «Browse»), структура (вкладка «Structure»), добавить новые строки, выполнить экспорт / импорт данных и т. д.
Кроме того, вы можете выполнять команды консоли MySQL из графического интерфейса phpMyAdmin.
Выберите вкладку SQL и введите код запроса MySQL.
Интерфейс phpMyAdmin довольно прост и прост, поэтому вам нужно быстро это понять.
Настройка связки IIS + PHP + MySQL + phpMyAdmin
Данное описание подходит для следующих редакций Windows 7: Профессиональная и Максимальная.
Установка веб-сервера IIS
Панель управления → Программы → Включение или отключение компонентов Windows. Находим в списке раздел — Службы IIS. Раскрываем его и выбираем нужные компоненты:
- Безопасность. Выбираем все компоненты кроме «Проверка подлинности с сопоставлением сертификата …».
- Компоненты разработки приложений. Выбираем только компонент CGI, это нужно для последующей установки PHP.
- Общие функции HTTP. Отмечаем все пункты.
- Проверка работоспособности и диагностика. Выбираем «Ведение журнала HTTP» и «Монитор запросов».
- Функции повышения быстродействия. Отмечаем все пункты.
- Средства управления веб-сайтом. Отмечаем только «Консоль управления IIS».
Когда все пункты выбраны, нажимаем Ок. После завершения установки обязательно перезагружаемся!
Теперь переходим к созданию веб-сайта. Открываем Панель управления → Система и безопасность → Администрирование → Управление компьютером (можно это сделать и быстрее: правый клик на Компьютер → в меню выбрать пункт Управление). В открывшемся окне слева нажав на маленький треугольник раскрываем группу «Службы и приложения» и открываем «Диспетчер служб IIS». В соседнем окне «Подключения» выбираем папку «Сайты» (если там есть Default Web Site, его можно удалить), затем в правом окне «Действия» нажимаем на ссылку «Добавить веб-сайт…» (можно сделать и так: правый клик → в меню выбрать «Добавить веб-сайт…»).
Далее в открывшемся окне необходимо указать имя веб-сайта и месторасположение его файлов (по умолчанию это c:\inetpub\wwwroot, если этот путь не указан по умолчанию, пропишите его вручную). Остальные опции оставляем без изменения.
Нажимаем OK. На этом базовая настройка завершена. Теперь нужно проверить работоспособность только что созданного сайта. Открываем браузер и в адресной строке вводим: http://localhost. Если все работает правильно, вы увидите похожую страницу:
Установка PHP (FastCGI)
Перед началом установки необходимо скачать релиз PHP с сайта http://windows.php.net/download/. На выбор там предлагается несколько вариантов. Нам необходим релиз VC9 x86 Non Thread Safe. Для работы с IIS в режиме FastCGI это наиболее быстрый и стабильный вариант. Скачивайте релиз с установщиком (installer), а не zip-архив (это для любителей ручной установки). Примите во внимание, что с установщиком (installer) это не обязательно должна быть последняя выложенная версия PHP, ничего страшного не случится, если вы скачаете более раннюю версию.
Далее запускаем установщик. После нескольких не особо информативных окон нам предлагают выбрать веб-сервер и режим работы PHP:
Выбираем IIS FastCGI — сейчас это единственный стабильный вариант установки PHP на IIS.
Далее переходим к выбору компонентов PHP. Если установку PHP производите впервые, лучше оставить значения по умолчанию.
После завершения работы установщика, переходим к настройкам IIS. В принципе здесь надо сделать только одно действие — поднять приоритет php-файлов, чтобы они обрабатывались в первую очередь. Открываем опять диспетчер служб IIS — правый клик на Компьютер → в меню выбираем пункт «Управление», в левом окошке раскрываем «Службы и приложения» → «Диспетчер служб IIS». В окне правее «Подключения» нажимаем по названию нашего сайта и в среднем окне открываем (кликаем 2 раза) раздел «Документ по умолчанию».
В появившемся списке необходимо переместить index.php в начало (т.е. в самый верх — для этого выделяем index.php и справа нажимаем «Вверх» ):
Если используется Windows 7 64-бит, необходимо произвести одно дополнительное действие. Откройте раздел «Пулы приложений» (в окне «Подключения»). Выделите DefaultAppPool и откройте «Дополнительные параметры» (через правый клик или в крайней правой колонке «Действия»). В разделе (Общие) необходимо найти опцию «Разрешить выполнение 32-битных приложений» (Enable 32-bit Applications) и установить в положение True. Если уже созданы дополнительные пулы для уже существующих сайтов, то для каждого из них нужно проделать ту же операцию.
Теперь необходимо провести тестирование PHP. В корневую папку веб-сайта (c:\inetpub\wwwroot) необходимо поместить файл index.php со следующим содержанием:
Открываем сайт в браузере (http://localhost). Если все работает правильно, вы увидите страницу с информацией об установке PHP:
Установка MySQL
Для Win 32 качаем: Windows (x86, 32-bit), MSI Installer
Для Win 64 качаем: Windows (x86, 64-bit), MSI Installer
После нажатия на кнопку Download вы увидите форму для регистрации, ее можно пропустить нажав на ссылку внизу (» No thanks, just start my download!).
Запускаем установщик, после нескольких не особо информативных окон нам предлагают выбрать тип установки, выбираем Custom:
Окно выбора компонентов (если вы новичок, оставляем все по умолчанию, жмем Next и устанавливаем):
В конце установки появится новое окно с вопросом о подписке, нажимаем крестик в верхнем правом углу.
Завершающий этап установки. Отмечаем опцию «Launch the MySQL Instance Configuration Wizard» (Запуск мастера конфигурации MySQL) и нажимаем Finish:
Настройка MySQL
После завершения установки запускается MySQL Server Instance Configuration Wizard (его можно запустить вручную из Компьютер → Program Files → MySQL → MySQL Server 5.5 → bin → MySQLInstanceConfig.exe). Нажимаем Next:
Далее выбираем пункт Detailed Configuration (расширенная настройка):
Выбираем сценарий установки: Developer Machine — для установки на домашний компьютер (наш выбор), Server Machine — для установки на сервер, Dedicated MySQL Server Machine — для установки на сервер полностью выделенный под MySQL. Эти опции влияют в первую очередь на объем потребляемой MySQL памяти:
MySQL поддерживает два основных типа БД (InnoDB — с поддержкой транзакций и MyISAM — без транзакций). Multifunctional Database — будет установлена поддержка БД обоих типов (наш выбор). Transactional Database Only — будет установлена поддержка только InnoDB. Non-Transactional Database Only — будет установлена поддержка только MyISAM.
Если на предыдущем этапе была выбрана поддержка InnoDB, здесь можно настроить расположение файлов данных InnoDB:
Поддержка одновременных соединений. Decision Support — до 20 одновременных соединений (наш выбор). Online Transaction Processing — до 500 соединений. Manual Setting — ручная установка количества соединений.
Отмечаем опции «Enable TCP/IP Networking» и «Enable Strict Mode». Port Number оставляем без изменений — 3306. Если к серверу планируются прямые подключения с других компьютеров, отмечаем опцию «Add firewall exception for this port» (открыть порт в брандмауэре windows).
Выбираем кодировку по умолчанию. Сейчас самый разумный выбор — это UTF-8. Выбираем опцию Best Support For Multilingualism:
Обязательно отмечаем опцию «Install As Windows Service» (запускать как службу Windows). Отмечаем «Launch the MySQL Server automatically», если нужен автозапуск службы.
Завершающий этап. Установка пароля администратора (root). Этот пароль лучше не терять! Опции «Enable root access from remote machines» и «Create An Anonymous Account» отмечать не рекомендуется, т.к. они снижают безопасность.
Далее нажимаем Next и Execute. На этом базовая настройка завершена.
Примечание: если вы до этого устанавливали MySQL, а потом удалили или переустановили, то на последнем этапе будет возникать ошибка 1045 (Connection Error). Чтобы этого не было, придется удалить MySQL, затем удалить скрытую папку MySQL находящуюся в C:\ProgramData (в этой папке находятся файлы информации о данных пользователя). После этого повторите процедуру установки и настройки.
Теперь осталось проверить успешно ли прошла установка. Открываем Пуск → Все программы → MySQL → MySql Server 5.5 → MySQL 5.5 Command Line Client (утилита для работы с MySQL в командной строке).
Далее вводим пароль администратора (root). Если пароль правильный, вы попадете в командную строку ( mysql> ). Введите команду: show databases; (точка с запятой на конце обязательны). В результате вы должны увидеть список баз данных (как минимум две — information_schema и mysql). Это означает, что сервер работает правильно. Закрываем командную строку выполнив команду exit.
Установка и базовая настройка phpMyAdmin
Открываем страницу загрузки http://www.phpmyadmin.net/home_page/downloads.php и выбираем для скачивания архив оканчивающийся на *all-languages.7z или *all-languages.zip. Создаем папку phpmyadmin в C:\inetpub\wwwroot\ и извлекаем туда файлы скаченного архива.
Проверим как оно работает. Открываем браузер и переходим по адресу http://localhost/phpmyadmin/. Должно открыться такое окно:
Прежде чем подключаться к MySQL необходимо создать конфигурационный файл.
Есть два варианта. Можно вручную отредактировать файл config.sample.inc.php и сохранить его как config.inc.php (оба файла в корне установки phpMyAdmin).
Или использовать графический конфигуратор. Для этого в браузере открываем следующий адрес: http://localhost/phpmyadmin/setup/
Если вы видите предупреждение «Невозможно загрузить или сохранить настройки». Создайте папку config в корне установки phpMyAdmin (это значит внутри папки phpmyadmin). Убедитесь, что в настройках безопасности папки config группе пользователей IIS_IUSRS и пользователю IUSR присвоены права полного доступа. Для тех кто не знает как это делается: правый клик на папку config → свойства → вкладка безопасность → нажимаем кнопку «Изменить…» → выделяем в списке IIS_IUSRS (. ) и ниже отмечаем галочкой «Полный доступ», нажимаем «Применить». Тоже самое делаем и для IUSR. Если такого пользователя в списке нет, нажимаем «Добавить» → Дополнительно… → Поиск → выбираем IUSR и нажимаем ОК, затем ставим ему полный доступ.
Возвращаемся к конфигуратору. Чтобы настроить параметры подключения к MySQL, нажимаем на кнопку «Новый сервер»:
Важнейший момент! Если вы подключаетесь к серверу MySQL установленному на той же машине (localhost), в графе «Хост сервера» localhost необходимо заменить на 127.0.0.1 (то же самое относится и к созданию config.inc.php вручную). Добавьте в файл C:\Windows\System32\drivers\etc\hosts строчку: 127.0.0.1 localhost. В этом же файле удалите или закомментируйте (поставить знак # в начале строки) строку ::1 localhost (если она изначально закомментирована, то не надо ничего с ней делать).
Сохраняем настройки и автоматически возвращаемся на предыдущую страницу. Здесь выбираем язык по умолчанию — Русский, сервер по умолчанию — 127.0.0.1, конец строки — Windows.