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 EMPRESTUR Cienfuegos

Ver comentarios

  • 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

Compartir
Publicado por
Alexander Rivas Alpizar

Entradas recientes

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…

8 meses hace

Home automation (Parte 3) – ESPHome

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

1 año hace

Home automation (Parte 2) – Home Assistant

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

1 año hace

Home automation (Parte 1)

Desde hace varios meses vengo con la idea de automatizar la casa donde vivo. Poco…

1 año hace

Cocinando una imagen personalizada de OpenWRT

El artículo describe el uso para un caso particular de OpenWRT y la creación de…

1 año hace