Actualizar GLPI desde la línea de comandos en Linux

En este tutorial, explicaré cómo actualizar GLPI (10 o 11) directamente desde la línea de comandos desde el servidor Linux donde está instalado.

El objetivo aquí es actualizar GLPI sin utilizar una computadora de terceros para transferir archivos al servidor web, esto evita tener que utilizar un cliente FTP o SSH (SCP) para la transferencia de archivos.

Para mí este es el método más rápido.

Antes de iniciar cualquier actualización, asegúrese de poder volver atrás en caso de problema. Para ello, tiene varias soluciones:

  • Copia de seguridad de GLPI y la base de datos desde el servidor Linux
  • Si está en una máquina virtual, asegúrese de tener una copia de seguridad
  • Si está en una máquina virtual dedicada a GLPI, puede tomar una instantánea, lo que garantiza una reversión rápida y sencilla.

Dependiendo del tamaño de la base de datos GLPI, la actualización puede tomar más o menos tiempo, especialmente en el caso de una actualización de versión si es necesario actualizar registros, por lo que será necesario planificar el tiempo de inactividad de la aplicación.

Aquí actualizaré GLPI de la versión 11.0.0-beta4 a la versión 11.0.0-beta5.

Para comenzar, pondremos GLPI en mantenimiento, vaya a la ubicación donde se encuentran las carpetas y archivos GLPI en su servidor.

cd /var/www/glpi

Habilitar el modo de mantenimiento:

# utilisateur non root
sudo php bin/console glpi:maintenance:enable
# utilisateur root
php bin/console glpi:maintenance:enable --allow-superuser

Ahora que GLPI está en mantenimiento, regrese a la carpeta del usuario actual:

cd

Vaya al repositorio de Github para recuperar la URL de la versión deseada.

Descargar el archivo GLPI:

sudo wget https://github.com/glpi-project/glpi/releases/download/11.0.0-beta5/glpi-11.0.0-beta5.tgz

En la ubicación en la que te encuentras, verifica si ya existe una carpeta llamada glpi, si es así, ¡eliminala!

Descomprima el archivo:

tar -xvzf glpi-11.0.0-beta5.tgz

Como puede ver en la captura de pantalla a continuación, los archivos se extrajeron en una carpeta llamada glpi.

Ahora moveremos la carpeta GLPI actual:

sudo mv /var/www/glpi /var/www/glpi_old

Crearemos nuevamente la carpeta glpi:

sudo mkdir -p /var/www/glpi

Mueva los archivos del archivo descargado:

sudo mv glpi/* /var/www/glpi

Ahora volveremos a colocar los archivos de configuración originales, complementos, etc. en la carpeta GLPI:

sudo cp -r /var/www/glpi_old/files /var/www/glpi
sudo cp -r /var/www/glpi_old/config /var/www/glpi
sudo cp -r /var/www/glpi_old/marketplace /var/www/glpi
sudo cp -r /var/www/glpi_old/plugins /var/www/glpi

Como medida de seguridad, verifique en la carpeta de configuración que estén presentes los archivos y también el contenido del archivo de configuración:

Restaurar los derechos correctos a la carpeta glpi:

sudo chown www-data:www-data /var/www/glpi -R

Desde un navegador, vaya a la URL de su instalador GLPI e inicie la actualización siguiendo el asistente.

Si prefiere permanecer en la terminal, es posible actualizar la base de datos GLPI desde la línea de comandos.

Vaya a la carpeta GLPI:

cd /var/www/glpi

Iniciar la comprobación de prerrequisitos:

# utilisateur non root
sudo php bin/console glpi:system:check_requirements
# utilisateur root
php bin/console glpi:system:check_requirements --allow-superuser

Inicie la actualización si no hay problemas:

# utilisateur non root
sudo php bin/console db:update
# utilisateur root
php bin/console db:update --allow-superuser

Una vez completada la actualización, elimine la carpeta de instalación de glpi:

sudo rm /var/www/glpi/install -r

Salida GLPI del modo de mantenimiento:

# utilisateur non root
sudo php bin/console glpi:maintenance:disable
# utilisateur root
php bin/console glpi:maintenance:disable --allow-superuser

Ahora ya sabe cómo actualizar GLPI en línea. Aunque leer esto pueda parecer largo, es más rápido que hacerlo en una computadora con un cliente FTP.

Romain Drouche
Arquitecto de sistemas | MCSE: Infraestructura básica
Experto en infraestructura de TI con más de 15 años de experiencia en el sector. Actualmente, como Gerente de Proyectos de Sistemas y Redes y experto en Seguridad de Sistemas de Información (ISS), utilizo mi experiencia para garantizar la fiabilidad y seguridad de los entornos tecnológicos.

Deja un comentario