Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Как установить несколько версий PHP (5.6–8.4) для ISPConfig на Ubuntu

Как установить несколько версий PHP (5.6–8.4) для ISPConfig на Ubuntu

Практическое руководство BAGROV.BY: Установка нескольких версий PHP (от 5.6 до 8.4) в режимах PHP-FPM и FastCGI для ISPConfig 3.2 на Ubuntu 22.04–24.04

По умолчанию в операционной системе Ubuntu после установки веб-сервера и панели управления ISPConfig доступна только одна, базовая версия интерпретатора PHP, поставляемая штатно в составе текущего дистрибутива. Однако в реальной практике администрирования серверов и поддержки клиентских сайтов часто возникает необходимость одновременной работы проектов с самыми разными требованиями: от старых веб-приложений, требующих PHP 5.6 или ветку PHP 7.x, до современных решений на PHP 8.1, 8.2, 8.3 или 8.4. Это руководство подробно описывает процесс развертывания полного спектра версий PHP (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3 и 8.4) в среде Ubuntu Server через менеджер пакетов apt с последующей интеграцией в панель ISPConfig 3.2.

Аналогичные инструкции существуют и для дистрибутивов семейства Debian, однако текущее руководство полностью адаптировано под операционные системы Ubuntu 22.04 LTS и Ubuntu 24.04 LTS. Кроме того, приведенный алгоритм полностью сохраняет свою актуальность и рабочий порядок для Ubuntu 20.04 LTS. После завершения всех этапов настройки администратор сможет индивидуально выбирать нужную версию PHP для каждого конкретного сайта в интерфейсе ISPConfig, используя режимы PHP-FPM или FastCGI. Настоящая инструкция подходит для серверов под управлением веб-серверов Apache и Nginx.

1. Предварительные замечания и важные нюансы работы

Для инсталляции дополнительных интерпретаторов PHP в систему добавляется сторонний репозиторий SURY PPA (Ondřej Surý). Важно принимать во внимание ключевую особенность этого источника: при обновлении списков и пакетов из репозитория sury.org обновляются не только компоненты PHP, но и ряд системных библиотек, включая OpenSSL. В связи с этим удалять репозиторий SURY из системы после завершения установки категорически не рекомендуется, чтобы не нарушить целостность зависимостей операционной системы.

Также необходимо учитывать разницу в поддержке режимов работы веб-серверов. Режим PHP-FPM является универсальным и может использоваться как с веб-сервером Apache, так и с Nginx. В свою очередь, режим FastCGI доступен исключительно на серверах, работающих под управлением Apache.

2. Подключение стороннего репозитория SURY

Первым шагом необходимо добавить PPA-репозиторий Ondřej Surý в менеджер пакетов операционной системы. Для этого выполните в консоли сервера с правами суперпользователя следующие команды:

add-apt-repository -y ppa:ondrej/php

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

apt-get update

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

apt-get upgrade

3. Пошаговая установка дополнительных версий PHP

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

3.1. Установка PHP 5.6

Для инсталляции ветки PHP 5.6 со всеми необходимыми расширениями и модулями выполните команду:

apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

3.2. Установка PHP 7.0

Для инсталляции PHP 7.0 воспользуйтесь следующей командой:

apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml

3.3. Установка PHP 7.1

Установка версии PHP 7.1 выполняется базовой командой:

apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml

3.4. Установка PHP 7.2

Инсталляция пакетов PHP 7.2 производится следующим образом:

apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml

3.5. Установка PHP 7.3

Для развертывания PHP 7.3 используйте команду:

apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml

3.6. Установка PHP 7.4

Чтобы инсталлировать PHP 7.4, введите команду:

apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache php7.4-common php7.4-json php7.4-readline php7.4-xml

3.7. Установка PHP 8.0

Команда для установки пакетов PHP 8.0:

apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache php8.0-common php8.0-readline php8.0-xml

3.8. Установка PHP 8.1

Для развертывания версии PHP 8.1 выполните:

apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache php8.1-common php8.1-readline php8.1-xml

3.9. Установка PHP 8.2

Чтобы инсталлировать ветку PHP 8.2, запустите:

apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xsl php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache php8.2-common php8.2-readline php8.2-xml

3.10. Установка PHP 8.3

Для инсталляции PHP 8.3 используется следующая команда:

apt-get install php8.3 php8.3-cli php8.3-cgi php8.3-fpm php8.3-gd php8.3-mysql php8.3-imap php8.3-curl php8.3-intl php8.3-pspell php8.3-sqlite3 php8.3-tidy php8.3-xsl php8.3-zip php8.3-mbstring php8.3-soap php8.3-opcache php8.3-common php8.3-readline php8.3-xml

3.11. Установка PHP 8.4

Для инсталляции новейшей версии PHP 8.4 выполните команду:

apt-get install php8.4 php8.4-cli php8.4-cgi php8.4-fpm php8.4-gd php8.4-mysql php8.4-imap php8.4-curl php8.4-intl php8.4-pspell php8.4-sqlite3 php8.4-tidy php8.4-xsl php8.4-zip php8.4-mbstring php8.4-soap php8.4-opcache php8.4-common php8.4-readline php8.4-xml

4. Восстановление системной версии PHP по умолчанию

В процессе инсталляции дополнительных пакетов операционная система может автоматически переключить системную версию PHP по умолчанию на последнюю установленную. Это не допустимо: системный интерпретатор PHP должен строго соответствовать той версии, которая изначально поставлялась с вашей ОС, иначе нормальная работа системных скриптов и панели ISPConfig нарушится.

Для восстановления правильных системных альтернатив последовательно выполните следующие консольные команды:

update-alternatives –config php

update-alternatives –config php-cgi

update-alternatives –config php-fpm.sock

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

  • Для Ubuntu 20.04 LTS выберите версию 7.4.
  • Для Ubuntu 22.04 LTS выберите версию 8.1.
  • Для Ubuntu 24.04 LTS выберите версию 8.3.

5. Регистрация новых версий PHP в панели управления ISPConfig

После физической установки пакетов в ОС их необходимо зарегистрировать в панели управления. Перейдите в интерфейс ISPConfig 3 в раздел Система (System) > Дополнительные версии PHP (Additional PHP Versions) > Добавить новую версию PHP (Add new PHP version).

Прежде всего создайте запись для базовой версии PHP, соответствующей вашей системе (для Ubuntu 20.04 это PHP 7.4, для Ubuntu 22.04 — PHP 8.1, для Ubuntu 24.04 — PHP 8.3). Затем внесите конфигурации для всех остальных установленных версий по приведенным ниже образцам.

Параметры для PHP 5.6

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi5.6
Путь к каталогу php.ini: /etc/php/5.6/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php5.6-fpm
Путь к каталогу php.ini: /etc/php/5.6/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/5.6/fpm/pool.d/

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php5.6
Раздел PHP Jailkit: php5_6
Имя CLI-версии для задач планировщика cron: php5.6

Параметры для PHP 7.0

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi7.0
Путь к каталогу php.ini: /etc/php/7.0/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php7.0-fpm
Путь к каталогу php.ini: /etc/php/7.0/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/7.0/fpm/pool.d/

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php7.0
Раздел PHP Jailkit: php7_0
Имя CLI-версии для задач планировщика cron: php7.0

Параметры для PHP 7.1

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi7.1
Путь к каталогу php.ini: /etc/php/7.1/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php7.1-fpm
Путь к каталогу php.ini: /etc/php/7.1/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/7.1/fpm/pool.d/

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php7.1
Раздел PHP Jailkit: php7_1
Имя CLI-версии для задач планировщика cron: php7.1

Параметры для PHP 7.2

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi7.2
Путь к каталогу php.ini: /etc/php/7.2/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php7.2-fpm
Путь к каталогу php.ini: /etc/php/7.2/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/7.2/fpm/pool.d/

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php7.2
Раздел PHP Jailkit: php7_2
Имя CLI-версии для задач планировщика cron: php7.2

Параметры для PHP 7.3

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi7.3
Путь к каталогу php.ini: /etc/php/7.3/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php7.3-fpm
Путь к каталогу php.ini: /etc/php/7.3/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/7.3/fpm/pool.d/

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php7.3
Раздел PHP Jailkit: php7_3
Имя CLI-версии для задач планировщика cron: php7.3

Параметры для PHP 7.4

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi7.4
Путь к каталогу php.ini: /etc/php/7.4/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php7.4-fpm
Путь к каталогу php.ini: /etc/php/7.4/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/7.4/fpm/pool.d/

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php7.4
Раздел PHP Jailkit: php7_4
Имя CLI-версии для задач планировщика cron: php7.4

Параметры для PHP 8.0

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi8.0
Путь к каталогу php.ini: /etc/php/8.0/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php8.0-fpm
Путь к каталогу php.ini: /etc/php/8.0/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/8.0/fpm/pool.d/

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php8.0
Раздел PHP Jailkit: php8_0
Имя CLI-версии для задач планировщика cron: php8.0

Параметры для PHP 8.1

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi8.1
Путь к каталогу php.ini: /etc/php/8.1/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php8.1-fpm
Путь к каталогу php.ini: /etc/php/8.1/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/8.1/fpm/pool.d/

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php8.1
Раздел PHP Jailkit: php8_1
Имя CLI-версии для задач планировщика cron: php8.1

Параметры для PHP 8.2

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi8.2
Путь к каталогу php.ini: /etc/php/8.2/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php8.2-fpm
Путь к каталогу php.ini: /etc/php/8.2/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/8.2/fpm/pool.d

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php8.2
Раздел PHP Jailkit: php8_2
Имя CLI-версии для задач планировщика cron: php8.2

Параметры для PHP 8.3

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi8.3
Путь к каталогу php.ini: /etc/php/8.3/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php8.3-fpm
Путь к каталогу php.ini: /etc/php/8.3/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/8.3/fpm/pool.d

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php8.3
Раздел PHP Jailkit: php8_3
Имя CLI-версии для задач планировщика cron: php8.3

Параметры для PHP 8.4

Настройки Fast-CGI:
Путь к бинарному файлу PHP FastCGI: /usr/bin/php-cgi8.4
Путь к каталогу php.ini: /etc/php/8.4/cgi/

Настройки PHP-FPM:
Путь к скрипту инициализации PHP-FPM: php8.4-fpm
Путь к каталогу php.ini: /etc/php/8.4/fpm/
Путь к каталогу пулов PHP-FPM: /etc/php/8.4/fpm/pool.d

Настройки PHP-CLI:
Путь к бинарному файлу PHP CLI: /usr/bin/php8.4
Раздел PHP Jailkit: php8_4
Имя CLI-версии для задач планировщика cron: php8.4

6. Заключение и важные рекомендации

После выполнения всех шагов вы можете назначать любую из подгруженных версий PHP индивидуально для каждого домена или поддомена в параметрах сайта в панели ISPConfig. Помните: менять базовую системную версию PHP на глобальном уровне операционной системы крайне не рекомендуется. От дефолтного интерпретатора зависит работа критически важных системных служб и самой панели ISPConfig, поэтому глобальная смена версии гарантированно приведет к сбоям в работе сервера. При возникновении технических вопросов или нестандартных ситуаций вы всегда можете обратиться за помощью, создав тему на профильном форуме сообщества.

Источник: howtoforge.com

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

01.
На платформе MonsterInsights