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 ^.^