Skip to content

Installation / Update#

Make a backup

Before any manipulation on your database or on your GLPI instance, we strongly advise you to make a backup of your database as well as of the GLPI folder.

What is GLPI?

GLPI is an open source ITSM tool that can be used in a variety of operational systems, since it is a web application running on a web server with a PHP compiler and a MySQL database.

GLPI is executed in a three thier architecture which consists in a presentation tier, an application tier and a data tier.

1. Presentation tier#

It is the layer which is in charge of displaying the information to and interacting with the user. The GLPI application generates HTML codes, so for these codes to make sense to the user, we need a web server to “translate” it to them.

Some of the most known web servers are Apache and NGINX, for example.

2. Application tier#

This is the business layer of the application. It is responsible for processing operations that GLPI performs on the data according to user requests.

For GLPI this logic is coded in PHP

3. Data tier#

The data tier is the one that deals with acces and storage of data. On GLPI this tier is managed by a System of Data Base Management based on MySQL or its fork MariaDB. You will find the complete list of prerequisites to install and use GLPI can be found here

Can I install GLPI frontend on a server and the database on another?

Yes, you can. And should in the case of complex and bigger environments. In this blog post, we are working with a simple architecture. But you can create scenarios that fit to bigger companies with or without microservices, separated databases, master and slave databases, NFS sharing for files. The possibilities are enormous, and we could discuss in future posts.

I have problems accessing GLPI after an update, how can I fix it?

After an update, cached data attempts to be used but is out of date. The recommended method to remedy the problem is to empty the contents of the cache in the files folder rm -rf ../files/_cache/* !!! Warning "Caution This folder may be in a different location depending on your configuration. You can consult the ../inc/downstream.php file to find out the exact path if your installation has been customised.

Why do I get a message on my home page informing me that The configuration of the web server root folder is not secure because it allows access to non-public files. Please refer to the installation documentation for more details?

In order to secure your instance and prevent the exposure of non-public files, your vhost must be modified (this applies particularly to instances that are exposed on the Internet). You can follow the official documentation to set up this configuration available here

Can I install GLPI 10 with PHP 7.4?

PHP 7.4 is currently no longer supported. You can check PHP support via this link

How do I know if my GLPI version is up to date?

In the user options, (top right), a field about is available. If you click on this field, a message will alert you if you have any overdue updates

Alt text

You can also go to setup > general > system. click on check if a new version is available. A message at the bottom right will tell you if a new version is available

Alt text

How do I correct errors when updating GLPI ?

If you encounter errors during the prcess of updates, several commands are possible in order to guide you. These commands should be entered in the GLPI folder:

  • php bin/console database:check_schema_integrity: display inconsistencies found in the database
  • php bin/console database:check_schema_integrity -p formcreator: displays inconsistencies in the database linked to Formcreator
  • php bin/console system:check_requirements: check the system requirements requested by GLPI.
  • php bin/console migration:migrate_all: useful for migrating from 9.5 to 10. Allows you to migrate (convert "datetime" fields to "timestamp" for use in time zones, migrate main/foreign keys to unsigned integers, convert the database character set from "utf8" to "utf8mb4").
  • php bin/console system:list_services: list system services
  • php bin/console system:status: list system status

If you need more information, please refer to the official documentation

Which Web servers are compatible?

To install GLPI, we recommend using :

  • Apache
  • Nginx
  • Lighttpd
  • IIS
Where can I download the latest version of GLPI ?

To make sure you have the right version of GLPI, you can download it from Github

How do I move the files folder from the GLPI folder ?

You need to create a downstream.php file in the inc folder. Depending on the desired configuration, you can relocate several GLPI folders. In this example, the configuration folder will be located in /var/www/glpi_config and the files folder in /var/www/glpi_files.

define('GLPI_CONFIG_DIR', '/var/www/glpi_config');
define('GLPI_VAR_DIR', '/var/www/glpi_files');

This allows you to segment each folder in the files folder (_log, _pictures, _lock, etc.). Pay particular attention to the permissions of these folders, which must be read/write accessible by the web service user.

More information here

How do I obtain the list of commands available in CLI?

From the root of the GLPI folder, enter php bin/console, this command will display all the commands available in CLI.

Why is some information encrypted after a server migration?

GLPI includes an encryption system via the glpicrypt.key. If this key is not migrated with the rest of the data, some of your data may no longer be readable. You just need to migrate the glpicrypt.key to the config folder to get back to normal use of your GLPI.

Why is the data for certain plugins no longer present after a server migration?

When you migrate a GLPI instance from one server to another, you must also migrate the plugin and/or marketplace folder so that all plugin data is also transferred.

Why do I get a message telling me that the PHP session.cookie_httponly directive should be set to on to prevent access to cookies from client-side scripts?

This directive denies access to the session cookie from JavaScript and prevents cookies retrieved by a JavaScript injection. It can be defined in /etc/php/8.X/apache/php.ini(1)

  1. 🙋‍♀️ to be adapted to your configuration.
Why can't I access GLPI after enabling the PHP session.cookie_secure directive?

This directive authorises access to the cookie only when the HTTPS protocol is enabled. If you are using HTTP, we recommend that you disable this option or switch your instance to HTTPS in order to regain access to your instance.