Skip to content
Follow
CMS Ubuntu Linux

How to Setup GLPI with Nginx on Ubuntu Linux

Richard
Written by
Richard
Apr 3, 2020 Updated Sep 15, 2026 6 min read
How to Enable or Disable Microsoft Defender Cloud Protection
How to Enable or Disable Microsoft Defender Cloud Protection

GLPI is a free help desk and IT asset tracking system that lets you log support tickets, track computers, and manage software inventory from one place on Ubuntu Linux. Running GLPI with the Nginx web server requires Ubuntu version 18.04 or newer, a working database, and PHP 7.2-FPM to process requests properly.

Advertisement
⚡ Quick Answer

Install Nginx using `sudo apt install nginx`, MariaDB using `sudo apt install mariadb-server`, and PHP 7.2-FPM with necessary modules from a PPA. Configure PHP settings in `php.ini` and create a database for GLPI.

Advertisement

Install Nginx HTTP

Nginx HTTP is the web server that makes your GLPI application available online. You can install Nginx on your Ubuntu server by opening your terminal and running the package list update command followed by the Nginx installation command.

To install Nginx HTTP on the Ubuntu server, run the commands below.

sudo apt update
sudo apt install nginx

After installing Nginx, the commands below can be used to stop, start, and enable the Nginx service to always start up with the server boots.

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

To determine if the Nginx HTTP server is installed, simply open your web browser and type in the server’s IP or hostname.

Nginx is installed and working when you see a page like the one below.

Advertisement
http://localhost
nginx default home page test
nginx default page

Install MariaDB Database Server

MariaDB database server stores all the information for your GLPI installation. You can install both the MariaDB server and client packages on your Ubuntu system by running a single command in your terminal.

To install MariaDB, run the commands below.

sudo apt install mariadb-server mariadb-client

After installing MariaDB, the commands below can stop, start, and enable the service to start when the server boots.

Run these on Ubuntu

Advertisement
sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
⚠️WarningAfter that, run the commands below to secure the MariaDB server by creating a root password and disallowing remote root access.
sudo mysql_secure_installation

When prompted, answer the questions below by following the guide.

  • Enter current password for root (enter for none): Just press the Enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]:  Y
  • Reload privilege tables now? [Y/n]:  Y

Restart MariaDB server

To test if MariaDB is installed, type the commands below to log on to the MariaDB server.

Advertisement
sudo mysql -u root -p

Then, type the password you created above to sign on. If successful, you should see a MariaDB welcome message.

PHP 7.2-FPM and its related modules are required for GLPI to run correctly on your server. You can install this specific version of PHP on Ubuntu by adding the required third-party software repository and updating your package list.

Run the commands below to add the below third party repository to upgrade to PHP 7.2-FPM

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Then update and upgrade to PHP 7.2

Advertisement
sudo apt update

Next, run the commands below to install PHP 7.2-FPM and related modules.

sudo apt install php7.2-fpm php7.2-common php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-imap php7.2-ldap php-cas php7.2-bcmath php7.2-xml php7.2-cli php7.2-zip php7.2-sqlite3

After installing PHP 7.2-FPM, run the commands below to open Nginx's PHP default config file.

sudo nano /etc/php/7.2/fpm/php.ini

Then, save the changes on the following lines below in the file. The value below is an ideal setting to apply in your environment.

file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 256M
cgi.fix_pathinfo = 0
upload_max_filesize = 100M
max_execution_time = 360
max_input_vars = 1500
date.timezone = America/Chicago

After making the change above, please save the file and close it.

Advertisement

Create GLPI Database

Creating a dedicated database inside MariaDB gives GLPI a place to store its data. You can set up this database and a connected user account by logging into the MariaDB command line using your root password and running the setup commands.

To do that, run the commands below to log on to MariaDB. When prompted for a password, type the root password you created above.

sudo mysql -u root -p

Then, create a database called glpi

CREATE DATABASE glpi;

Create a database user called glpiuser with a new password

Advertisement
CREATE USER 'glpiuser'@'localhost' IDENTIFIED BY 'new_password_here';

Next, grant the user full access to the glpiuser database.

GRANT ALL ON glpi.* TO 'glpiuser'@'localhost' WITH GRANT OPTION;

Finally, save your changes and exit.

FLUSH PRIVILEGES;
EXIT;

Download GLPI's Latest Release

Downloading the latest release of GLPI directly from the official GitHub page gives you the newest features and bug fixes. You can use command-line tools like wget to download the compressed archive file into a temporary folder on your server.

You can use the commands below to download the current latest version. At the time of this writing, the current version is at 9.4.5.

cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/9.4.5/glpi-9.4.5.tgz
tar -xvf glpi-9.4.5.tgz
sudo mv glpi /var/www/glpi
⚠️WarningSince you just ran the web server as root, you should ensure the www-data user and group own any newly created files.

To do that, run the commands below:

sudo chown -R www-data:www-data /var/www/glpi/
sudo chmod -R 755 /var/www/glpi/

Configure Nginx

Configuring Nginx allows your web browser to access the GLPI application. You can set this up by creating a new Nginx configuration file in the sites-available folder and adding your server settings and domain name.

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

Then copy and paste the content below into the file and save it. Replace the highlighted line with your domain name and directory root location.

server {
    listen 80;
    listen [::]:80;

    server_name  example.com www.example.com;
    root   /var/www/glpi;
    index  index.php;
    
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    client_max_body_size 100M;
  
    autoindex off;

    location / {
    try_files $uri $uri/ index.php;;
      }

    location ~ .php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
         include fastcgi_params;
         fastcgi_intercept_errors on;
    }
}

Save the file and exit.

Enable the GLPI

After configuring the VirtualHost above, please enable it by running the commands below.

sudo ln -s /etc/nginx/sites-available/glpi /etc/nginx/sites-enabled/
sudo systemctl restart nginx.service

Then open your browser and browse to the server domain name or hostname. This is often localhost but can be a hostname or IP address. Your server admin or hosting company will have this information available.

http://example.com/
GLPI Ubuntu Install
glpi ubuntu install

Select the language and continue.

GLPI Ubuntu Install
glpi ubuntu install 1

After that, click Install to begin the installation.

GLPI Ubuntu Install
glpi ubuntu install 2

Next, type in the server hostname, database user, and password.

GLPI Ubuntu Install
glpi ubuntu install 3

Select the database you created earlier and continue

GLPI Ubuntu Install
glpi ubuntu install 4

After a brief moment, the platform should be installed and ready to use.

Login and begin managing your platform.

Admin Username:  pi   Password:  glpi

GLPI Ubuntu Install
glpi ubuntu install 5

Finally, run the commands below to delete the install directory.

sudo rm -rf /var/www/glpi/install/

Conclusion:

You have learned how to install the GLPI ITSM platform on Ubuntu with the Nginx HTTP server. If you find any errors above, please leave a comment below.

Thanks,

You may also like the post below:

How to install GLPI agent in Ubuntu?

So the system can update the latest package. List. Next install the required packages so the GLPI agent can install and run properly on the system.

How to update GLPI on Ubuntu?

Open the GLPI installation's URL in your browser or use the php bin/console db:update command line tool from inside the GLPI installation's directory to initiate the update. This process may take some time.

Was this guide helpful?

Was this helpful?
Richard

About the Author

Richard

Tech Writer, IT Professional

Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.

Advertisement

📚 Related Tutorials

How to Allow Remote Access to MariaDB in Ubuntu Linux
Ubuntu Linux How to Allow Remote Access to MariaDB in Ubuntu Linux
How to Install PHP Composer on Ubuntu Linux
Ubuntu Linux How to Install PHP Composer on Ubuntu Linux
How to Enable Nginx Userdir on Ubuntu 24.04 Easily
Ubuntu Linux How to Enable Nginx Userdir on Ubuntu 24.04 Easily
How to Uninstall Software in Ubuntu Linux
Ubuntu Linux How to Uninstall Software in Ubuntu Linux

0 Comments

  • Thank you so much! In this ngix module, an extra “;”
    location / {
    try_files $ uri $ uri / index.php ;;
    }

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *