Как установить php на apache
Для работы с PHP нам потребуется веб-сервер. Обычно в связке с PHP применяется веб-сервер Apache. Официальный сайт проекта — https://httpd.apache.org/. Там же можно найти всю подробную информацию о релизах, скачать исходный код. Однако официальный сайт не предоставляет готовых сборок для ОС Windows.
Перед установкой Apache следует отметить, что если наша ОС Windows, то в системе должны быть установлен пакет для C++, который можно найти по адресу для 64-битной и для 32-битной.
Итак, если нашей ОС является Windows, перейдем на сайт http://www.apachelounge.com/, который предоставляет дистрибутивы Apache для Windows:

В разделе Apache 2.4 binaries VS17 выберем последнюю версию дистрибутива сервера. На странице загрузок мы можем найти две версии пакета Apache — для 64-битных систем и для 32-битных.
После загрузки пакета Apache распакуем загруженный архив. В нем найдем папку непосредственно с файлами веб-сервера — каталог Apache24 . Переместим данный каталог на диск C, чтобы полный путь к каталогу составлял C:/Apache24 .
Запуск Apache
В распакованном архиве в папке bin найдем файл httpd.exe

Это исполняемый файл сервера. Запустим его. Нам должна открыться следующая консоль:

Пока работает это приложение, мы можем обращаться к серверу. Для его тестирования введем в веб-браузере адрес http://localhost . После этого веб-браузер должен отобразить следующую страницу:

Эта страница символизирует, что наш веб-сервер работает, и мы можем с ним работать.
Конфигурация веб-сервера
Теперь проведем конфигурацию сервера, чтобы связать его с ранее установленным интерпретатором PHP.. Для этого найдем в папке веб-сервера в каталоге conf (то есть C:\Apache24\conf ) файл httpd.conf

Откроем этот файл в текстовом редакторе. httpd.conf настраивает поведение веб-сервера. Мы не будем подобно затрагивать его описания, а только лишь произведем небольшие изменения, которые потребуются нам для работы с PHP.
Прежде всего подключим PHP. Для этого нам надо подключить модуль php, предназначенный для работы с apache. В частности, в папке php мы можем найти файл php8apache2_4.dll :

Для подключения php найдем в файле httpd.conf конец блока загрузки модулей LoadModule
//. #LoadModule vhost_alias_module modules/mod_vhost_alias.so #LoadModule watchdog_module modules/mod_watchdog.so #LoadModule xml2enc_module modules/mod_xml2enc.so
И в конце этого блока добавим строчки
LoadModule php_module "C:/php/php8apache2_4.dll" PHPIniDir "C:/php"
Далее укажем место, где у нас будут храниться сайты. Для этого создадим, например, на диске С каталог localhost . Затем найдем в файле httpd.conf строку
DocumentRoot "$/htdocs"
По умолчанию в качестве хранилища документов используется каталог «c:/Apache24/htdocs». Заменим эту строку на следующую:
DocumentRoot "c:/localhost"
Изменим пути файлам, в которые будут заноситься сведения об ошибках или посещении сайта. Для этого найдем строку
ErrorLog "logs/error.log"
И заменим ее на
ErrorLog "c:/localhost/error.log"
Далее найдем строку
CustomLog "logs/access.log" common
И заменим ее на
CustomLog "c:/localhost/access.log" common
Таким образом, файл error.log , в который записываются ошибки, и файл access.log , в который заносятся все данные о посещении веб-сайта, будут располагаться в папке c:/localhost.
Затем найдем строчку:
#ServerName www.example.com:80
И заменим ее на
ServerName localhost
# # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type. # TypesConfig conf/mime.types
И под строкой добавим две строчки:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
То есть должно получиться:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type. # TypesConfig conf/mime.types
В данном случае мы добавили поддержку для файлов с расширением .php и .phps .
DirectoryIndex index.html
И заменим его на следующий:
DirectoryIndex index.html index.php
В данном случае мы определяем файлы, которые будут выполняться при обращении к корню файла или каталога. То есть по сути определяем главные страницы веб-сайта: index.html и index.php.
Это минимально необходимая конфигурация, которая нужна для работы с PHP.
Теперь наша задача — убедиться, что php подключен и работает правильно. Для этого перейдем в папку c:/localhost , которую мы создали для хранения файлов веб-сервера, и добавим в нее обычный текстовый файл. Переименуем его в index.php и внесем в него следующее содержание:
В данном случае мы создали простейший скрипт, который выводит общую информацию о PHP.
Теперь заново запустим файл httpd.exe и обратимся к этому скрипту, набрав в строке браузера адрес http://localhost/index.php

Что тут произошло? При обращении к сайту на локальной машине в качестве адреса указывается http://localhost . Затем указывается имя ресурса, к которому идет обращение. В данном случае в качестве ресурса используется файл index.php . И так как в файле httpd.conf в качестве хранилища документов веб-сервера указан каталог C:\localhost , то именно в этом каталоге и будет веб-сервер будет производить поиск нужных файлов.
И поскольку выше при конфигурировании мы указали, что в качестве главной страницы может использоваться файл index.php , то мы можем также обратиться к этому ресурсу просто http://localhost/
Таким образом, теперь мы можем создавать свои сайты на php.
Установка веб-сервера в качестве службы
Если мы часто работаем с веб-сервером, в том числе для программиррования на PHP, то постоянно запускать таким образом сервер, может быть утомительно. И в качестве альтернативы мы можем установить Apache в качестве службы Windows. Для этого запустим командную строку Windows от имени администратора и установим Apache в качестве службы с помощью команды:
C:\Apache24\bin\httpd.exe -k install

То есть в данном случае прописываем полный путь к файлу httpd.exe (C:\Apache24\bin\httpd.exe) и далее указываем команду на установку службы -k install .
Если установка завершится удачно, то в командная строка отобразит сообщение «The Apache2.4 service is successfully installed». Также будет проведено тестирование сервера.
После установки службы убедимся, что она запущена
Как подключить PHP к Apache на Windows
Выбирайте самую последнюю версию, с той битностью, какая у вашего сервера. Т.е. если у вас Apache 64-битный, то PHP также должен быть 64-битным. Всегда выбирайте Thread Safe версию.
Для каждого файла имеется две ссылки:
Выбирайте Zip, поскольку отладочный пакет только для тех, кто действительно знает, зачем он им нужен. Здесь имеется ввиду не отладка PHP-скриптов, а отладка самого интерпретатора PHP.
Настройка PHP в Windows
Настройка выполняется в два этапа:
- подключение PHP к Apache
- изменение настроек самого PHP (какие расширения включены, сколько выделено памяти PHP скриптам и т.д.)
Подключение PHP к Apache
Для подключения PHP к Apache откройте конфигурационный файл веб-сервера, который расположен по следующему пути: Apache24\conf\httpd.conf (в папке сервера, в подпапке conf, файл httpd.conf).
В этот файл добавьте три строки, две из которых нужно откорректировать:
PHPIniDir "C:/путь/до/PHP" AddHandler application/x-httpd-php .php LoadModule php_module "C:/путь/до/PHP/php8apache2_4.dll"
В первой строке вместо C:/путь/до/PHP напишите точный путь до папки, куда вы распаковали файлы PHP. В третьей строке C:/путь/до/PHP/php8apache2_4.dll также откорректируйте путь, указав расположение PHP папки.
К примеру, я распаковал PHP в папку C:/Server/bin/PHP, тогда мои настройки следующие:
PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php_module "C:/Server/bin/php/php8apache2_4.dll"
Если папка PHP находится в корне диска C, тогда эти строки должны быть такими:
PHPIniDir "C:/PHP" AddHandler application/x-httpd-php .php LoadModule php_module "C:/PHP/php8apache2_4.dll"
Чтобы изменения вступили в силу, перезапустите веб-сервер или компьютер.
Настройка PHP
В папке PHP найдите файл php.ini-development и переименуйте его в php.ini – это нужно сделать обязательно, иначе PHP не будет видеть сделанные настройки.
Открываем файл php.ini любым текстовым редактором, ищем строчку
; extension_dir = "ext"
и заменяем её на
extension_dir = "C:\путь\до\PHP\ext\"
Обратите внимание, что вам нужно скорректировать строку C:\путь\до\PHP\ext\, указав конкретный путь до папки, где размещены файлы PHP.
У PHP (как и у Apache) имеется много расширений. Если вы не знаете, какое расширение для чего нужно, то как минимум два варианта:
- начать изучить предназначение каждого расширения и подключить только те, которые вам действительно нужны;
- подключить самые важные расширения, чтобы любые сайты и движки работали без ошибок.
Чтобы подключить большую часть расширений, найдите группу строк:
;extension=bz2 ;extension=curl ;extension=ffi ;extension=ftp ;extension=fileinfo ;extension=gd ;extension=gettext ;extension=gmp ;extension=intl ;extension=imap ;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=ffi extension=ftp extension=fileinfo extension=gd extension=gettext extension=gmp extension=intl extension=imap 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=sodium ;extension=sqlite3 ;extension=tidy ;extension=xsl
extension=soap extension=sockets extension=sodium extension=sqlite3 extension=tidy extension=xsl
Мы подключили самые востребованные расширения, чтобы работало как можно больше функций PHP.
Помощь
Затем откройте для редактирования файл /etc/sysconfig/httpd и отмените комментирование строки HTTPD=/usr/sbin/httpd.worker. Добавьте в этот файл следующие строки, если их нет:
StartServers 6 MinSpareServers 6 MaxSpareServers 15 ServerLimit 156 MaxClients 156 MaxRequestsPerChild 3000
Значения директив установите нужными для вас величинами.
Для обновления версии Apache до ITK отмените комментирование строки HTTPD=/usr/sbin/httpd.itk. Добавьте в этот файл следующие строки, если их нет:
StartServers 6 MinSpareServers 6 MaxSpareServers 15 ServerLimit 156 MaxClients 156 MaxRequestsPerChild 3000
Значения директив установите нужными для вас величинами.
MySQL
ОС Debian
Выполните установку сервера баз данных MySQL командой
root@i:~# apt install mysql-server mysql-client
Во время установки необходимо будет ввести пароль для пользователя root MySQL сервера. Используйте сложные пароли, которые содержат заглавные и строчные буквы, цифры и служебные символы.
ОС CentOS
Выполните установку сервера баз данных MySQL командой
root@i:~# yum install mariadb mariadb-server
Когда завершится установка, запустите MySQL и добавьте его в автозагрузку командой
root@i:~# systemctl start mysql && systemctl enable mysql
и смените пароль командой
root@i:~# /usr/bin/mysqladmin -u root password 'mynewpassword'
PHP
Следующие команды устанавливают основные расширения PHP и модуль для Apache.
ОС Debian
Проверьте какая версия php доступна для вашей операционной системы командой
apt show php
В нашем примере это php 7.4

Установите PHP, указав в команде вашу версию пакетов
root@i:~# apt install php7.4 php7.4-mysql
ОС CentOS
Для установки PHP выполните команду
root@i:~# yum install php php-mysql
Сайт
ОС Debian
Для каждого добавляемого домена создайте отдельный конфигурационный файл и назовите именем этого домена командой
touch /etc/apache2/sites-enabled/mydomain.com где mydomain - имя вашего домена.
Откройте его для редактирования любым редактором и добавьте секцию:
ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /var/www/sites/mydomain.com CustomLog /var/www/httpd-logs/mydomain.com.access.log combined ErrorLog /var/www/httpd-logs/mydomain.com.error.log AddType application/x-httpd-php .php где 1.0.0.1 - IP-адрес сервера, mydomain.com - ваш домен.
Выполните перезагрузку веб-сервера
systemctl reload apache2
Если для работы сайта необходима база данных (в примере MySQL), подключитесь к серверу командой
mysql -u root -p
и создайте базу данных командой
create database db;
Создайте пользователя для доступа к базе данных с неограниченными правами командой
grant all privileges on mydb.* to 'myuser'@'localhost' identified by 'mypassword'; где mydb - имя базы данных, myuser - имя пользователя, mypassword - пароль.
Создайте директории для сайта командами
mkdir /var/www/sites/ mkdir /var/www/sites/mydomain.com chown -R www-data:www-data /var/www/sites/ mkdir /var/www/httpd-logs touch /var/www/httpd-logs/mydomain.com.access.log touch /var/www/httpd-logs/mydomain.com.error.log chown -R www-data:www-data /var/www/httpd-logs
При необходимости установите нужную вам CMS, перейдя в директорию сайта командой
cd /var/www/sites/mydomain.com
Для CMS Joomla скачайте дистрибутив командой
Распакуйте архив командой
unzip Joomla_4.0.3-Stable-Full_Package.zip
При верной конфигурации DNS вы сможете зайти на ваш сайт по имени домена через браузер, в обратном случае — по IP-адресу.
ОС CentOS
Для каждого добавляемого домена создайте отдельный конфигурационный файл и назовите именем этого домена командой
touch /etc/httpd/sites-enabled/mydomain.com.conf где mydomain - имя вашего домена.
Откройте его для редактирования любым редактором и добавьте секцию:
ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /var/www/sites/mydomain.com CustomLog /var/www/httpd-logs/mydomain.com.access.log combined ErrorLog /var/www/httpd-logs/mydomain.com.error.log AddType application/x-httpd-php .php где 1.0.0.1 - IP-адрес сервера, mydomain.com - ваш домен.
Если для работы сайта необходима база данных (в примере MySQL), подключитесь к серверу командой
mysql -u root -p
и создайте базу данных командой
create database db;
Создайте пользователя для доступа к базе данных с неограниченными правами командой
grant all privileges on mydb.* to 'myuser'@'localhost' identified by 'mypassword'; где mydb - имя базы данных, myuser - имя пользователя, mypassword - пароль.
Создайте директории для сайта командами
mkdir /var/www/sites/ mkdir /var/www/sites/mydomain.com chown -R apache:apache /var/www/sites/ mkdir /var/www/httpd-logs touch /var/www/httpd-logs/mydomain.com.access.log touch /var/www/httpd-logs/mydomain.com.error.log chown -R apache:apache /var/www/httpd-logs
При необходимости установите нужную вам CMS, перейдя в директорию сайта командой
cd /var/www/sites/mydomain.com
Для CMS Joomla скачайте дистрибутив командой
Распакуйте архив командой
Joomla_4.0.3-Stable-Full_Package.zip
При верной конфигурации DNS вы сможете зайти на ваш сайт по имени домена через браузер, в обратном случае — по IP-адресу.
Установка Apache и PHP на Windows
Рассмотрим установку веб-сервера Apache Lounge на Windows Server 2016. Создание других веб-серверов Апач происходит по аналогии, так как программы под Windows поставляются в виде установочных файлов, либо просто в виде собственно исполняемых файлов. Перед созданием веб-сервера прежде всего скачиваем и устанавливаем исполняемые библиотеки Visual C для Вашей версии ОС по ссылке.
Потом скачаем сам дистрибутив с сайта apache по следующей ссылке. Распакуйте zip-архив. В нем есть папка Apache24 которая содержит весь веб-сервер Apache — исполняемые файлы, библиотеки, документацию и другое.

Эту папку надо распаковать туда, где вы хотите расположить Ваш веб-сервер, например на один из локальных дисков. Это можно сделать просто копированием — вставкой, так как в Windows интегрирована полная поддержка Zip-архивов. После этого откроем командную строку Windows нажав комбинацию клавиш Win+R и введя туда cmd.

В открывшемся окне пишем c:\Apache24\bin\httpd -k install — то есть полное имя до исполняемого файла Apache вместе с путем (так называемое Абсолютное имя файла). Это установит Apache как системный сервис — службу — Windows.
Также как Apache для Linux, основной файл конфигурации называется httpd.conf. Располагается он в подпапке conf веб-сервера, т.е в нашем случае c:\Apache24\conf\httpd.conf.
Для первоначальной настройки веб-сервера Apache необходимо раскомментировать строку ServerName — имя или ip сервера, а также порт apache для виртуальных хостов — в случае если сайт один достаточно просто раскомментировать. А также проверить параметр Listen — порт на котором работает Apache. Если ip не указан то Apache работать на всех ip-адресах данного хоста.
ServerName 78.140.223.57:80 Listen 78.140.223.57:80
Затем запускаем командой c:\Apache24\bin\httpd -k start.
Проверить, что апач сервер сервер запустился, можно набрав в браузере http://78.140.223.57. Если хотите чтобы сайт был доступен из внешней сети необходимо настроить правило Firewall.
Для этого нажимите Win+R и введите в командную строку firewall.cpl

Выберите в левом столбце “Дополнительные параметры”.

В открывшемся окне повышенной безопасности перейдите в раздел “Правила для входящих подключений”, после чего нажмите “Создать правило”.

Создадим правило для порта 80.




На последнем шаге задайте имя правила. После этого можно соединяться по этому порту.

Теперь настроим PHP. PHP это распространенный язык программирования для веб. Скачать его можно с официального сайта. Оно также поставляется в виде zip-архива.Распакуем скачанный архив в отдельную папку. Например в c:\apache24\php.

Теперь еще раз поправим файл c:\Apache24\conf\httpd.conf. Внесем туда следующие параметры в секцию LoadModule.
#Подключение модуля обработки php для Apache LoadModule php7_module "c:/Apache24/php/php7apache2_4.dll" AddHandler application/x-httpd-php .php # Путь к файлу php.ini PHPIniDir "c:/Apache24/php"
Также поправим параметр DirectoryIndex — индексный файл сайта на Index.php, так как Мы будем использовать PHP.
Создадим индексный файл php файл c:\Apache24\htdocs\index.php выводящий версию php.
После этого еще раз перезапускаем Apache командой.
c:\Apache24\bin\httpd -k restart
И проверим что php работает.

На этом установка и настройка сервера Apache Lounge на Windows Server 2016 окончена. В нашей базе знаний вы найдёте ещё множество статей не только по Apache сервер. Если вы ищете надежный виртуальный сервер под управлением Windows, обратите внимания на нашу услугу — Аренда виртуального сервера Windows.
Последнее обновление: 29.11.2023
Средняя оценка: 5,0 , всего оценок: 4 Спасибо за Вашу оценку! К сожалению, проголосовать не получилось. Попробуйте позже