GLPI: instalación en un servidor Nginx

Introducción

En este tutorial, veremos paso a paso cómo instalar GLPI en un servidor Nginx / PHP / MariaDB.

Antes de comenzar, necesitará un servidor web con Nginx / PHP / MariaDB instalado. Si necesita todo se explica en este tutorial: Ubuntu: instale un servidor web – NGINX / PHP / MariaDB

Por experiencia, instalar GLPI en un servidor web Nginx ofrece un mejor rendimiento que con Apache o IIS, pero algunas funciones no estarán disponibles, como SSO.

Preparando el medio ambiente

Antes de atacar la propia instalación de GLPI, prepararemos el servidor. Es necesario adaptar determinados elementos a su entorno.

Creando un registro DNS

En su zona DNS, cree un registro que corresponderá a la URL del sitio GLPI y que apunte a la dirección IP del servidor.

Configuración de Vhost

Il faut configurer un vhost (virtual host) qui va répondre à l’enregistrement DNS qui a été créé précédemment

Soy alérgico al uso del host predeterminado, prefiero usar vhosts que permiten una mejor organización de los sitios y también agrupar los recursos de un servidor alojando varios sitios.

Cree las carpetas para el vhost usando los siguientes comandos:

sudo mkdir /home/www-data/glpi
sudo mkdir /home/www-data/glpi/log
sudo mkdir /home/www-data/glpi/public_html
sudo chown www-data /home/www-data/glpi -R

Las primeras 3 líneas crearán las carpetas para los archivos GLPI y la última línea cambiará el propietario.

Usaremos el archivo default.conf para crear la configuración de glpi vhost. Copie el archivo usando el siguiente comando:

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/glpi.conf

Abra el archivo con nano:

sudo nano /etc/nginx/sites-available/glpi.conf

Aquí está mi archivo de configuración:

server {
    listen       80;
    server_name  glpi.lab.priv;

    #charset koi8-r;
    access_log  /home/www-data/glpi/log/access.log  main;

    location / {
        root   /home/www-data/glpi/public_html;
        index index.php index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        root           /home/www-data/glpi/public_html;
        #try_files      $uri =404;
        fastcgi_index  index.php;
        fastcgi_pass   unix:/run/php/php7.3-fpm.sock;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;    
   }
}
  • línea 3: URL del sitio
  • línea 6: ubicación de los registros
  • línea 9: ubicación de los archivos GLPI
  • línea 10: declaración de index.php
  • línea 23: ubicación de los archivos GLPI

Activar el vhost:

sudo ln -s /etc/nginx/sites-available/glpi.conf /etc/nginx/sites-enabled/

Pruebe la configuración de nginx:

sudo nginx -t

Recargue la configuración:

sudo systemctl reload nginx

Descargue y copie archivos GLPI al servidor

Vaya al sitio: https://glpi-project.org/ y descargue la última versión.

Descomprima el archivo y cargue el contenido en el servidor en la carpeta / home / www-data / glpi / public_html.

Personalmente utilizo WInSCP para hacerlo

Dependiendo de la cuenta utilizada para la transferencia, repita el siguiente comando para cambiar el propietario de los archivos y carpetas GLPI:

sudo chown www-data /home/www-data/glpi -R

Prueba de vhost de Glpi

Antes de continuar, ahora probaremos el funcionamiento correcto del host virtual.

Desde un navegador de Internet, vaya a la URL configurada para el sitio GLPI, debería aparecer la página de instalación.

Instalación de módulos PHP para GLPI

GLPI requiere módulos PHP para funcionar. Instale los módulos adicionales usando el siguiente comando (para ser adaptado según la versión de PHP):

sudo apt install php7.3-mbstring php7.3-curl php7.3-gd php7.3-xml php7.3-intl php7.3-bz2 php7.3-ldap php7.3-xmlrpc php7.3-zip -y

Reinicie el servicio PHP (para ser adaptado según la versión de PHP):

sudo systemctl reload php7.3-fpm

Creación de la base de datos

«Último elemento» de preparación del entorno para GLPI y la creación de la base de datos y de un usuario, para eso usaremos PHPMYADMIN, si seguiste el tutorial de Nginx deberías tenerlo.

Vaya a PHPMYADMIN, una vez identificado, haga clic en Cuentas de usuario 1.

Haga clic en Agregar una cuenta de usuario 1.

Ingrese el nombre del usuario 1 (glpi), ingrese una contraseña (x2) 2, marque la casilla Crear una base de datos con su nombre y otorgue a este usuario todos los privilegios en esta base de datos 3 y haga clic en Ejecutar 4.

Se han creado el usuario glpi y la base de datos glpi 1.

Instalación de GLPI

Desde un navegador de Internet, vaya a la URL configurada, seleccione el idioma 1 y haga clic en Aceptar 2.

Acepte la licencia 1 y haga clic en Continuar 2.

Haga clic en Instalar 1.

Normalmente, todas las pruebas deberían ser buenas, haga clic en Continuar 1.

Ingrese la dirección del servidor MariaDB (127.0.0.1 o localhost) 1, el usuario (glpi) 2 y la contraseña asociada 3 luego haga clic en Continuar 4> >.

Seleccione la base de datos 1 y haga clic en Continuar 2.

Una vez inicializada la base de datos, haga clic en Continuar 1.

Este paso puede tardar varios segundos.

Elija enviar información de telemetría y haga clic en Continuar 1.

Omita la parte de la donación haciendo clic en Continuar 1.

La instalación está completa, se muestran los identificadores de las cuentas predeterminadas. Haga clic en Usar GLPI 1.

Ingrese las credenciales (glpi / glpi) 1 y haga clic en Enviar 2 para conectarse.

GLPI está listo para usar.

Después de la instalación

Eliminar la carpeta de instalación

Elimine la carpeta de instalación del directorio GLPI.

Actualice la página de inicio, el mensaje debería desaparecer.

Ver la configuración del servidor

Es posible que se le solicite esta información en caso de soporte, con una cuenta de super-administrador (glpi), haga clic en Configuración 1 y luego en General 2.

Vaya a la pestaña Sistema 1 para mostrar la configuración del servidor.

La pestaña de rendimiento 1 proporciona información sobre los diferentes mecanismos de rendimiento disponibles.

Optimización del servidor para GLPI

En esta parte, le daré dos consejos para aumentar el rendimiento del servidor GLPI.

Instalar PHP-APCU

La instalación de PHP-APCU también se puede realizar si está en Apache

PHP-APCU es un módulo de caché de objetos PHP que le permite almacenar ciertos resultados de consultas en RAM (memoria de acceso aleatorio) para obtener resultados más rápido. GLPI está destinado a utilizar este sistema.

Para instalar php-apcu ingrese el siguiente comando:

sudo apt install php-apcu

Una vez que se complete la instalación, reinicie el servicio php-fpm:

sudo systemctl restart php7.3-fpm

En la pestaña de rendimiento que vimos anteriormente en la parte Caché de datos de usuario 1, podemos ver que ahora se usa la extensión apcu.

Optimización de la configuración de PHP

Los últimos elementos de optimización del servidor a nivel PHP serán modificar algunos parámetros PHP para el host virtual GLPI aumentando la memoria para PHP y autorizando el envío de archivos más grandes.

Como podemos ver en la captura de pantalla a continuación, el límite de memoria es 128M, la carga de archivos está limitada a 2M.

Creé un archivo phpinfo.php en la raíz de GLPI con la función phpinfo (); para mostrar información

Abra el archivo de configuración glpi.conf y agregue los elementos a continuación en la sección de ubicación ~.php $

fastcgi_param  PHP_VALUE "memory_limit=\"256M\" 
post_max_size=\"128M\"
upload_max_filesize=\"32M\"";

Vuelva a cargar la configuración de nginx y reinicie el servicio PHP para tenerlo en cuenta:

sudo systemctl reload nginx
sudo systemctl restart php7.3-fpm

Podemos ver el teniendo en cuenta los parámetros:

Esta parte también explica cómo configurar parámetros PHP personalizados (directivas) para un host virtual en Nginx.

Verifique la cantidad de procesos NGINX

La última optimización que te presentaré en este tutorial es la cantidad de procesos nginx, para eso abre el archivo nginx.conf:

sudo nano /etc/nginx/nginx.conf

Verifique que la directiva worker_processes también sea el número de procesadores, por defecto el valor también es el número de procesadores – 1.

Si está utilizando una máquina virtual y está aumentando la cantidad de procesadores, considere cambiar el valor de worker_processes.

Si realiza un cambio, reinicie el servicio nginx

sudo systemctl restart nginx

Vaya más allá con GLPI

Ahora está listo para configurar y usar GLPI.

Tiene varios tutoriales sobre GLPI disponibles en el sitio.