Установка PHP 8.3 на Debian 12 Bookworm после блокировки репозитория deb.sury.org
2 июля 2024 года мейнтейнер репозитория deb.sury.org включил геоблокировку для всех IP адресов из Российской Федерации. Источник на Github- https://github.com/oerdnj/deb.sury.org/issues/2155.
В июне США ввели новый пакет санкций против РФ, несмотря на то, что было сказано, что санкции не повлияют на гражданское общество, но возможно автору «позвонили» из «органов» и он заблокировал доступ с российских IP-адресов.
Здесь мы не будем давать оценки словам автора, который – «не видит смысла почему страна, начавшая войну должна получать доступ к его работе» и прочие лицемерные комментарии. Нас интересует именно способ обхода блокировок.
Сегодня мы рассмотрим способ обхода блокировок репозиториев с обновлениями PHP со стороны США.
Обновление с репозитория deb.surry.org
При попытке обновиться по команде
sudo apt update
Вы получите ошибку:
Err:5 https://packages.sury.org/php bookworm InRelease
451 [IP: 93.189.63.149 443]
Reading package lists... Done
E: Failed to fetch https://packages.sury.org/php/dists/bookworm/InRelease 451 [IP: 93.189.63.149 443]
E: The repository 'https://packages.sury.org/php bookworm InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
451 – означает Unavailable For Legal Reasons –Недоступно по юридическим причинам.
Установка из PPA
Ранее можно было просто установить нужные пакеты из PPA репозитории, но видимо автор никак не успокоится, и установка больше не работает, так как в репозитории теперь отсутствует папка с пакетами для Debian 12.
Мы воспользуемся альтернативными зеркалами.
Удаление репозитория deb.sury.org
Просто удалите файл с ссылкой на официальный репозиторий из
/etc/apt/sources.list.d/
Добавление зеркала репозитория 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
Вместо адреса вы можете указать любое другое зеркало, так как мы используем официальный PGP ключ, то нам не стоит беспокоится о подделках.
Если мы сейчас запустим
sudo apt update
То получим ошибку:
Get:5 https://ftp.mpi-inf.mpg.de/mirrors/linux/mirror/deb.sury.org/repositories/php bookworm InRelease [7,542 B]
Err:5 https://ftp.mpi-inf.mpg.de/mirrors/linux/mirror/deb.sury.org/repositories/php bookworm InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743
Reading package lists... Done
W: GPG error: https://ftp.mpi-inf.mpg.de/mirrors/linux/mirror/deb.sury.org/repositories/php bookworm InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743
E: The repository 'https://ftp.mpi-inf.mpg.de/mirrors/linux/mirror/deb.sury.org/repositories/php bookworm InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Так как репозиторий подписан PGP, а ключ был изменен автором, то нам нужно обновить ключ с официального сайта!
Добавление нового ключа PGP
Помимо блокировки репозитория автор сменил PGP-ключи. Чтобы загрузить новый ключ воспользуйтесь анонимайзером, прокси либо VPN, чтобы скачать файл:
https://packages.sury.org/php/apt.gpg
Скачать файл вы можете с Яндекс-диска:
https://disk.yandex.ru/d/ZxgB_kRu-mwqGg
Загрузим файл на наш сервер и скопируем в домашнюю папку.
Запустим:
sudo mv ~/apt.gpg /etc/apt/trusted.gpg.d/php.gpg
Ключ установлен
Проверка зеркала
Запустим
sudo apt update
Hit:1 http://mirror.docker.ru/debian bookworm InRelease
Hit:2 http://mirror.docker.ru/debian bookworm-updates InRelease
Hit:3 http://security.debian.org/debian-security bookworm-security InRelease
Hit:4 https://download.docker.com/linux/debian bookworm InRelease
Hit:5 https://ftp.mpi-inf.mpg.de/mirrors/linux/mirror/deb.sury.org/repositories/php bookworm InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
68 packages can be upgraded. Run 'apt list --upgradable' to see them.
Попробуем установить:
sudo apt install php8.3
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
libltdl7 libslirp0 pigz slirp4netns
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php8.3 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
libaprutil1-ldap liblua5.3-0 php8.3-cli php8.3-common php8.3-opcache php8.3-readline ssl-cert
Suggested packages:
apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser php-pear
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php8.3 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
libaprutil1-ldap liblua5.3-0 php8.3 php8.3-cli php8.3-common php8.3-opcache php8.3-readline ssl-cert
0 upgraded, 16 newly installed, 0 to remove and 68 not upgraded.
Need to get 6,900 kB of archives.
After this operation, 30.6 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Всё работает
Заключение
Сегодня мы рассмотрели установку php версии 8.3 из альтернативного зеркала, после блокировки на территории РФ репозитория deb.sury.org
Удалили старый репозиторий.
Прописали новый репозиторий.
Загрузили и установили официальные PGP ключи deb.sury.org
Запустили обновление репозитория и проверили как работает установка.
Комментарии
Спасибо, все получилось
Все получилось! Спасибо автору!
супер! Автор, благодарю!
Благодарность автору! Способ рабочий, всё получилось.
Спасибо за статью, полезно.
Жалко только, что ни одна компания, из тех, кто мнит себя российским big tech'ом, ни нашла ресурсов (ни времени, ни средств) для того, чтобы нанять человека, который бы поднял репу со сборками php для debian'а.
Больше спасибо, статья очень помогла. Не хватает только команды для переключению версии ПХП
Отключить старую версию
a2dismod php7.2
Включить новую
a2enmod php8.1
Спасибо тебе :)
Спасибо
Добавить комментарий