Итак, как было сказано ранее, для того, чтобы завершить подготовку необходимого для WordPress операционного окружения, нам осталось установить серверный язык PHP. Давайте приступим к этой задаче.
Вообще говоря, PHP можно установить одной командой: apt install php
, но тогда поиск пакетов будет осуществляться в основном репозитории Debian GNU/Linux 11, а там самой последней версией будет 7.4.
Пакеты же реально последней существующей на данный момент версии PHP размещаются в отдельном репозитории, который ведёт Ondřej Surý, по адресу: https://packages.sury.org/php/dists/bullseye/main/debian-installer/binary-amd64/ и они подписаны цифровой подписью GnuPG (GNU Privacy Guard) версии 2, поддержку которой мы в нашей системе ещё не ставили, поэтому, первым делом запускаем команду установки соответствующего модуля (пакета):
apt install gnupg2
Далее нам нужно скачать файл ключа https://packages.sury.org/php/apt.gpg:после чего переходим с помощью {Ctrl, O} в наш менеджер файлов, переименовываем файл на deb.sury.org-php.gpg, так чтобы было понятно, к какому пакету он относится и перекидываем в каталог /etc/apt/trusted.gpg.d, предназначенный специально для доверенных gpg-ключей:
Далее нам потребуется в локальный репозиторий нашей системы Debian GNU/Linux 11 вписать ссылку на репозиторий Surý, то есть как бы интегрировать его, но для того, чтобы сделать это автоматически и безошибочно, нужно будет запустить скрипт, определяющий код реальной версии Debian GNU/Linux, работающей у вас на машине с помощью модуля «lsb-release», поэтому сначала нужно будет установить его и некоторые другие разрешающие зависимости пакеты командой:
apt install -y lsb-release ca-certificates apt-transport-https software-properties-common
Теперь можно запустить и сам shell-скрипт:
sh -c 'echo "deb [signed-by=/etc/apt/trusted.gpg.d/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
выглядящий несколько замысловато, но проделывающий очень простую работу по добавлению нового файла php.list с одной строкой в каталог /etc/apt/sources.list.d:
В принципе, если вы уверены, что у вас именно bullseye, то проще создать такой файл вручную с помощью того же Midnigh Commander.
Как бы всё, подготовка к установке закончена, запускаем теперь обязательно команду: apt update
, а затем apt upgrade
(если предыдущая команда указала на возможность что-то реально обновить), после чего apt install php8.1
, и если вы всё до этого делали правильно, то пакет установится без ошибок и предупреждений.
Установка поддержки самого PHP очень важна, но недостаточна. Для подавляющего большинства приложений нужны будут модули расширений. Мы продемонстрируем здесь установку некоторых наиболее важных из них, так чтобы было понятно, как, в случае необходимости, устанавливать другие.
Вопрос расширений php, которые могут потребоваться для WordPress, обсуждается на следующей странице официальной документации CMS https://make.wordpress.org/hosting/handbook/server-environment/, где рекомендуется установить как минимум 23 расширения. Мы считаем, что некоторые из них вам могут никогда не понадобиться, однако помните, что если WordPress ведёт себя неадекватно, то первое, что должно мелькнуть в ваших мыслях, а не нуждается ли он в каком-либо расширении php, которое ещё не установлено.
Давайте, для примера, сначала установим одно расширение, позволяющее работать с zip-архивами. Делается это простой командой: apt install php8.1-zip
. На следующем снимке с экрана мы проверяем на всякий случай, всё ли хорошо у нас было с установкой сервера PHP 8.1 командой: php -v
, убеждаемся что всё нормально, после чего запускаем установку расширения:
Далее установим ещё одно расширение mbstring, от которого зависит ряд других, с использованием ключа «-y», позволяющего избавиться от назойливого вопроса: «Хотите продолжить? [д/н]»:
Как видите, всё прошло гладко. Теперь научимся устанавливать целый ряд крайне важных расширений одной командой: apt install php8.1-xml php8.1-intl php8.1-imagick
Здесь мы, что естественно, привели на снимке с экрана не всю выдаваемую информацию, однако главное в том, что расширения установились без единой ошибки, о чём свидетельствует отсутствие красных строк.
На этом статью об установке и настройке PHP, как о компоненте LAMP, можно закончить.