Instalar la plataforma GLPI en un servidor Centos 7

En las últimas semanas me están llegando muchos comentarios a la web, al respecto de dudas sobre la instalación y configuracón del magnífico sistema «Gestor Libre del Parque Informático«, conocido por sus siglas, GLPI. Ya sabéis que durante estos años he hablado largo y tendido sobre este producto. Aún así sí que es cierto que hace tiempo que no trabajo con él. Ya que en mi actual empresa no lo usamos.

Por esto motivo, expuesto en el anterior párrafo, me he vuelto a poner manos a la obra y he instalado su última versión, que a día de de hoy es la 9.2.1 sobre un sistema operativo GNU/Linux, como no podía ser de otra manera, en concreto Centos 7. Lo cierto es han cambiado unas cuantas cosas en lo relacionado con la instalación, así que sin más dilación paso a relatar. Seré bastante escueto e iré al grano, en los pasos de la instalación.

Instalación de GLPI sobre CentOS 7

Antes de nada debemos tener el sistema actualizado y el módulo de seguridad SELinux deshabilitado, para ello, editamos su respectivo fichero de configuración:

  1. vi /etc/selinux/config
  2. #Dejamos la primera línea editable de la siguente manera:
  3. SELINUX=disabled
  4. #Guardamos y salimos

Para que el cambio tenga efecto debemos reiniciar el equipo. El siguiente paso es instalar el servidor web, sobre el cuál instalaremos el producto en cuestión. Para ello utilizaremos un servidor LAMP.

  1. #Instalamos el servidor web Apache
  2. yum install httpd
  3. # Habilitamos el servicio en el arranque
  4. systemctl enable httpd.service
  5. # Instalamos el servidor de base de datos MariaDB
  6. yum install mariadb-server mariadb
  7. #Habilitamos el servicio en el arranque
  8. systemctl enable mariadb.service
  9. #Arrancamos el servidor de base de datos
  10. systemctl start mariadb.service
  11. #Utilizamos el script que asegura el servidor
  12. mysql_secure_installation

Ahora debemos añadir dos repositorios adicionales, inprescindibles para poder continuar con el tutorial, ya que necesitamos instalar una versión de PHP igual o superior a la 5.6. Los repositorios son EPEL y REMI

  1. wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
  2. wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
  3. rpm -Uvh remi-release-7*.rpm epel-release-7*.rpm

Debemos editar el fichero remi.repo, ya que por defecto todos los repostirios que lleva consigo están deshabilitados. Indicamos el que nos interesa.

  1. [remi-php56]
  2. name=Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - $basearch
  3. #baseurl=http://rpms.remirepo.net/enterprise/7/php56/$basearch/
  4. #mirrorlist=https://rpms.remirepo.net/enterprise/7/php56/httpsmirror
  5. mirrorlist=http://rpms.remirepo.net/enterprise/7/php56/mirror
  6. # NOTICE: common dependencies are in "remi-safe"
  7. enabled=1
  8. gpgcheck=1
  9. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

Una vez realizado este paso ya podemos instalar los paquetes de PHP, más una serie de extensiones, necesarias para sacar todo su potencial a la plataforma de parque informático.

  1. yum install php php-gd php-mysql php-mcrypt 
  2. yum install php-apcu php-xmlrpc php-pecl-zendopcache
  3. yum install php-ldap php-imap php-mbstring php-simplexml php-xml

Habilitamos los puertos 80 y 443 en el cortafuegos que viene por defecto configurado en el sistema operativo.

  1. firewall-cmd --permanent --zone=public --add-service=http 
  2. firewall-cmd --permanent --zone=public --add-service=https
  3. firewall-cmd --reload

Encendemos el servidor web Apache.

  1. systemctl start httpd.service

Descargar GLPI y configuración de Virtual Host

OK, ya tenemos el servidor web instalado y funcionando. Ahora desde su página web o bien desde la página del proyecto en GitHub, nos descargamos la última versión:

  1. #Descargamos el proyecto
  2. wget https://github.com/glpi-project/glpi/releases/download/9.2.1/glpi-9.2.1.tgz
  3. #Movemos el fichero comprimido a la carpeta habitual de los proyectos web, otra opción sería /usr/share
  4. mv glpi-9.2.1.tgz /var/www/html
  5. #Lo descomprimimos en la ubicación
  6. tar xvf glpi-9.2.1.tgz
  7. #La asignamos los permisos correspondientes
  8. chmod 755 /var/www/html/glpi -R
  9. chown apache:apache /var/www/html/glpi -R

Creamos el Virtual Host para el proyecto:

  1. vi /etc/httpd/conf.d/glpi.conf

Y editamos:

  1. <VirtualHost *:80>
  2.         ServerAdmin davidochobits@colaboratorio.net
  3.         ServerName glpi.ochobitunbyte.pw
  4.         DocumentRoot /var/www/html/glpi
  5.         <Directory /var/www/html/glpi>
  6.                 Options Indexes FollowSymLinks MultiViews
  7.                 AllowOverride All
  8.                 Order allow,deny
  9.                 allow from all
  10.                 Require all granted
  11.         </Directory>
  12.         ErrorLog /var/log/httpd/error-glpi.ochobitsunbyte.log
  13.         CustomLog /var/log/httpd/access-glpi.ochobitsunbyte.log combined
  14. </VirtualHost>

Una vez hecho esto guardamos y salimos. Procedemos a reiniciar el servidor web y ya nos podemos ir a nuestro navegador favorito para seguir con la configuración.

  1. systemctl restart httpd

Configuracón vía web

Una vez ya estamos en el navegador, nos aparecerá la siguiente pantalla, donde podemos indicar el idioma que nos interese.

Menú de selección de idioma

En el siguiente paso debemos aceptar la licencia del producto, que es GPL.

Aceptación licencia GPL

Nos indica, a continuación, si nuestro servidor cumple con todos los requisitos.

En las siguientes pantallas indicaremos la ubicación de nuestro servidor de base de datos, que generalmente está ubicado en el propio host, esto es, «127.0.0.1» más el usuario y su contraseña.

Selección de base de datos a crear

Una vez ya hemos creado la base de datos, en la siguiente pantalla se nos indican los usuarios por defecto para la plataforma.

Usuarios inciales para GLPI

A continuación, utilizando uno de estos usuarios, ya podemos acceder a la plataforma.

Recordar, esto es importante, cambiar la contraseña de los usuarios iniciales, además de eliminar el fichero de instalación tal y cómo se indica la primera vez que accedemos a la plataforma.

Espero que haya sido de vuestro interés. Mi idea es elaborar otro artículo, al respecto del módulo FusionInventory, que a creado ciertas dudas últimamente sobre su uso, sobre todo en lo relacionado con la instalación de su agente, en las máquinas con el rol de cliente. Nos vamos leyendo ^.^

19 Respuestas

  1. Dani dice:

    Hola David,

    Creo que te podria venir bien tener SELinux activado.
    Echa un ojo en el apartado de SELinux: https://github.com/dsegurag/glpi/

    Hasta ahora.

  2. Ivan Barra Martinez dice:

    Hola David, tanto años, ha evolucionado bastante el proyecto al parecer, hace mucho tiempo que no le entro al GLPI, incluso varias personas que por mis comentarios en tu blog me han contactado por G+ e incluso por telegram para consultar respecto a la instalación, pero la mayoría quiere el trabajo practicamente hecho, lo mismo con nagios, pero bueeee, no saben lo que se pierden al realizar todo el proceso desde cero.

    Un gusto leerte, aunque ya no tan seguido.

    Saludos.

    • Hola Ivan,

      Qué bueno leerte por aquí. Pues sí, a raíz de los tutoriales muchos usuarios también contactan conmigo, ya sea por correo o vía Telegram. Si puedo les ayudo, pero como no tengo mucho tiempo disponible, generalmente les remito a guías oficiales o algún tutorial de otro colega.

      Ciertamente GLPI ha evolucionado mucho, como no puede ser de otra manera se van adaptando a los nuevos tiempos y a las necesidades de las empresas.

      Saludos!!

  3. Monica dice:

    Hola como estas, veo que has instalado GLPI desde 0 y me atrevo a consultar: yo uso GLPI, pero al momento de crear mas usuarios no me aparecen en la vista de usuario, alguno sabe que podria ser ?

  4. Kevin Urrutia dice:

    Muy buen post, aunque hay problemas con algunas direcciones de los repositorios, si pudieras ayudarme seria genial.
    Saludos

  5. David dice:

    Hola buen dia, he estado siguiendo tu instructivo y tengo el siguiente inconveniente:

    Cuando ejecuto el comando
    «systemctl start httpd.service»

    para habilitar el apache me arroja el siguiente error

    «Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details.»,

    al validar el estatus del apache me arroja lo siguiente
    «- Unit httpd.service has begun starting up.
    mar 25 17:26:10 localhost.localdomain httpd[6786]: httpd: Syntax error on line 353 of /etc/httpd/conf/httpd.conf: Syntax error on line 14 of /etc/http
    mar 25 17:26:10 localhost.localdomain systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
    mar 25 17:26:10 localhost.localdomain kill[6788]: kill: cannot find process «»
    mar 25 17:26:10 localhost.localdomain systemd[1]: httpd.service: control process exited, code=exited status=1
    mar 25 17:26:10 localhost.localdomain systemd[1]: Failed to start The Apache HTTP Server.
    — Subject: Unit httpd.service has failed
    — Defined-By: systemd
    — Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    »
    espero me puedas dar una mano.

  6. Rodolfo dice:

    Hola David. Una consulta compañero: ¿Qué diferencias hay entre GLPI y el OCS Inventory, y también con el fusion inventory? Según vi, el OCS Inventory trae casi los mismos datos que el GLPI en cuanto a las características de los equipos en un parque de tecnología. Y en cuanto al fusion inventory, vi que trae datos de red de los equipos conectados al parque tecnológico.

    • Hola Rodolfo,

      Te explico, GLPI es una plataforma para gestionar nuestro parque informático. Nos permite llevar una gestión completa de este, incluido todos los componentes, ya sean las computadoras, teclados, periféricos como impresoras, etcétera. Además incluye un módulo de SAU, para atención al cliente. Muy útil, y que en una de las empresas donde trabajé utilizamos para crear y gestionar las peticiones de los departamentos.

      Para no tener que añadir todos los datos del parque informático a mano, lo ideal es integrar dicho producto con otro. Este segundo producto se tiene que encargar de suministrar los datos, vía agente, vía escaneo de red, cada cierto tiempo, para que tenga una base de datos los más actualizada posible. Aquí es donde entra OCS-Inventory y Fusion Inventory

      El primero es el que al principio era el único con el que se podía integrar GLPI; más adelante, promovido por el proprio equipo de GLPI se creó el proyecto de Fusion Inventory.

      En cualquier caso, tanto OCS-Inventory como Fusion Inventory se integran perfectamente con GLPI.

      Espero haberte ayudado.

      Saludos!!

      • Rodolfo Ruiz dice:

        Gracias David en serio. Estoy probando con el OCSinventory ahora. Vi que es muy importante el recurso del ipdiscover del OCS en el menú de redes. El fusioninventory pasa datos interesantes del ip del equipo correspondiente por el servicio snmp. Ahora me estoy peleando nomás con el OCS en una nueva instalación por darme una falla de conexión con la base de datos, que lo estoy verificando nuevamente. Agradecido por tu respuesta de nuevo compañero.

  7. Hola David !
    Estoy siguiendo el tutorial, pero quede colgado en el remi.repo, en que lugar queda guardado para poder editar?

    Muchas Gracias !!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.