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:
vi /etc/selinux/config
#Dejamos la primera línea editable de la siguente manera:
SELINUX=disabled
#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.
#Instalamos el servidor web Apache
yum install httpd
# Habilitamos el servicio en el arranque
systemctl enable httpd.service
# Instalamos el servidor de base de datos MariaDB
yum install mariadb-server mariadb
#Habilitamos el servicio en el arranque
systemctl enable mariadb.service
#Arrancamos el servidor de base de datos
systemctl start mariadb.service
#Utilizamos el script que asegura el servidor
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
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
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.
[remi-php56]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php56/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/php56/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/php56/mirror
# NOTICE: common dependencies are in "remi-safe"
enabled=1
gpgcheck=1
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.
yum install php php-gd php-mysql php-mcrypt
yum install php-apcu php-xmlrpc php-pecl-zendopcache
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.
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Encendemos el servidor web Apache.
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:
#Descargamos el proyecto
wget https://github.com/glpi-project/glpi/releases/download/9.2.1/glpi-9.2.1.tgz
#Movemos el fichero comprimido a la carpeta habitual de los proyectos web, otra opción sería /usr/share
mv glpi-9.2.1.tgz /var/www/html
#Lo descomprimimos en la ubicación
tar xvf glpi-9.2.1.tgz
#La asignamos los permisos correspondientes
chmod 755 /var/www/html/glpi -R
chown apache:apache /var/www/html/glpi -R
Creamos el Virtual Host para el proyecto:
vi /etc/httpd/conf.d/glpi.conf
Y editamos:
<VirtualHost *:80>
ServerAdmin davidochobits@colaboratorio.net
ServerName glpi.ochobitunbyte.pw
DocumentRoot /var/www/html/glpi
<Directory /var/www/html/glpi>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
ErrorLog /var/log/httpd/error-glpi.ochobitsunbyte.log
CustomLog /var/log/httpd/access-glpi.ochobitsunbyte.log combined
</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.
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.
En el siguiente paso debemos aceptar la licencia del producto, que es 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.
Una vez ya hemos creado la base de datos, en la siguiente pantalla se nos indican los usuarios por defecto para la plataforma.
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 ^.^
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.
Hola Dani,
Ya veo que has «scriptado» todo el proceso, buen trabajo. En la mayoría de empresas en las que he trabajado las maquetas de los servidores siempre vienen con SELinux deshabilitado, quizás por eso yo sigo esa costumbre.
Saludos!!
Hola Dani. ¿ya no tiene el repositorio para mirar?
Hola Rodolfo,
Solo ha cambiado la ruta:
https://github.com/dsegurag/centos-glpi
Saludos
Muchas gracias compañero. Lo miro ahora mismo.
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!!
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 ?
Hola Mónica,
Eso tiene pinta que no tienes permisos para ver los usuarios. ¿Qué perfil de usuario tienes?
Saludos
Muy buen post, aunque hay problemas con algunas direcciones de los repositorios, si pudieras ayudarme seria genial.
Saludos
Hola Kevin,
¿Exactamente que problema tienes?
Saludos
este link esta malo
http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Hola,
Ya está corregido.
Saludos
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.
Hola David,
Revisa la configuración de los ficheros de Apache:
» Syntax error on line 353 of /etc/httpd/conf/httpd.conf: Syntax error on line 14 of /etc/http»
Saludos
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!!
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.
Hola David !
Estoy siguiendo el tutorial, pero quede colgado en el remi.repo, en que lugar queda guardado para poder editar?
Muchas Gracias !!