Instalación de GLPI 9.X en Debian 9, con Nginx, MariaDB y FusionInventory.

Revisando mis servicios encontre que aún tenía mi GLPI montado en Debian 7 y usando para inventario OCS. Con la reciente liberación del Debian 9, el uso extendido de Nginx por Apache2 y de MariaDB por MySQL, me di a la tarea de montarlo todo de nuevo. Comenzamos actualizando un Debian 9.

apt-get update && apt-get upgrade && apt-get clean && apt-get autoclean

Ahora instalaremos todas las dependencias que necesitaremos para que nuestro GLPI funcione. Debemos garantizar las dependecnias obligatorias y las opcionales:

Extensiones Obligatorias

  • curl: para la autentificacion CAS , chequeo de version GLPI, Telemetry, …;
  • fileinfo: extraer información extra;
  • gd: generar imagenes;
  • json: soporte para datos en formato JSON;
  • mbstring: manejo de caracteres de multiples bytes;
  • mysqli: para conectarse a una base de datos;
  • session: para sesion de usuario;
  • zlib: para la salva y restura de las bases de datos;
  • simplexml;
  • xml.

Extensiones Opcionales

  • cli: uso de la linea de comandos ;
  • domxml: para la autenticacion CAS;
  • imap: para el correo;
  • ldap: directorio LDAP para autenticacion;
  • openssl: comunicaciones seguras;
  • xmlrpc: usado para XMLRPC API.
  • APCu: para la cache;

apt install nginx php7.0-fpm mariadb-server php7.0-curl php7.0-gd php7.0-mysql php7.0-cli php7.0-imap php7.0-ldap php7.0-apcu php7.0-xmlrpc php7.0-mbstring php7.0-xml php-cas

Podemos comprobar que todo se cumple con este simple comando

php -i

Una vez terminado configuraremos nuestros servicios de web.

nano /etc/php/7.0/fpm/pool.d/www.conf

Buscaremos la línea listen = /var/run/php5-fpm.sock y lo sustituimos por listen = 127.0.0.1:9000

nano /etc/php/7.0/fpm/php.ini

Buscar en la línea 760 (más o menos)
;cgi.fix_pathinfo=1
Descomentar y dejar así:
cgi.fix_pathinfo=0

memory_limit = 64M ; // max memory limit
file_uploads = on ;
max_execution_time = 600 ; // not mandatory but adviced
register_globals = off ; // not mandatory but adviced
magic_quotes_sybase = off ;
session.auto_start = off ;
session.use_trans_sid = 0 ; // not mandatory but adviced

Configuramos ahora el Nginx para GLPI. Borramos el sitio por defecto

rm /etc/nginx/sites-enabled/default

Creamos el de GLPI

nano /etc/nginx/sites-enabled/glpi

Dentro pondremos esto:

server {
        listen   80 default_server;
        root /var/www/html;
        index index.php;
        server_name localhost;

        location / {try_files $uri $uri/ index.php;}

        #prise en charge PHP
        location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param SERVER_NAME $host;
                           }
}

Reiniciamos todo
systemctl restart nginx

systemctl restart php7.0-fpm.service

Ahora pasamos a configurar nuestro servicio de BD.

mysql_secure_installation

Configuramos la clave del usuario root y los accesos a la BD

Entramos con el usuario root a nuestro mysql

mysql -u root -p

Usaremos la clave de root para entrar al mysql que definimos anteriormente. Ahora le daremos permiso a root sobre cualquier base de datos que creemos dentro.

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’localhost’ IDENTIFIED BY ‘clave de root’ ;

FLUSH PRIVILEGES;

exit

Ahora pasamos a instalar nuestro GLPI. Primero nos bajamos la última versión de su sitio. Yo les recomiendo la versión 9.1.6 pues aun no todos los complementos están actualizados a la última versión. Una vez bajado lo descomprimimos en /var/www/html/

cd /var/www/html/

tar xzvf glpi-9.x.x.tgz

Nos quedara una carpeta llamada GLPI en /var/www/html/glpi . Ahora le daremos permisos para que no nos de errores durante la instalación.

chown -R www-data:www-data glpi/
chmod -R 755 glpi/
chmod -R 777 glpi/plugins

Abrimos nuestro navegador web y ponemos http://IP_server_glpi/glpi

Seleccionamos el lenguaje, aceptamos la licencia y le damos al botón de instalar. Si tenemos todo bien y las dependencias bien instaladas entonces nos saldrá una imagen parecida a esta:

La advertencia en rojo es normal ya que le dimos permiso de escritura a las carpetas glpi y plugins. Seguimos la instalación y cuando nos pida el usuario y la clave para acceder a la BD, le damos el usuario root y la clave que anteriormente definimos en MariaDB. Si todo está bien, será exitosa la conexion con la BD y le decimos que nos cree un nueva BD llamada glpi. Y seguimos toda la instalación hasta terminar. Recordar que hay que eliminar o renombrar install.php

Los perfiles por defecto que se crean son (usuario/clave):

glpi/glpi (super-admin)
tech/tech
postonly/postonly (only for helpdesk)
normal/normal

Ahora instalaremos fusioninventory para el inventario de nuestra red. Nos bajamos el fusioninventory de su web. Lo copiamos y descomprimimos en /var/www/html/glpi/plugins/

cd /var/www/html/glpi/plugins/

tar xzvf fusioninventory-for-glpi_9.x.x.x.tar.gz

Nos creara una carpeta fusioninventory dentro de la carpeta plugins. Ahora en nuestra web vamos a configuración y luego complementos y ya debe aparecernos el fusioninventory. Es solo darle a instalar y luego activar. Lo podremos encontrar en la pestaña complemento que aparecerá nueva. Recuerden bajar los agentes para usar este complemento. La información pueden encontrarla aquí.

Bueno espero que les sirva y cualquier duda coméntenla y los ayudare.

alex out

¿De cuánta utilidad te ha parecido este contenido?

Alexander Rivas Alpizar

Administrador de Redes IDEAR Cienfuegos

View Comments

  • Hola, he instalado la última versión disponible de glpi sobre un linux debian siguiendo tus instrucciones; he creado algunas entidades, plantillas y usuarios; pero al intentar buscarlas para hacer las relaciones entre ellos, la lista desplegable muestra el mensaje: "no se pudieron cargar los resultados". No funciona ninguna de las listas...

  • broder quiero configurar glpi para que me de notificaciones por correo
    pero cuando lleno los datos me lanza un error
    y tengo las extenciones de php intaladas
    que me puede estar faltando

    • Exactamente que error te da. Y que servidor de correos usas?? Tienes permitodo a ese servidor recibir correos del glpi???

  • Yo tengo el siguiente error y no logro pasar de esto.

    Web access to the files directory, should not be allowed
    Check the .htaccess file and the web server configuration.

  • En la parte de conectar a la base de datos le pongo localhost usuario root y el pass que le defini y me dA El servidor ha respondido: Access denied for user 'root'@'localhost'

    • Modificado el tutorial, con la forma de solucionar el error dandole privilegios a root sobre cualquier BD que se cree. Espero que con eso resuelvas
      alex out

Share
Published by
Alexander Rivas Alpizar

Recent Posts

SquidStat, analizador de logs de squid diferente y 100% cubano

Me complace anunciar la creación de esta útil herramienta (SquidStats), para el análisis y monitoreo…

4 días ago

n8n Transformando la Automatización de Flujos de Trabajo con Inteligencia Artificial

La inteligencia artificial está revolucionando las industrias al automatizar tareas, predecir patrones y permitiendo tomar…

2 semanas ago

Alta disponibilidad de sus base de datos con Percona XtraDB Cluster en Kubernetes

Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…

2 años ago

Home automation (Parte 3) – ESPHome

Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…

2 años ago

Home automation (Parte 2) – Home Assistant

Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…

2 años ago