Итак, как было сказано ранее, для того, чтобы завершить подготовку необходимого для 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

Установка GnuPG 2Далее нам нужно скачать файл ключа https://packages.sury.org/php/apt.gpg:Скачиваем файл ключа GnuPG 2

после чего переходим с помощью {Ctrl, O} в наш менеджер файлов, переименовываем файл на deb.sury.org-php.gpg, так чтобы было понятно, к какому пакету он относится и перекидываем в каталог /etc/apt/trusted.gpg.d, предназначенный специально для доверенных gpg-ключей:Размещение файла ключа к цифровой подписи GnuPG 2

Далее нам потребуется в локальный репозиторий нашей системы 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:Интеграция репозитория deb.sury.org в Debian Linux 11

В принципе, если вы уверены, что у вас именно 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, убеждаемся что всё нормально, после чего запускаем установку расширения:Установка расширения php на сервер

Далее установим ещё одно расширение mbstring, от которого зависит ряд других, с использованием ключа “-y”, позволяющего избавиться от назойливого вопроса: “Хотите продолжить? [д/н]”:

Установка расширения php-mbstring

Как видите, всё прошло гладко. Теперь научимся устанавливать целый ряд крайне важных расширений одной командой:

apt install php8.1-xml php8.1-intl php8.1-imagick Установка нескольких расширений php одной командой

Здесь мы, что естественно, привели на снимке с экрана не всю выдаваемую информацию, однако главное в том, что расширения установились без единой ошибки, о чём свидетельствует отсутствие красных строк.

И последнее, что нам нужно обязательно сделать, так это установить расширение pdo_mysql. Убедимся на всякий случай, что его ещё нет среди установленных модулей. Сделать это можно несколькими способами. Например, с помощью команды Unix Shell: php -v или с помощью команды, выдающей более подробную информацию о конфигурации php -i. Для того, чтобы не искать в выдаче mysql глазами, лучше воспользоваться конвейерным фильтром php -i | grep mysql:

Проверяем список установленных расширений php

Если вам сложно или не удобно работать в Unix Shell, то можно создать в корне сайта специальный файл с именем phpinfo.php (он всегда пригодится) со следующим содержимым:

Пишем самую первую программу на php, выводящую всю информацию о параметрах php в вашей системе.

После этого вы в любой момент сможете получить полную информацию о параметрах PHP в вашей системе, просто запустив с браузера на выполнение этот простейший php-код по ссылке http://site-1.sysadmin.bz/phpinfo.php. При этом, что немаловажно, вы получите всю информацию, что и по команде php -i, но в значительно более привлекательном графическом виде, который легче визуально разбирать.

Здесь нужно отметить, что  если какое-то расширение PHP действительно установлено, то оно появится в отдельной секции выдаваемой большой таблицы, например информация об интересующем нас расширении pdo_mysql будет содержаться в таком виде:

Информация, выдаваемая о расширении pdo_mysql с помощью phpinfo();

Кроме этого, информацию о том, задействовано ли то или иное расширение PHP в вашей конфигурации, можно получить с помощью анализа файла /etc/php/8.1/apache2/php.ini. Если в секции “Dynamic Extensions” перед записью “extension=pdo_mysql” стоит признак комментария “;”, то это значит, что оно не задействовано. Этот файл вам в дальнейшем придётся неоднократно править увеличивая значения тех или иных параметров, поэтому запомните. где он находится!

Итак, мы убедились, что нужно установить расширение pdo_mysql. Поскольку расширение затрагивает довольно много компонентов системы, то сначала запускаем обязательно apt update и apt upgrade, а потом уже непосредственно команду, осуществляющую все необходимые нам действия в комплексе apt install php8.1-mysql:

Устанавливаем расширения MySQL для PHP

После этого не забываем перезагрузить Apache командой service apache2 reload, и убеждаемся, что в выдаче командв php -i | grep mysql появилось всё, что нам было нужно:

Проверка установки расширений MySQL для PHP

На этом статью об установке и настройке PHP, как о компоненте LAMP, можно закончить.

[:ru]

Итак, как было сказано ранее, для того, чтобы завершить подготовку необходимого для 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

Установка GnuPG 2Далее нам нужно скачать файл ключа https://packages.sury.org/php/apt.gpg:Скачиваем файл ключа GnuPG 2

после чего переходим с помощью {Ctrl, O} в наш менеджер файлов, переименовываем файл на deb.sury.org-php.gpg, так чтобы было понятно, к какому пакету он относится и перекидываем в каталог /etc/apt/trusted.gpg.d, предназначенный специально для доверенных gpg-ключей:Размещение файла ключа к цифровой подписи GnuPG 2

Далее нам потребуется в локальный репозиторий нашей системы 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:Интеграция репозитория deb.sury.org в Debian Linux 11

В принципе, если вы уверены, что у вас именно 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, убеждаемся что всё нормально, после чего запускаем установку расширения:Установка расширения php на сервер

Далее установим ещё одно расширение mbstring, от которого зависит ряд других, с использованием ключа “-y”, позволяющего избавиться от назойливого вопроса: “Хотите продолжить? [д/н]”:

Установка расширения php-mbstring

Как видите, всё прошло гладко. Теперь научимся устанавливать целый ряд крайне важных расширений одной командой:

apt install php8.1-xml php8.1-intl php8.1-imagick Установка нескольких расширений php одной командой

Здесь мы, что естественно, привели на снимке с экрана не всю выдаваемую информацию, однако главное в том, что расширения установились без единой ошибки, о чём свидетельствует отсутствие красных строк.

И последнее, что нам нужно обязательно сделать, так это установить расширение pdo_mysql. Убедимся на всякий случай, что его ещё нет среди установленных модулей. Сделать это можно несколькими способами. Например, с помощью команды Unix Shell: php -v или с помощью команды, выдающей более подробную информацию о конфигурации php -i. Для того, чтобы не искать в выдаче mysql глазами, лучше воспользоваться конвейерным фильтром php -i | grep mysql:

Проверяем список установленных расширений php

Если вам сложно или не удобно работать в Unix Shell, то можно создать в корне сайта специальный файл с именем phpinfo.php (он всегда пригодится) со следующим содержимым:

Пишем самую первую программу на php, выводящую всю информацию о параметрах php в вашей системе.

После этого вы в любой момент сможете получить полную информацию о параметрах PHP в вашей системе, просто запустив с браузера на выполнение этот простейший php-код по ссылке http://site-1.sysadmin.bz/phpinfo.php. При этом, что немаловажно, вы получите всю информацию, что и по команде php -i, но в значительно более привлекательном графическом виде, который легче визуально разбирать.

Здесь нужно отметить, что  если какое-то расширение PHP действительно установлено, то оно появится в отдельной секции выдаваемой большой таблицы, например информация об интересующем нас расширении pdo_mysql будет содержаться в таком виде:

Информация, выдаваемая о расширении pdo_mysql с помощью phpinfo();

Кроме этого, информацию о том, задействовано ли то или иное расширение PHP в вашей конфигурации, можно получить с помощью анализа файла /etc/php/8.1/apache2/php.ini. Если в секции “Dynamic Extensions” перед записью “extension=pdo_mysql” стоит признак комментария “;”, то это значит, что оно не задействовано. Этот файл вам в дальнейшем придётся неоднократно править увеличивая значения тех или иных параметров, поэтому запомните. где он находится!

Итак, мы убедились, что нужно установить расширение pdo_mysql. Поскольку расширение затрагивает довольно много компонентов системы, то сначала запускаем обязательно apt update и apt upgrade, а потом уже непосредственно команду, осуществляющую все необходимые нам действия в комплексе apt install php8.1-mysql:

Устанавливаем расширения MySQL для PHP

После этого не забываем перезагрузить Apache командой service apache2 reload, и убеждаемся, что в выдаче командв php -i | grep mysql появилось всё, что нам было нужно:

Проверка установки расширений MySQL для PHP

На этом статью об установке и настройке PHP, как о компоненте LAMP, можно закончить.