GLPI (Gestionnaire Libre de Parc Informatique) es una herramienta de código abierto para la gestión de activos y servicios de TI. Es una solución completa para la gestión de los recursos de hardware y software de la empresa, así como para la gestión de incidencias, solicitudes de servicio y cambios.
GLPI proporciona una interfaz web intuitiva y fácil de usar, y es muy personalizable para adaptarse a las necesidades específicas de cada organización. Entre sus características se incluyen la gestión de inventario de hardware y software, la gestión de usuarios y grupos, la gestión de tickets de ayuda y soporte técnico, la gestión de contratos y garantías, y la generación de informes y estadísticas.
A continuación se explicará como instalar la última versión de GLPI en un servidor Web Apache2 en una distribución Debian o basada en ella sin nada preconfigurado previamente. También se detallará previamente el proceso de instalación de dependencias y configuración de un certificado SSL de Let's Encrypt utilizando Certbot.
Instalación paquetes requeridos y dependencias
Primero realiza una actualización de los repositorios y de los paquetes del sistema:
# apt update && apt upgrade -y
Instala el servidor Web, MySQL, FPM de PHP y el resto de dependencias:
# apt install apache2 php8.1 php8.1-fpm php8.1-curl php8.1-gd php8.1-mbstring php8.1-mysql php8.1-xml php8.1-intl php8.1-cli php8.1-ldap php8.1-xml php8.1-xmlrpc php8.1-apcu php8.1-zip php8.1-bz2 mariadb-server -y
Activa el módulo y configura el FPM de PHP para Apache:
# a2enmod proxy_fcgi setenvif && a2enconf php8.1-fpm
Y reinicia el servidor Web:
# systemctl restart apache2
Creación de base de datos y usuario MySQL para GLPI
Para crear una base de datos para GLPI ejecuta lo siguiente:
# mysqladmin create db_glpi
También crea un usuario de MySQL para el GLPI (recuerda modificar la contraseña de ejemplo):
# mysql -u root -e "CREATE USER 'user_glpi'@'localhost' IDENTIFIED BY 'tu_contraseña'"
Y dale permisos al usuario a la base de datos de GLPI creada anteriormente:
# mysql -u root -e "GRANT ALL ON db_glpi.* TO 'user_glpi'@'localhost'"
Configuraciones previas para el FPM de PHP
Primero modifica el archivo de php.ini del FPM para modificar ciertos valores, puedes directamente ejecutar:
# sed -i 's/^;*\s*\(session\.cookie_secure\s*=\s*\).*$/\1on/' /etc/php/8.1/fpm/php.ini
Para comprobar el cambio, puedes ejecutar el siguiente comando:
# grep cookie_secure /etc/php/8.1/fpm/php.ini
La línea deberá aparecer en "on", realiza lo mismo para cookie_httponly:
# sed -i 's/^;*\s*\(session\.cookie_httponly\s*=\s*\).*$/\1on/' /etc/php/8.1/fpm/php.ini
Para comprobar el cambio, ejecuta:
# grep session.cookie_httponly /etc/php/8.1/fpm/php.ini
Adicionalmente, establece el tiempo de ejecución maximo en 600 segundos:
# sed -i 's/^max_execution_time\s*=.*/max_execution_time = 600/' /etc/php/8.1/fpm/php.ini
Nuevamente para comprobar el cambio ejecuta:
# grep max_execution_time /etc/php/8.1/fpm/php.ini
Una vez realizado, recarga el servicio para efectuar los cambios:
# systemctl reload php8.1-fpm.service
Descarga y preparación de instalación de GLPI
Para descargar la última versión de GLPI ejecuta lo siguiente:
# curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep "browser_download_url" | cut -d : -f 2,3 | tr -d '," ' | xargs curl -sLO
Posteriormente, descomprime el archivo descargado en el directorio Web:
# tar -xzf glpi-*.tgz -C /var/www/html --strip-components=1
Cambia los permisos del directorio Web recursivamente:
# chown -R www-data:www-data /var/www/
Una vez realizado, edita el archivo de configuración por defecto del sitio Web:
# nano /etc/apache2/sites-enabled/000-default.conf
En él descomenta y modifica la línea de ServerName por el registro DNS deseado (ejemplo):
ServerName glpi.ejemplo.es
Adicionalmente, si la versión descargada es 10.0.7 o superior, modifica el DocumentRoot y Directory por /var/www/html/public:
DocumentRoot /var/www/html/public # If you want to place GLPI in a subfolder of your site (e.g. your virtual host is serving multiple applications), # you can use an Alias directive. If you do this, the DocumentRoot directive MUST NOT target the GLPI directory itself. # Alias "/glpi" "/var/www/html/public" <Directory /var/www/html/public> Require all granted RewriteEngine On # Redirect all requests to GLPI router, unless file exists. RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] </Directory>
Guarda los cambios, sal del editor y recarga Apache:
# systemctl reload apache2.service
Adicionalmente, elimina el archivo índice por defecto de Apache:
# rm /var/www/html/index.html
Por último, instala el Certbot y el script Python de automatización para Apache:
# apt install python3-certbot-apache -y
Y ejecútalo, recuerda modificar el ejemplo por el registro DNS introducido en ServerName:
# certbot --apache --redirect -d glpi.ejemplo.es
Instalación de GLPI
Accede desde un navegador Web al GLPI con el FQDN utilizado y selecciona el idioma deseado:
Lee y acepta la licencia para continuar:
Y elige la opción de instalación:
Comprueba que todo este correcto, salvo "Safe path for data directories" que se puede ignorar (tiene un .htaccess denegando el acceso en dichos directorios):
Configura el usuario MySQL creado anteriormente:
Y selecciona la base de datos creada:
Creará automáticamente las tablas en la base de datos y cuando termine, haz clic en continuar:
Puedes permitir la recopilación de estadísticas de uso para ayudar a GLPI dejándolo por defecto y haciendo clic en continuar:
Te informarán que ofrecen el servicio de soporte, tenlo presente y haz clic en continuar:
Al terminar la instalación, te mostrará las contraseñas por defecto de los usuarios:
Haz clic en Utilizar GLPI se abrirá el inicio/dashboard (utiliza el usuario glpi con contraseña glpi). En él observarás mensajes de advertencia por contraseñas por defecto y de los archivos de instalación. Primero haz clic en cada usuario y modifica las contraseñas por precaución:
Posteriormente, para eliminar los archivos instalación puedes utilizar el siguiente comando:
# rm -R /var/www/html/install
Una vez realizada esta última acción y modificado las contraseñas por defecto de los usuarios, tendrás listo GLPI para trabajar con él.
Esperamos que este artículo te haya sido de ayuda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en contactar a soporte@clouding.io. ¡Estamos para ayudarte!