Instalación de GLPI en Ubuntu
GLPI es una plataforma ITSM robusta utilizada en miles de organizaciones para la gestión de tickets, inventarios, activos, procesos y operaciones de TI. Este tutorial te guiará paso a paso para instalar GLPI en Ubuntu siguiendo buenas prácticas, ajustes recomendados y una estructura de archivos adecuada para entornos reales.
📌 Recomendación profesional sobre la base de datos
Aunque este tutorial instala GLPI, Apache, PHP y MariaDB en un mismo servidor, en entornos productivos recomendamos separar la base de datos en un servidor independiente.
Esto mejora el rendimiento, seguridad, escalabilidad y facilita respaldos y mantenimientos. Para fines prácticos, este tutorial continúa con una instalación en un solo servidor.
1- Requisitos previos
Actualiza tu servidor Ubuntu antes de continuar:
sudo apt update && sudo apt upgrade -yInstala herramientas básicas necesarias:
sudo apt install -y wget curl unzip tar software-properties-common2- Instalar Apache, PHP y extensiones necesarias
sudo apt install -y apache2 libapache2-mod-php \
php php-cli php-common php-curl php-gd php-imap php-intl \
php-ldap php-mbstring php-mysql php-xml php-xmlrpc php-zip php-bz2 php-gmpVerifica que PHP esté funcionando:
php -v3- Instalar y configurar MariaDB
Instala MariaDB y asegúrala:
sudo apt install -y mariadb-server mariadb-client
sudo mysql_secure_installationCrear base de datos y usuario para GLPI:
CREATE DATABASE glpi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'glpi'@'localhost' IDENTIFIED BY 'TuPasswordSegura123!';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi'@'localhost';
FLUSH PRIVILEGES;4- Descargar GLPI
Descarga la versión más reciente desde GitHub:
wget https://github.com/glpi-project/glpi/releases/download/11.0.2/glpi-11.0.2.tgz
tar -xvzf glpi-11.0.2.tgz
sudo mv glpi /var/www/html/5- Permisos recomendados
sudo chown -R www-data:www-data /var/www/html/glpi
sudo chmod -R 755 /var/www/html/glpi6- Reorganización FHS (Opcional pero muy recomendado)
GLPI puede organizarse siguiendo el estándar FHS, lo que mejora claridad, seguridad y mantenimiento del sistema.
/etc/glpi | Archivos de configuración |
/var/www/html/glpi | Código fuente (solo lectura) |
/var/lib/glpi | Archivos variables: sesiones, plugins, documentos, cache |
/var/log/glpi | Registros de GLPI |
6.1 Crear downstream.php
vim /var/www/html/glpi/inc/downstream.php<?php
define('GLPI_CONFIG_DIR', '/etc/glpi/');
if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) {
require_once GLPI_CONFIG_DIR . '/local_define.php';
}6.2 Mover carpetas a sus nuevas ubicaciones
mv /var/www/html/glpi/config /etc/glpi
mv /var/www/html/glpi/files /var/lib/glpi
mv /var/lib/glpi/_log /var/log/glpi6.3 Crear local_define.php
vim /etc/glpi/local_define.php<?php
define('GLPI_VAR_DIR', '/var/lib/glpi');
define('GLPI_DOC_DIR', GLPI_VAR_DIR);
define('GLPI_CACHE_DIR', GLPI_VAR_DIR . '/_cache');
define('GLPI_CRON_DIR', GLPI_VAR_DIR . '/_cron');
define('GLPI_GRAPH_DIR', GLPI_VAR_DIR . '/_graphs');
define('GLPI_LOCAL_I18N_DIR', GLPI_VAR_DIR . '/_locales');
define('GLPI_LOCK_DIR', GLPI_VAR_DIR . '/_lock');
define('GLPI_PICTURE_DIR', GLPI_VAR_DIR . '/_pictures');
define('GLPI_PLUGIN_DOC_DIR', GLPI_VAR_DIR . '/_plugins');
define('GLPI_RSS_DIR', GLPI_VAR_DIR . '/_rss');
define('GLPI_SESSION_DIR', GLPI_VAR_DIR . '/_sessions');
define('GLPI_TMP_DIR', GLPI_VAR_DIR . '/_tmp');
define('GLPI_UPLOAD_DIR', GLPI_VAR_DIR . '/_uploads');
define('GLPI_INVENTORY_DIR', GLPI_VAR_DIR . '/_inventories');
define('GLPI_THEMES_DIR', GLPI_VAR_DIR . '/_themes');
define('GLPI_LOG_DIR', '/var/log/glpi');7- Permisos avanzados
chown root:root /var/www/html/glpi/ -R
chown www-data:www-data /etc/glpi -R
chown www-data:www-data /var/lib/glpi -R
chown www-data:www-data /var/log/glpi -R
chown www-data:www-data /var/www/html/glpi/marketplace -Rf
find /var/www/html/glpi/ -type f -exec chmod 0644 {} \;
find /var/www/html/glpi/ -type d -exec chmod 0755 {} \;
find /etc/glpi -type f -exec chmod 0644 {} \;
find /etc/glpi -type d -exec chmod 0755 {} \;
find /var/lib/glpi -type f -exec chmod 0644 {} \;
find /var/lib/glpi -type d -exec chmod 0755 {} \;
find /var/log/glpi -type f -exec chmod 0644 {} \;
find /var/log/glpi -type d -exec chmod 0755 {} \;8- Configurar el servidor web (VirtualHost GLPI 10+)
GLPI 10 introduce el uso obligatorio del directorio /public. El VirtualHost debe apuntar a él para un funcionamiento correcto.
vim /etc/apache2/sites-available/glpi.conf<VirtualHost *:80>
ServerName yourglpi.yourdomain.com
DocumentRoot /var/www/html/glpi/public
<Directory /var/www/html/glpi/public>
Require all granted
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>a2dissite 000-default.conf
a2enmod rewrite
a2ensite glpi.conf
systemctl restart apache29- Ajustes recomendados en php.ini
vim /etc/php/8.1/apache2/php.iniupload_max_filesize = 20M
post_max_size = 20M
max_execution_time = 60
max_input_vars = 5000
memory_limit = 256M
session.cookie_httponly = On
date.timezone = America/Bogota10- Completar instalación desde el navegador
Ingresa desde tu navegador a:
http://<tu-servidor>/glpiCompleta el instalador gráfico. Usuarios iniciales:
| Usuario | Rol | Contraseña |
|---|---|---|
| glpi | Administrador | glpi |
| tech | Técnico | tech |
| normal | Usuario estándar | normal |
| post-only | Solo creación | post-only |
Importante: cambia todas estas contraseñas inmediatamente.
✔ Instalación completada
GLPI ya está instalado correctamente. En el próximo tutorial veremos la configuración inicial, seguridad, correo, perfiles, entidades y ajustes recomendados para que tu instancia quede lista para producción.
