Linux MintUbuntu Based

How To Install GLPI on Linux Mint 22

Install GLPI on Linux Mint 22

Managing IT infrastructure without a proper system in place quickly turns into a nightmare. Tickets get lost, hardware assets go untracked, and support teams waste hours chasing down information that should be at their fingertips. GLPI solves all of that — for free. This guide walks you through exactly how to install GLPI on Linux Mint 22, from setting up the server environment all the way to your first login. Every command is tested, every step is explained, and by the end, you will have a fully functional ITSM platform ready for real-world use.

What Is GLPI?

GLPI stands for Gestionnaire Libre de Parc Informatique, which translates loosely to Free IT Asset Management. It is an open-source web application written in PHP and released under the GNU General Public License, making it completely free to deploy, modify, and distribute.

At its core, GLPI is a full-featured IT Service Management (ITSM) platform. It handles hardware and software inventory, helpdesk ticketing, license tracking, user management, and much more. Need to know how many laptops are deployed across your organization? GLPI tracks them. A user submits a support request? GLPI logs it, assigns it to a technician, and tracks resolution time. The platform is ITIL-compatible, supports LDAP and Active Directory integration, and extends its functionality through a rich plugin ecosystem including FusionInventory and OCS Inventory for automated asset discovery. As of late 2025, GLPI 11 is the latest major stable release, introducing custom asset types, integrated forms, and significant performance improvements.

Why Linux Mint 22 Is a Great Choice

Linux Mint 22 is built on Ubuntu 24.04 LTS, which means it inherits the same long-term support, security update cycles, and rock-solid package stability. For hosting server applications like GLPI, this matters enormously. You want a base OS that will receive security patches for years — not one that requires a full upgrade every six months.

Because Linux Mint 22 is Debian-based, its APT package manager makes installing Apache, PHP, and MariaDB straightforward. The commands are clean, dependencies resolve automatically, and the community support for Ubuntu/Debian-compatible setups is vast. Both Linux Mint and GLPI are entirely free, which makes this combination one of the most cost-effective IT management stacks available to small businesses, schools, and enterprises alike.

Prerequisites Before You Begin

Before running a single command, verify that your setup meets GLPI’s requirements. Jumping ahead without this check is a common source of frustration.

System requirements:

  • A physical machine or virtual machine running Linux Mint 22
  • Minimum 2 GB RAM (4 GB recommended for production environments)
  • At least 10 GB of free disk space
  • A stable internet connection
  • sudo or root access

Software stack requirements per official GLPI documentation:

  • Web server: Apache 2.4+ (this guide uses Apache)
  • PHP: version 8.1 or 8.3 recommended for GLPI 10.x/11.x
  • Database: MariaDB 10.2+ or MySQL 5.7+

Mandatory PHP extensions:

  • curl, gd, intl, mysqli, mbstring, xml, json, session, zlib, ldap, imap

Optional but recommended PHP extensions:

  • bz2, zip, exif, openssl, Zend OPcache

Take a snapshot of your system before starting if you are working inside a virtual machine. It takes two minutes and saves hours of recovery work if something goes wrong.

Step 1: Update and Prepare Your System

Start with a clean, fully updated system. This eliminates version conflicts and ensures that every package you install pulls the latest dependencies.

Open a terminal and run:

sudo apt update && sudo apt upgrade -y

Once complete, install a few essential utilities that the rest of this process depends on:

sudo apt install wget curl tar -y

If a kernel update was applied, reboot before continuing:

sudo reboot

Skipping the system update is one of the most common reasons package installations fail silently. It takes a few minutes. Do it.

Step 2: Install the Apache Web Server

Apache is the web server that will serve GLPI’s interface to users on your network. Install it with:

sudo apt install apache2 -y

Enable Apache to start automatically on boot, then start it immediately:

sudo systemctl enable apache2
sudo systemctl start apache2

Verify that it is running:

sudo systemctl status apache2

You should see active (running) in green. To confirm through a browser, navigate to http://localhost — the Apache default page should appear. Now enable the mod_rewrite module, which GLPI requires for clean URL routing:

sudo a2enmod rewrite
sudo systemctl restart apache2

Step 3: Install PHP and Required Extensions

GLPI is a PHP application, and it requires several specific PHP extensions to function. Missing even one mandatory extension will cause the GLPI installer to throw an error. Install everything in one command:

sudo apt install php php-curl php-gd php-json php-xml php-mbstring \
php-ldap php-mysql php-imap php-intl php-zip php-bz2 php-opcache -y

Verify the PHP version installed:

php -v

Here is a quick breakdown of what the key extensions do and why GLPI needs them:

  • php-curl — Handles outbound HTTP requests, including marketplace access and GLPI agent communication
  • php-gd — Processes and renders images within the GLPI interface
  • php-intl — Powers internationalization, enabling multilingual support across 45+ languages
  • php-mysql (mysqli) — Connects GLPI to your MariaDB or MySQL database
  • php-ldap — Enables Active Directory and LDAP-based authentication for centralized user login
  • php-imap — Allows GLPI to collect support tickets submitted via email
  • php-opcache — Caches compiled PHP bytecode to significantly improve page load performance

Restart Apache to load the new PHP modules:

sudo systemctl restart apache2

Step 4: Install MariaDB and Create the GLPI Database

GLPI stores everything — assets, tickets, users, configurations — in a relational database. MariaDB is the recommended choice for this setup.

Install MariaDB:

sudo apt install mariadb-server -y

Enable and start the service:

sudo systemctl enable mariadb
sudo systemctl start mariadb

Run the security hardening script to remove anonymous users, disable remote root login, and tighten the default configuration:

sudo mysql_secure_installation

Follow the prompts carefully. When asked whether to set a root password, say yes and use a strong password. Now log in to the MariaDB shell:

sudo mysql -u root -p

Create a dedicated database and user for GLPI. Never use the root account for application databases — create a scoped user instead:

CREATE DATABASE glpi_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'glpi_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON glpi_db.* TO 'glpi_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Write down the database name, username, and password. You will need them in the web installer shortly.

Step 5: Download the GLPI Package

Always download GLPI from the official GitHub releases page. Avoid third-party mirrors — you have no way to verify the integrity of files from unknown sources.

Navigate to the /tmp directory and download the latest stable release:

cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.23/glpi-10.0.23.tgz

Or use curl if you prefer:

curl -LO https://github.com/glpi-project/glpi/releases/download/10.0.23/glpi-10.0.23.tgz

Confirm the file downloaded successfully:

ls -lh /tmp/glpi*.tgz

You should see the archive listed with a file size of approximately 60–70 MB. At the time of writing, both GLPI 10.0.23 and GLPI 11.0.5 are current stable releases. This guide uses GLPI 10.0.x, which remains fully supported during the 11.x transition period.

Step 6: Extract GLPI and Set File Permissions

Extract the archive directly into Apache’s web root directory:

sudo tar -xvf /tmp/glpi-10.0.23.tgz -C /var/www/html/

This creates a /var/www/html/glpi directory containing the full application. Now assign ownership of the GLPI directory to the Apache web server user (www-data):

sudo chown -R www-data:www-data /var/www/html/glpi

Set appropriate directory permissions:

sudo chmod -R 755 /var/www/html/glpi

Incorrect permissions are one of the single most common causes of GLPI installation failures. Apache needs write access to the config, files, and log directories both during installation and at runtime. If you see permission errors during the web setup wizard, come back to this step first.

Step 7: Configure the Apache Virtual Host

A virtual host configuration tells Apache exactly where to find and serve the GLPI application. Create a new configuration file:

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

Add the following configuration. Note that for GLPI 10.0.7 and later, the DocumentRoot must point to the /public subdirectory — not the GLPI root folder.

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

    <Directory /var/www/html/glpi/public>
        Require all granted
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php [QSA,L]
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/glpi_error.log
    CustomLog ${APACHE_LOG_DIR}/glpi_access.log combined
</VirtualHost>

Save the file, then enable the GLPI site and disable the Apache default site:

sudo a2ensite glpi.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

Replace glpi.yourdomain.com with your actual domain or local hostname. If you are testing locally and have no domain, you can temporarily use your machine’s IP address in the ServerName directive.

Step 8: Complete the Web-Based Installation

Open a browser and navigate to http://your-server-ip or http://glpi.yourdomain.com. The GLPI installation wizard will load automatically.

Work through the wizard in order:

  1. Language selection — Choose your preferred language from the dropdown list
  2. License agreement — Read and accept the GNU GPL license to continue
  3. Installation type — Select “Install” (not “Upgrade”)
  4. System compatibility check — GLPI scans for required PHP extensions; every item must show a green checkmark. If anything fails, install the missing extension and refresh the page
  5. Database configuration — Enter localhost as the host, glpi_db as the database name, glpi_user as the username, and your chosen password
  6. Database initialization — GLPI creates its full table structure automatically; this takes 10–30 seconds
  7. Installation complete — The wizard displays the default credentials

Install GLPI on Linux Mint 22

Default login credentials after installation:

  • Administrator: glpi / glpi
  • Technician: tech / tech
  • Post-only user: post-only / postonly

Change every single one of these passwords immediately after your first login. Leaving default credentials active on a networked GLPI instance is a serious security risk.

Step 9: Post-Installation Security Hardening

The installation wizard created a file called install.php that must be removed after setup. Leaving it in place allows anyone with server access to trigger a reinstallation and wipe your data:

sudo rm /var/www/html/glpi/install/install.php

Harden PHP session security by editing the PHP configuration file:

sudo nano /etc/php/8.x/apache2/php.ini

Locate and update these directives:

session.cookie_httponly = On
session.cookie_secure = On
session.cookie_samesite = Lax

Save the file and restart Apache:

sudo systemctl restart apache2

Enable the UFW firewall on Linux Mint to protect exposed ports:

sudo ufw allow 80/tcp
sudo ufw allow 22/tcp
sudo ufw enable

For production deployments, strongly consider adding HTTPS via Let’s Encrypt. Running GLPI over plain HTTP exposes login credentials in transit. Tools like certbot make SSL certificate installation straightforward on Apache-based setups.

Troubleshooting Common GLPI Installation Issues

Even with careful execution, things sometimes go sideways. Here are the most frequently encountered problems and their fixes.

PHP extension errors on the installer screen — This means one or more mandatory extensions are missing. Run sudo apt install php-[extension-name] -y for each failing item, then restart Apache and refresh the installer page.

“403 Forbidden” error in the browser — Almost always caused by the wrong DocumentRoot path in the Apache virtual host file. For GLPI 10.0.7+, the path must end in /public. Double-check your glpi.conf file.

Database connection error — Verify that MariaDB is running with sudo systemctl status mariadb. Then confirm your database credentials by logging in manually: sudo mysql -u glpi_user -p glpi_db. Typos in the username or password are the number one cause here.

“500 Internal Server Error” — Nine times out of ten, this is a file permissions problem. Re-run sudo chown -R www-data:www-data /var/www/html/glpi and sudo chmod -R 755 /var/www/html/glpi, then reload Apache.

Rewrite rules not applying — Confirms that mod_rewrite is not enabled. Fix it with sudo a2enmod rewrite && sudo systemctl restart apache2.

When in doubt, check the Apache error log. It almost always points directly at the root cause:

sudo tail -f /var/log/apache2/glpi_error.log

Congratulations! You have successfully installed GLPI. Thanks for using this tutorial for installing GLPI on Linux Mint 22 system. For additional help or useful information, we recommend you check the official GLPI website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button