+7 (495) 107-75-45 Подключение
+7 (495) 107-75-47 Тех. поддержка 24/7
Пример
04.10.2024

Установка PHP 8.3 под Apache на Debian

Оглавление:

  1. Установка Web сервера на Debian
  2. Apache HTTP Server: История, Отличия, Производительность и Настройки
  3. История создания Nginx
  4. Angie: История создания и основные особенности
  5. Установка и настройка Apache на Debian 12
  6. Установка PHP 8.3 под Apache на Debian
  7. Установка Nginx на Debian 12
  8. Установка и настройка PHP 8.3 под Nginx в Debian

PHP — это язык программирования, который активно используется для создания серверных веб-приложений. Веб-сервер Apache является одним из самых популярных решений для хостинга веб-сайтов, а связка PHP и Apache позволяет эффективно обслуживать динамические веб-страницы. В этой статье мы рассмотрим, как установить PHP 8.3 на сервер с Debian и настроить его для работы с Apache.

Шаг 1. Обновление системы

Перед установкой любого нового программного обеспечения рекомендуется обновить пакетную базу данных системы, чтобы убедиться, что у вас самые свежие версии всех пакетов:

sudo apt update && sudo apt upgrade -y

Добавление репозитория для PHP 8.3

PHP 8.3 может не быть доступен в официальных репозиториях Debian, особенно если вы используете стабильную версию дистрибутива. Для получения последней версии PHP необходимо добавить внешний репозиторий от разработчиков PHP, например, от Ondřej Surý. 

2 июля 2024 года мейнтейнер репозитория deb.sury.org включил геоблокировку для всех IP адресов из Российской Федерации.

Установка php83

Поэтому делаем следующее:

Добавление зеркала репозитория deb.sury.org

Вы можете воспользоваться любым из двух репозиториев:

debian.octopuce.fr

Запустите следующую команду:

echo " deb http://debian.octopuce.fr/sury-php/ bookworm main" |sudo tee /etc/apt/sources.list.d/surry-mirror.list

Второй вариант:

ftp.mpi-inf.mpg.de

Выполните данную команду:

echo " deb https://ftp.mpi-inf.mpg.de/mirrors/linux/mirror/deb.sury.org/repositories/php/ bookworm main" |sudo tee /etc/apt/sources.list.d/surry-mirror.list

Скачаем ключ:

wget http://debian.octopuce.fr/sury-php/apt.gpg

Переместим ключ в домашнюю папку:

sudo mv ~/apt.gpg /etc/apt/trusted.gpg.d/php.gpg

Проверим наши зеркала:

sudo apt update

Настройка php83

Установка PHP 8.3

Теперь можно установить PHP 8.3 и необходимые модули. Введите следующую команду:

sudo apt install php8.3 libapache2-mod-php8.3 php8.3-cli php8.3-common php8.3-mysql php8.3-xml php8.3-curl php8.3-zip -y

Этот набор включает основные модули, которые часто используются в веб-разработке. Вы можете добавить другие модули в зависимости от нужд вашего проекта.

Настройка Apache для работы с PHP

После установки PHP необходимо настроить Apache для работы с PHP. По умолчанию Apache должен автоматически подключать модуль PHP. Для проверки выполните следующую команду:

sudo a2enmod php8.3

затем перезапустите Apache, чтобы изменения вступили в силу:

sudo systemctl restart apache2

Проверка установки PHP

Чтобы убедиться, что PHP установлен и корректно работает с Apache, создайте тестовый файл в каталоге веб-документов Apache. Обычно это /var/www/html/. Создайте файл info.php:

sudo nano /var/www/html/info.php

Добавьте следующий код в файл:

<?php
phpinfo();
?>

Сохраните файл и закройте редактор.

Теперь откройте браузер и перейдите по адресу:

http://<ваш_сервер>/info.php

Вы должны увидеть страницу с информацией о конфигурации PHP. Если это так, то PHP 8.3 успешно установлен и работает с Apache.

Настройка PHP (опционально)

Файл конфигурации PHP можно найти по следующему пути:

/etc/php/8.3/apache2/php.ini

В зависимости от нужд вашего проекта, вы можете изменить параметры, такие как:

  • memory_limit — максимальный объем памяти, который скрипт может использовать.
  • upload_max_filesize — максимальный размер загружаемого файла.
  • post_max_size — максимальный размер данных, которые могут быть переданы методом POST.

После изменения параметров перезапустите Apache:

sudo systemctl restart apache2

Удаление тестового файла (рекомендуется)

После того, как вы убедились, что PHP работает корректно, удалите файл info.php, чтобы не раскрывать конфиденциальную информацию о конфигурации вашего сервера:

sudo rm /var/www/html/info.php

Режимы работы php

Режимы работы php

PHP может работать с веб-сервером Apache (или другим веб-сервером) в различных режимах, которые обеспечивают разные способы обработки PHP-кода. Наиболее распространенные режимы работы — это mod_php, FastCGI, и PHP-FPM. Каждый из них имеет свои особенности, преимущества и недостатки. Давайте рассмотрим их и как настроить каждый из них.

1. mod_php

mod_php — это модуль Apache, который позволяет запускать PHP как встроенную часть самого веб-сервера. Этот режим удобен тем, что PHP обрабатывается напрямую сервером Apache, без использования промежуточных слоев. Однако у него есть и некоторые недостатки, такие как низкая производительность при высокой нагрузке и ограниченная масштабируемость.

Преимущества:

  • Простота настройки.
  • Хорошая интеграция с Apache.
  • Подходит для небольших проектов и серверов с невысокой нагрузкой.

Недостатки:

  • Потребляет много ресурсов, так как каждый процесс Apache загружает PHP.
  • Не поддерживает эффективную работу в многопоточном окружении Apache (плохо масштабируется).

Установка и настройка mod_php:

Установите PHP вместе с модулем Apache:

sudo apt install php8.3 libapache2-mod-php8.3

Активируйте модуль PHP:

sudo a2enmod php8.3

Перезапустите Apache для применения изменений:

sudo systemctl restart apache2

Теперь Apache будет обрабатывать PHP-скрипты с использованием mod_php.

2. FastCGI

FastCGI — это усовершенствованная версия CGI (Common Gateway Interface), который позволяет запускать PHP в отдельном процессе от веб-сервера. В отличие от mod_php, FastCGI создает постоянные процессы PHP, которые обслуживают запросы, что улучшает производительность.

Преимущества:

  • Повышенная производительность по сравнению с mod_php, так как процесс PHP не перезапускается для каждого запроса.
  • Лучшая поддержка многопоточности.
  • Может работать с любыми веб-серверами (не только с Apache).

Недостатки:

  • Более сложная настройка.
  • Требует настройки дополнительных сервисов и слоев.

Установка и настройка FastCGI:

Установите модуль FastCGI для Apache и сам PHP:

sudo apt install libapache2-mod-fcgid php8.3-cgi

Активируйте модуль FastCGI:

sudo a2enmod fcgid

Перезапустите Apache:

sudo systemctl restart apache2

Теперь FastCGI должен быть настроен. PHP будет запускаться в отдельных процессах, а не внутри Apache, что дает повышение производительности.

3. PHP-FPM

PHP-FPM (FastCGI Process Manager) — это наиболее производительный способ работы PHP с веб-сервером, который реализует пул процессов, управляющий выполнением PHP-скриптов. Веб-сервер взаимодействует с процессами PHP через протокол FastCGI, что позволяет отделить работу веб-сервера от выполнения PHP-кода.

Преимущества:

  • Высокая производительность и масштабируемость.
  • Поддержка различных пулов процессов для различных сайтов.
  • Гибкая конфигурация управления процессами.

Недостатки:

  • Более сложная настройка по сравнению с mod_php.
  • Требует дополнительного слоя взаимодействия между веб-сервером и PHP.

Установка и настройка PHP-FPM:

Установите PHP и PHP-FPM:

sudo apt install php8.3-fpm

Включите поддержку PHP-FPM в Apache, установив модуль proxy_fcgi:

sudo a2enmod proxy_fcgi

Отключите mod_php (если он был ранее активирован):

sudo a2dismod php8.3

Настройте виртуальный хост Apache для использования PHP-FPM. Откройте или создайте файл конфигурации для вашего сайта:

sudo nano /etc/apache2/sites-available/000-default.conf

Добавьте следующую конфигурацию в блок <VirtualHost>:

<FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/"
</FilesMatch>

Перезапустите PHP-FPM и Apache для применения изменений:

sudo systemctl restart php8.3-fpm
sudo systemctl restart apache2

Теперь Apache будет использовать PHP-FPM для обработки PHP-скриптов, что обеспечит наилучшую производительность и гибкость в настройке.

  • mod_php прост в настройке и интеграции, но менее производителен и плохо масштабируется.
  • FastCGI — это шаг вперед в производительности, но требует дополнительных настроек.
  • PHP-FPM предлагает лучшее решение с точки зрения производительности, гибкости и масштабируемости, особенно для высоконагруженных серверов и многосайтовых конфигураций.

Выбор между этими режимами зависит от требований вашего проекта и доступных ресурсов сервера.

Заключение

Теперь на вашем сервере Debian установлена и настроена последняя версия PHP 8.3 для работы с Apache. Вы можете использовать эту конфигурацию для развертывания различных веб-приложений, работающих на PHP.

Оглавление:

  1. Установка Web сервера на Debian
  2. Apache HTTP Server: История, Отличия, Производительность и Настройки
  3. История создания Nginx
  4. Angie: История создания и основные особенности
  5. Установка и настройка Apache на Debian 12
  6. Установка PHP 8.3 под Apache на Debian
  7. Установка Nginx на Debian 12
  8. Установка и настройка PHP 8.3 под Nginx в Debian