Blog ID-INFO
IBM i: ¿cómo ejecutar repositorios de código abierto de terceros sin acceso a Internet?
En primer lugar, garantizar la seguridad de IBM i (AS/400). Para protegerlas de posibles amenazas externas y asegurar los valiosos datos contenidos en estas máquinas, que son el núcleo de un gran número de funciones críticas en muchas empresas, a menudo se sitúan detrás de un cortafuegos y suelen estar completamente aisladas de Internet.
Esto puede ser problemático para los equipos que han optado por modernizar su sistema aprovechando el gestor de módulos de código abierto de IBM, que les permite incorporar varias de las principales soluciones de software del mercado, como PHP, Node o Python, por ejemplo. Se instalan a través de repositorios situados en servidores potencialmente en el otro extremo del planeta.
Por supuesto, es posible pedir a los equipos de red que abran los flujos si es necesario, pero esto no siempre es posible: los procedimientos largos o muy estrictos, a menudo con proveedores de servicios externos, pueden ser un verdadero obstáculo para añadir rápidamente una nueva función que es crítica para el equipo de desarrollo. Además, la instalación o actualización de componentes de código abierto es, en la mayoría de los casos, una operación puntual: no es necesario tener un flujo abierto permanente.
Teóricamente es posible clonar el repositorio en una máquina de la red local. Esta configuración puede ser útil si alguna vez tiene un gran número de máquinas IBM i en las que necesita desplegar soluciones. Sin embargo, mantener un clon de este tipo puede resultar bastante oneroso simplemente para desplegar unas cuantas soluciones en una máquina de desarrollo y otra de producción.
IBM ha proporcionado una solución muy sencilla para su propio repositorio: la opción «SSH Tunneling» en la interfaz de conexión del gestor de módulos de código abierto. Un pequeño inconveniente, sin embargo, es añadir repositorios de terceros, como el repositorio del Grupo Seiden para instalar las nuevas alternativas de PHP en IBM i.
Sin conexión a Internet, la adición del repositorio falla inmediatamente, como puede verse en la siguiente captura de pantalla:
Como esta adición de repositorio ha fallado, será imposible utilizarla en el gestor de módulos Open Source. Como antes, sólo estará disponible el sitio de IBM.
Este problema tiene una solución muy sencilla. Sólo tiene que abrir la url del archivo que define el repositorio desde un navegador y guardar el archivo de texto que se muestra en su PC; a continuación, transfiéralo a su IBM i:
Una vez descargado el archivo en su IBM, puede volver a añadir el repositorio mediante SSH especificando la ruta absoluta en el IFS del repositorio:
PATH=/QOpenSys/pkgs/bin:$PATH
export PATH
yum-config-manager --add-repo /QOpenSys/etc/phprepo/seiden_stable.repo
yum repolist
yum clean all
Como se puede ver en la captura de pantalla, hemos conseguido añadir el repositorio, pero por el momento el IBM i todavía no ha conseguido llegar a él debido a la falta de conectividad a Internet.
Ahora es el momento de aprovechar al máximo la opción «SSH Tunneling» de ACS:
Ahora tenemos acceso a un repositorio de terceros a pesar de que el IBM i no tiene conectividad a Internet:
Debe tenerse en cuenta que, por supuesto, su PC actuará como intermediario para recuperar los archivos de instalación, por lo que la tunelización sólo será posible si su PC es capaz de unirse a los repositorios y, por supuesto, el rendimiento estará limitado por la capacidad de su máquina. Notos-IDInfo le recomienda encarecidamente que utilice también la última versión de ACS.
PHP CommunityPlus+ del Grupo Seiden ( https://www.seidengroup.com/install-communityplus-php/ ) es una buena alternativa a Zend Server para muchos casos de uso. Póngase en contacto con nosotros para obtener más información.
¿Tiene alguna pregunta sobre IBM i? Póngase en contacto con nosotros en el 01 88 32 12 34 o a través del formulario de contacto.