Viéndome en la necesidad de instalar un NextCloud, 16, que es la última versión actualizada, necesité el PHP 7.3 y el último Nginx. A eso le sumé el último MariaDB.
Para lograr esto, todos recomiendan el repo de sury.org, por lo cual, para hacerlo localmente me hice mi script de debmirror para tener copia local[obviamente] y así maltratar poco el ancho de banda.
Pero probando el script me dí cuenta de una cosa, en el repo de PHP, bloqueaban el script dando un error 403:
Es decir, me bloquean de alguna manera. Probando con Wget y Firefox, sin problemas descarga, pero por debmirror NO!!! Y esto ahora?
Bueno, para no hacer el cuento largo, «debmirror», es un script escrito en Perl, por lo cual, analizando un poco y googleando, me dí cuenta que lo que bloquean es el «user-agent», que en el caso de Perl es «libwww-perl/$LWP::VERSION«.
Y está en:
/usr/share/perl5/LWP/UserAgent.pm, alrededor de la línea 729. Entonces solo queda cambiar el user-agent a uno conocido por todos:
«Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0». Dejando la línea de la siguiente manera:
sub _agent { "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0" }
Y listo.
A continuación pongo el script, adjunto al post, para así ahorrar espacio.
A la hora de configurar el repo, en /etc/apt/sources.list debemos poner:
deb [trusted=yes] http://mirepo/webdev/mariadb stretch main deb [trusted=yes] http://mirepo/webdev/php7 stretch main deb [trusted=yes] http://mirepo/webdev/nginx stretch nginx
Haciendo énfasis en el ‘trusted=yes’, pues así las llaves aunque no estén, el repo será usable.
Listo, happy mirroring y espero les sirva :D.