How to Install GLPI 11 on Linux (Debian/Ubuntu): Step by Step

Complete tutorial for installing GLPI 11 on Debian 12 or Ubuntu 24.04 with Apache, PHP 8.3 and MariaDB. From server preparation to first login.

Installing GLPI 11 on Linux is the traditional path for production environments with full control over the infrastructure. This tutorial covers the complete installation on Debian 12 or Ubuntu 24.04.

Prerequisites

  • Debian 12 or Ubuntu 24.04 LTS server (minimum 2 GB RAM, 20 GB disk)
  • Root or sudo access
  • Domain pointing to the server IP

1. Update the system

apt update && apt upgrade -y

2. Install Apache, PHP and extensions

GLPI 11 requires PHP 8.1 or higher. On Debian 12, PHP 8.2 is the default:

apt install -y apache2 php php-{mysql,curl,gd,intl,xml,mbstring,zip,bz2,ldap,imap,apcu,xmlrpc,cas} \
  libapache2-mod-php

Configure PHP

Edit /etc/php/8.2/apache2/php.ini:

memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 20M
max_execution_time = 600
session.cookie_httponly = On

3. Install MariaDB

apt install -y mariadb-server
mysql_secure_installation

Create database and user

mysql -u root -p
CREATE DATABASE glpi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'glpi'@'localhost' IDENTIFIED BY 'SuaSenhaForte';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi'@'localhost';
FLUSH PRIVILEGES;
EXIT;

4. Download and install GLPI 11

cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/11.0.0/glpi-11.0.0.tgz
tar -xzf glpi-11.0.0.tgz -C /var/www/
chown -R www-data:www-data /var/www/glpi

5. Configure Apache

Create the VirtualHost at /etc/apache2/sites-available/glpi.conf:

<VirtualHost *:80>
    ServerName glpi.suaempresa.com
    DocumentRoot /var/www/glpi/public

    <Directory /var/www/glpi/public>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/glpi_error.log
    CustomLog ${APACHE_LOG_DIR}/glpi_access.log combined
</VirtualHost>
a2ensite glpi.conf
a2enmod rewrite
a2dissite 000-default.conf
systemctl restart apache2

Important: the DocumentRoot points to /var/www/glpi/public, not to /var/www/glpi. This is mandatory in GLPI 10+ for security reasons.

6. Configure data directories

For security, move sensitive data outside the webroot:

mkdir -p /var/lib/glpi /var/log/glpi /etc/glpi
mv /var/www/glpi/config/* /etc/glpi/
mv /var/www/glpi/files/* /var/lib/glpi/
chown -R www-data:www-data /var/lib/glpi /var/log/glpi /etc/glpi

7. Install via CLI

php /var/www/glpi/bin/console db:install \
  --db-host=localhost \
  --db-name=glpi \
  --db-user=glpi \
  --db-password=SuaSenhaForte \
  --default-language=pt_BR \
  --no-interaction

8. Configure SSL with Let's Encrypt

apt install -y certbot python3-certbot-apache
certbot --apache -d glpi.suaempresa.com

9. Configure the cron

GLPI needs a cron to process automatic actions, notifications and inventory collection:

echo "*/2 * * * * www-data php /var/www/glpi/front/cron.php" > /etc/cron.d/glpi

10. Post-installation

  • Access https://glpi.suaempresa.com and log in with glpi / glpi
  • Change all default passwords (glpi, tech, normal, post-only)
  • Remove the installation file: rm /var/www/glpi/install/install.php
  • Configure SMTP at Configuration > Notifications > Email configuration

Next step

With GLPI installed, configure entities and locations, define your SLAs and explore the 50 best plugins to expand the features.

Frequently Asked Questions

Debian 12 (Bookworm) or Ubuntu 24.04 LTS are the most stable options. AlmaLinux 9 and Rocky Linux 9 are also supported.

Yes, but it is not recommended for production. GLPI runs on Apache/Nginx + PHP + MariaDB, a native Linux stack. On Windows, use WSL2 or Docker Desktop.

For small environments (up to 50 users), 2 GB of RAM is sufficient. For larger operations, 4 GB+ is recommended with PHP-FPM and OPcache enabled.

In production, yes. Use Let's Encrypt (Certbot) to obtain free certificates. Without SSL, credentials travel in plain text over the network.

Need help?