Pre-installation - Recommendations


Before installing a GLPI server, what should you consider?

It's important to determine several criteria before installing a GLPI server. Some of these may have an impact on the load on the server(s), others on the network load. The right questions to ask yourself before setting up your server are :

▶️ How many users will be able to connect at the same time? :symbo

▶️ Will there be automatic inventories?

  • If so, estimate the number of assets (computers, monitors, applications, etc.) that will be brought up.

▶️ Will a backup system be set up?

  • If so, estimate the resources required to launch backups.

▶️ Do potential IS security layers consume resources, or can they create latencies?

▶️ What system resources are available to you?

  • if hosting on-premise :

    • Rack availability

    • Which hardware to order

    • Budget constraints

  • Hosting with a provider (Cloud Offer available)

▶️ Are there any recovery constraints (implementation of clusters, load balancing, HA, etc.)?

▶️ Are there any short/medium/long-term business growth forecasts?

Depending on the answers, a simple or improved architecture could be considered.


What should you think about for a GLPI with heavy traffic?

The more traffic there is to/from your GLPI, the more resources you'll need.

If you assume a large number of users and/or assets to be inventoried, you should consider at least an enhanced archtecture :

For high-traffic architecture, we strongly suggest :

▶️ Separate web front-ends :

  • one for users

  • one for inventory

▶️ Evaluate APACHE resources correctly

  • 8-core CPU minimum per machine

  • Calibrate configuration for simultaneous task management (connections, worker, etc.)

▶️ Ensure sufficient bandwidth

▶️ Deport SQL layer to a dedicated server

▶️ Associate a second server for SQL replication (necessary for disaster recovery)

▶️ Associated resources for the SQL layer :

  • RAM: 16 or 32 GB

  • Coniguring 2 GB RAM to the InnoDB buffer pool

  • Remember to increase values for temporary table management

  • Disk: Nvme -> indispensable for fast database writes

▶️ WEB connection <-> SQL :

  • Sufficient bandwidth

  • Minimize latency between machines

  • If you're using a provider, we strongly encourage you to ensure that the machines are on the same physical site

▶️ Add an NFS share to share files between upstream WEB servers (sessions, attachments, XML inventories, etc...).


Cluster, Load-Balancing, High-Availability: can GLPI be integrated into this type of architecture?

Yes, this type of architecture is perfectly feasible with GLP. It's part of a high-availability, disaster recovery mode, in the event of the failure of one of the servers.

For example, you can :

  • add a reverse-proxy server upstream of the 2 WEB servers

  • add a 3rd WEB server and better distribute the load (manage fault tolerance)

  • replace simple MASTER / SLAVE replication with a database cluster, requiring at least 3 DB nodes


What flows does GLPI use?

Mandatory flows

From
To
Prot./Appli.
Port
Comment

User

GLPI

HTTP(S)

80 (443)

http(s) : //glpi/

GLPI

Databases

MySQL

3306

Another port can be configured

Optional Flows - LDAP/CAS connection

From
To
Prot./Appli.
Port
Comment

GLPI

LDAP directory

LDAP(S)

389 (636)

Synchronization and user authentication

Optional flows - MAIL connection

From
To
Prot./Appli.
Port
Comment

GLPI

Mail server

SMTP(S)

25 (465), 587

Send email notifications

GLPI

Mail server

IMAP(S)

143 (993)

Mail retrieval (receiver) > ticket creation

Optional flows - GLPI Inventory Basic module (inventory)

From
To
Prot./Appli.
Port
Comment

Agents

Server

HTTP(S)

80 (443)

http(s) : //glpi/plugins/fusioninventory/

GLPI

Agents

HTTP

62354

Remote agent wake-up (from GLPI)

Optional flows - GLPI Inventory Advanced modules

From
To
Prot./Appli.
Port
Comment

Agents

Equip.

SNMP

161,162

Network inventories

Agents

Equip.

NMAP

ICMP,DNS

Network discovery

Agents

VMWARE

HTTPS

443

VMWare inventory


More Ressources :

Last updated

Was this helpful?