Как подключить php к apache
Как подключить PHP к Apache на Windows
Начнём с того, что скачаем самую новую версию PHP для Windows с официального сайта: https://windows.php.net/download/
Там несколько вариантов, которые различаются:
Выбирайте самую последнюю версию, с той битностью, какая у вашего сервера. Т.е. если у вас Apache 64-битный, то PHP также должен быть 64-битным. Всегда выбирайте Thread Safe версию.
Для каждого файла имеется две ссылки:
Выбирайте Zip, поскольку отладочный пакет только для тех, кто действительно знает, зачем он им нужен. Здесь имеется ввиду не отладка PHP-скриптов, а отладка самого интерпретатора PHP.
Настройка PHP в Windows
Настройка выполняется в два этапа:
Подключение PHP к Apache
Для подключения PHP к Apache откройте конфигурационный файл веб-сервера, который расположен по следующему пути: Apache24\conf\httpd.conf (в папке сервера, в подпапке conf, файл httpd.conf).
В этот файл добавьте три строки, две из которых нужно откорректировать:
В первой строке вместо C:/путь/до/PHP напишите точный путь до папки, куда вы распаковали файлы PHP. В третьей строке C:/путь/до/PHP/php8apache2_4.dll также откорректируйте путь, указав расположение PHP папки.
К примеру, я распаковал PHP в папку C:/Server/bin/PHP, тогда мои настройки следующие:
Если папка PHP находится в корне диска C, тогда эти строки должны быть такими:
Чтобы изменения вступили в силу, перезапустите веб-сервер или компьютер.
Настройка PHP
В папке PHP найдите файл php.ini-development и переименуйте его в php.ini – это нужно сделать обязательно, иначе PHP не будет видеть сделанные настройки.
Открываем файл php.ini любым текстовым редактором, ищем строчку
Обратите внимание, что вам нужно скорректировать строку C:\путь\до\PHP\ext\, указав конкретный путь до папки, где размещены файлы PHP.
У PHP (как и у Apache) имеется много расширений. Если вы не знаете, какое расширение для чего нужно, то как минимум два варианта:
Чтобы подключить большую часть расширений, найдите группу строк:
теперь раскомментируйте эту группу строк:
Мы подключили самые востребованные расширения, чтобы работало как можно больше функций PHP.
Как установить и настроить PHP 5 для запуска с Apache на Windows
Этапы настройки PHP 5
1. Загрузите PHP 5
2. Установите PHP 5
3. Тем, кто обновляет пакет: Удалите старый файл PHP.INI из каталога Windows
4. Настройка PHP
а) Включение коротких открывающих тегов
Найдите следующую строку:
При установке Apache PHP по умолчанию входящие данные автоматически не экранируются с помощью слэша. Если вы хотите, чтобы входные данные имели префикс обратной косой черты («»), например, чтобы воспроизводить настройки хостинга, найдите следующую строку:
c) Использование глобальных переменных
Если вы используете такие скрипты, нужно найти следующую строку:
Предупреждение : при установке PHP на Windows не делайте этого, если у вас нет сторонних скриптов, для работы которых это необходимо. При написании новых скриптов лучше всегда исходить из того, что для элемента register_globals установлено значение « Off «.
d) Отображение ошибок
Чтобы PHP отображал сообщения об ошибках прямо в окне браузера, найдите следующую строку:
Если скрипт использует сессии, найдите следующую строку:
session.save_path задает папку, в которой PHP сохраняет файлы сессии. Поскольку папка /tmp в Windows не существует, то нужно установить другую папку. Один из способов — создать папку с именем c:tmp ( как ранее мы создали c:php ) и указать для этого параметра данную папку. Если сделаете это, измените данную строку следующим образом:
Как настроить Apache для PHP 5
a) Запуск PHP 5 в качестве модуля Apache
Если вы использовали другой каталог, нужно будет изменить c:/php на правильный путь. Не забудьте применить косую черту ( «/» ).
Запуск PHP 5 в качестве бинарного файла CGI
Добавьте приведенные ниже строки сразу после раздела, который только что нашли.
c) Настройка индексной страницы по умолчанию
Перезапустите веб-сервер Apache
Тестирование установки PHP
После установки PHP 5 5 или другой версии языка создайте php-файл со следующей строкой:
Изучение PHP
Полное справочное руководство по установке PHP можно найти на официальном сайте технологии. Его можно посмотреть онлайн или загрузить для изучения в автономном режиме.
Пожалуйста, оставьте свои мнения по текущей теме статьи. Мы крайне благодарны вам за ваши комментарии, дизлайки, лайки, отклики, подписки!
Пожалуйста, оставьте ваши комментарии по текущей теме статьи. За комментарии, подписки, дизлайки, отклики, лайки низкий вам поклон!
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Инструкция по установке веб-сервера Apache c PHP, MariaDB и phpMyAdmin в Windows. Настройка безопасности локального веб-сервера
Оглавление
Если вас интересует установка Apache, PHP, MySQL и phpMyAdmin в Windows, то смотрите эту инструкцию.
Веб-сервер на компьютере
Веб-сервер на своём компьютере это очень удобный способ работы с веб-приложениями в любых целях:
Из чего состоит веб-сервер
В большинстве случаев сервер включает в себя четыре основные компонента:
Установку сервера я покажу на примере Windows 10.
Скачать веб-сервер под Windows
Скачать Apache
Чтобы скачать Apache для Windows перейдите на страницу: apachelounge.com/download/. Выберите Win64 или Win32 версию (первая — для 64-битных систем, а вторая для 32-битных). На этой же странице скачайте Visual C++ Redistributable for Visual Studio 2015-2019: vc_redist_x64 или vc_redist_x86. Этот распространяемый C++ пакет Visual Studio 2015-2019 содержит необходимые для работы веб-сервера библиотеки, поскольку Apache для Windows скомпилирован в Visual Studio 2019. Кстати, C++ Redistributable Visual Studio 2015-2019 также нужен и для работы PHP интерпретатора и MariaDB.
Установите скаченный vc_redist — к нему больше не будет возвращаться.
Скачать PHP
Чтобы скачать PHP для Windows перейдите на страницу windows.php.net/download/. Там выберите файл VC15 x64 Thread Safe или VC15 x86 Thread Safe — они различаются битностью. Причём нужно скачивать файл Zip (а не Debug Pack).
Скачать MariaDB
Для скачивания MariaDB под Windows перейдите на страницу downloads.mariadb.org. Там нажмите на зелёную кнопку последнего выпуска. На открывшейся странице найдите файл, имеющий вид mariadb-xx.x.xx-winx64.zip или mariadb-xx.x.xx-win32.zip — они также различаются битностью. При клике на файл, откроется другая страница, там просто найдите и нажмите кнопку с надписью «No thanks, just take me to the download».
Скачать phpMyAdmin
Скачайте phpMyAdmin со страницы phpmyadmin.net. Там найдите кнопку со словом Download.
Установка веб-сервера в Windows
Создадим структуру каталогов нашего сервера. Главная идея – разделить исполнимые файлы от файлов данных. Это удобно для обслуживания сервера, в том числе для резервного копирования.
В корне диска C:\ создайте каталог Server. В этом каталоге создайте два подкаталога: bin (для исполнимых файлов) и data.
Перейдите в каталог C:\Server\data\ и там создайте подпапки DB (для баз данных) и htdocs (для сайтов).
В папке C:\Server\data\DB\ создайте подпапку data.
Карта важных папок, которые упоминаются в данной инструкции:
Установка Apache 2.4 в Windows
Из архива со скаченным веб-сервером httpd-x.x.xx-win64-VC15.zip распакуйте папку Apache24 в C:\Server\bin\.
В папке C:\Server\bin\Apache24\conf\ откройте текстовым редактором файл httpd.conf. Это главный конфигурационный файл Apache — все настройки мы будем делать в нём. Строки, которые начинаются с # (решётки) — это комментарии и сервер не обращает на них внимание.
Для установки правильной корневой папки сервера строку
Пролистываем до списка модулей — это список всех доступных расширений (плагинов) сервера. Те, которые закомментированы — отключены. Для их включения уберите знак # в начале строки.
Для начала рекомендую включить только mod_rewrite (по ссылке целый учебник по этому расширению!), для этого строку
Этой директивой устанавливается имя сервера, которое ни на что не влияет. Но если не прописать это имя, то будет выводиться предупреждение (что имени нет) — некоторых пользователей это путает, так как они принимают это сообщение за ошибку.
Найдите идущие подряд строки
Если коротко, то DocumentRoot — это основная директория, в которой будет размещены файлы всех виртуальных хостов и сайтом. А Directory в данном случае устанавливает настройки основного хоста (при необходимости можно создать несколько виртуальных хостов с разными настройками).
Чуть ниже найдите строки (комментарии приведены для ориентировки):
И замените на (меняется только последняя строка):
Этой настройкой мы включили поддержку файла .htaccess. Он нужен для работы mod_rewrite и других возможностей. С помощью файла .htaccess можно запрещать доступ к конкретной папке и менять некоторые настройки сервера на уровне папок.
Последней настройкой мы добавили варианты индексных файлов. Индексный файл — этот тот файл, который показывается, когда запрос делается без указания файла. Например, если вы открываете адрес https://hackware.ru/, то не указываете, какой именно файл вы хотите увидеть. Поэтому сервер показывает вам индексный файл. Если указать конкретный файл, например, https://hackware.ru/names.txt, то будет показан именно он (если он существует). В дополнении к имеющемуся индексному файлу index.html, мы добавили ещё два: index.php (обычно веб-приложения на PHP используют этот файл) и index.htm (тоже популярный вариант).
Сохраните файл конфигурации.
Теперь откройте командную строку Windows, для этого нажмите клавиши Win+x и выберите там Windows PowerShell (администратор):
В открывшееся окно скопируйте команды для установки и запуска Apache (после введения каждой команды нажмите ENTER):
Откройте в веб-браузере адрес http://localhost/.
Веб-сервер работает, но в папке с документами нет ни одного файла.
Добавьте в папку C:\Server\data\htdocs\ HTML файлы, например файл hello.htm со следующим содержимым:
Вновь откройте http://localhost/ и вы увидите ваш файл:
Думаю, принцип работы понятен — в папке C:\Server\data\htdocs\ размещайте ваши HTML файлы и сайты. В C:\Server\data\htdocs\ вы можете делать подпапки любого уровня вложенности, они будут доступны по адресам вида http://localhost/подпапка.
Установка MariaDB в Windows
Далее мы настроим и запустим MariaDB. Начните с того, что содержимое архива mariadb-xx.x.x-winx64.zip распакуйте в папку C:\Server\bin\. Новую папку переименуйте в mariadb. Получится, что MariaDB размещена на диске в папке C:\Server\bin\mariadb\.
В папке C:\Server\bin\mariadb\ создайте файл my.cnf и скопируйте в него:
Сохраните и закройте этот файл.
Для установки и запуска службы выполните команды:
Установка PHP в Windows
Для установки и подключения PHP к Apache в Windows, в папке c:\Server\bin\ создайте подпапку PHP и скопируйте в неё содержимое архива php-x.x.xx-Win32-VC15-x64.zip.
В каталоге C:\Server\bin\PHP\ найдите файл php.ini-development и переименуйте его в php.ini, затем откройте его текстовым редактором.
В этом файле найдите строку
Теперь найдите строки, которые начинаются на ;extension=:
Раскомментируйте нужные вам расширения. Рекомендую активировать расширения, которые почти наверняка понадобятся (просто замените предыдущие строки в конфигурационном файле на следующие):
Также раскомментируйте строки (кроме одной):
Сохраните и закройте этот файл.
Теперь нам нужно подключить PHP к Apache. Для этого в файле c:\Server\bin\Apache24\conf\httpd.conf в самый конец добавьте строчки:
Сохраните и закройте файл.
После этого в командной строке перезапустите Apache:
Для проверки, что PHP работает в Windows, в каталоге c:\Server\data\htdocs\ создадим файл с названием i.php
В этот файл скопируйте:
В браузере откройте ссылку http://localhost/i.php. Если вы увидите похожую страницу, это значит, что PHP правильно настроен и успешно работает с Apache в Windows:
Установка phpMyAdmin в Windows
В каталог c:\Server\data\htdocs\ скопируйте содержимое архива phpMyAdmin-x.x.x-all-languages.zip. Переименуйте полученную папку в phpMyAdmin, получится, что phpMyAdmin у нас размещён в каталоге C:\Server\data\htdocs\phpMyAdmin\.
В этой папке создайте текстовым редактором файл config.inc.php и скопируйте в этот файл:
Сохраните и закройте этот файл.
Для входа в phpMyAdmin перейдите по ссылке http://localhost/phpMyAdmin/, в качестве имени пользователя введите root, поле пароля оставьте пустым:
Внизу показано сообщение:
Чтобы узнать подробности, перейдите по ссылке http://localhost/phpMyAdmin/chk_rel.php:
Там будет написано:
Чтобы исправить проблему, достаточно создать требуемую базу данных, чтобы это сделать просто перейдите по ссылке http://localhost/phpMyAdmin/chk_rel.php?db=&goto=db_operations.php&create_pmadb=1
Как обезопасить веб-сервер на Windows
После запуска сервера не будет лишним позаботиться о его безопасности. Сетевая служба несёт повышенный риск, поскольку по своему определению (она же сетевая!) подразумевает, что к ней могут подключиться другие устройства и лица, в том числе злоумышленники. При определённых условиях, скомпрометирован может быть не только веб-сервер, но и весь компьютер целиком на котором этот сервер запущен и даже другие устройства в локальной сети. Поскольку в Windows Apache работает с повышенными привилегиями, а права доступа на файлы не настроены должны образом, то веб-сервер с уязвимым скриптом может злоумышленнику предоставить доступ к любому файлу на компьютере.
Запрет доступа из вне к MariaDB/MySQL
Стандартный веб-сервер, в том числе тот, который мы только что установили, имеет две сетевые службы:
СУБД является сетевой службой, что удобно, поскольку можно подключиться к MariaDB/MySQL с другого компьютера и выполнить разнообразные действия с базами данных. Для локальных процессов это тоже нормально — они подключаются к сетевой службе используя виртуальный сетевой интерфейс Loopback (можно перевести как «возвратная петля»). Если не вдаваться в дебри, это такой способ подключиться к сетевой службе, которая работает на этом же компьютере. То есть мы как будто делаем запрос в сеть, а сетевая служба видит эти пакеты как будто бы они пришли из сети. То есть клиент сетевой службы и сама сетевая служба работают как надо, но трафик на самом деле с компьютера никуда не уходит.
Так вот, для MariaDB мы в файле настройки прописали:
Это означает, что она прослушивает только IP адрес 127.0.0.1, который относится к Loopback. Это, в свою очередь, означает, что никто из вне (вне компьютера, на котором работает веб-сервер), не сможет подключиться к MariaDB/MySQL. При этом сайты и другие приложения будут работать с базами данных как ни в чём не бывало — они как раз и используют такие соединения к адресу 127.0.0.1.
То есть MariaDB уже защищена.
Запрет доступа из вне к Apache
Что касается веб-сервера, то здесь настройка зависит от ваших нужд — для чего именно нужен сервер?
Если вы используете сервер только для написания скриптов, тестирования сайтов и вам не нужно, чтобы к нему могли подключаться из вне, тогда в файле C:\Server\bin\Apache24\conf\httpd.conf найдите директиву Listen, по умолчанию её значение:
Чтобы изменения вступили в силу, перезапустите сервер:
После этого никакое устройство ни в глобальной, ни в локальной сети не сможет подключиться к вашему веб-серверу. Но вы как и раньше без проблем сможете открывать его содержимое в веб-браузере используя адрес http://localhost/
Если вы хотите сделать так, чтобы сервер Apache был доступен для всех в локальной сети, но не доступен в глобальной сети, то есть два варианта.
Присвоить компьютеру с сервером статичный адрес, а затем прописать его с директивой Listen локальный_IP:80. Получится именно тот эффект, который нужен: веб сервер будет отвечать на запросы из локальной сети и будет игнорировать запросы из Интернета. Подробности о настройке статичного IP смотрите в статье «Как веб-сервер на своём компьютере сделать доступным для других».
В папке C:\Server\data\htdocs\ (это наша корневая папка веб-документов), создайте файл .htaccess, и в него впишите:
Этой строкой мы разрешили для доступа к серверу устройствам с IP из всех локальных диапазонов, а также петлевым адресам, для всех остальных при попытке подключиться к серверу будет выводиться сообщение:
Вы можете отредактировать приведённую выше строку под ваши нужды, например, можно убрать диапазоны 10.0.0.0/8 и 172.16.0.0/12, если они не используются в вашей локальной сети. IP адреса из 10.0.0.0/8 могут использоваться Интернет-провайдером для NAT, а 172.16.0.0/12 могут использоваться для локальных сетей на уровне города (такие есть/были у некоторых провайдеров). Следовательно, если вы оставите диапазоны 10.0.0.0/8 и 172.16.0.0/12, то при стечении ряда обстоятельств (кабель Интернет-провайдера напрямую подключён к компьютеру без роутера, а Интернет-провайдер использует диапазоны 10.0.0.0/8 и 172.16.0.0/12) пользователи этих локальных сетей смогут подключиться к вашему серверу при этих настройках.
Поэтому также попробуйте
Если всё работает и проблем нет, то остановитесь именно на втором варианте.
Кстати, дополнительная информация про контроль, кто может иметь доступ к вашему сайту (локальному или на хостинге), вы найдёте в статье «Контроль доступа к сайту (блокировка по IP, User-Agent)».
Установка пароля на MariaDB/MySQL
По умолчанию у пользователя root пустой пароль. Поскольку мы отключили доступ к серверу MariaDB/MySQL из вне, то это не так опасно. Тем не менее, остаётся угроза, что злоумышленник найдёт уязвимость в веб-приложении и сможет выполнить подключение через него. Поэтому при желании для дополнительного усиления сервера можно установить пароль для пользователя root в MariaDB/MySQL.
Для этого откройте командную строку, в неё введите:
Замените новый_пароль на ваш пароль.
Заключение
В этой инструкции мы научились устанавливать и настраивать веб-сервер на Windows, ознакомились с основными принципами его работы. Также мы узнали что нужно сделать, чтобы сделать веб-сервер более безопасным для основной системы.
Подключение PHP к Apache
Если Вам понравился данный материал, поделитесь им с вашими друзьями в соц сетях
Основной особенностью веб-сервера Apache является расширяемость его функциональных возможностей, по средствам подключения различных дополнительных модулей. Каждый из них выполняет определенные задачи. Часть модулей разрабатывается командой Apache Software Foundation, другая часть, отдельными open source разработчиками.
Используя данный функционал, к веб-серверу Apache, возможно подключить, к примеру, поддержку различных языков программирования, таких как: PHP, PERL, Python, Ruby, ASP и др.
В одном из предыдущих материалов Установка Apache 2.4, был описан процесс установки и запуска локального веб-сервера Apache на ОС Microsoft Windows 7. Теперь подключим к нему язык программирования PHP. Какую версию PHP выбрать и где ее скачать описано в материале Что необходимо для установки веб-сервера?
Подключение PHP к Apache
Итак, имея в наличии, ранее скаченный архив с необходимой версией PHP, создадим в корне локального диска «C:\» директорию «php», и распакуем в нее содержимое архива.
Перейдем в директорию «C:\php\» и найдем 2 файла: «php.ini-development» и «php.ini-production». Эти файлы — примеры конфигурационных файлов PHP. Сделайте копию файла «php.ini-development» с именем «php.ini», в дальнейшем это будет основным конфигурационным файлом настройки PHP. Текущих настроек файла ««php.ini»» будет достаточно, для того, что бы подключить модуль PHP к веб-серверу Apache и проверить его корректную работу.
Теперь необходимо сообщить нашему веб-сервер Apache, что необходимо подключить модуль PHP.
Открываем конфигурационный файл веб-сервера «C:\Apache24\conf\httpd.conf» и раскомментируем следующие строки (данные строки отвечают за подключение необходимый модулей):
Сразу после блока с подключением модулей, добавляем в конф. файл следующие строки:
В первой строке указываем путь до директории с конфигурационным файлом PHP — «C:\php\php.ini».
Во второй строке говорим веб-серверу, что необходимо загружать модуль PHP, который отвечает за обработку php файлов, указывая при этом полный путь до библиотеки dll. Необходимо помнить, что имя библиотеки может отличаться от указанного.
В третей строке указываем расширение файлов, которые будут обрабатываться интерпретатором PHP.
Ниже в конфигурационном файле ищем блок:
и добавляем в конце второй строки «index.php»
Перезагружает веб-сервер любым удобным для Вас способом (используя ApacheMonitor, сервис Службы или командную строку). Если при перезагризки веб-сервера возникли ошибки и он не запустился, проверьте все измененые Вами данные, возможно была допущена опечатка в указании путей.
Проверяем работает ли PHP
После успешного запуска веб-сервера, необходимо проверить, что PHP работает. Для этого создаем в корневой директории управления сайтами «C:\Apache24\htdocs\» файл c именем «phpinfo.php», открываем его в текстовом редакторе и добавляем следующие строки:
phpinfo — это системная PHP-функция, выводящая различную информацию об интерпретаторе: настройки, текущие значения системных переменных и т.д.
Открываем в браузере страницу http://localhost/phpinfo.php. Если все настроено правильно, то странице Вы увидите таблицу с версией PHP и значением переменных.
Работа с конфигурационным файлом php.ini
Открываем конфигурационный файл php «C:\php\php.ini» в текстовом редакторе.
это значение указывает на директорию (каталог), в котором хранятся динамически загружаемые расширения.
раскомментируем и изменим значение директивы
Предлагаю разобраться, что нам дало выполнение данного действия и что такое динамически загружаемые расширения.
Если Вы откройте директорию «C:\php\ext», то увидите множество файлов с расширением .dll. Каждый из этих файлов и есть то самое динамически загружаемое расширение. Подключение данных расширений позволяют увеличивать функциональные возможности PHP.
Итак, путь до динамически загружаемых расширений мы указали, теперь давайте подключим наиболее важные и необходимые из них. Для это построчно раскомментируем необходимые расширения, удалив в начале каждой строки знак комментирования «;» (точка с запятой).
найдем блок Dynamic Extensions (Динамические Расширения)
раскомментируем необходимые расширения
По итогам изучения данного материала мы расширили функциональные возможности веб-сервера Apache подключив к нему модуль языка программирования PHP.













