# Pré-installation - Recommandations

***

### Avant d'installer un serveur GLPI, que devez-vous considérer ?

Il est important de déterminer plusieurs critères avant d'installer un serveur GLPI. Certains d'entre eux peuvent avoir un impact sur la charge du (des) serveur(s), d'autres sur la charge réseau. Les bonnes questions à se poser avant de configurer votre serveur sont :

:arrow\_forward: Combien d'utilisateurs pourront se connecter simultanément ?&#x20;

:arrow\_forward: Y aura-t-il des inventaires automatiques ?

* Si oui, estimez le nombre d'actifs (ordinateurs, écrans, applications, etc.) qui seront remontés.

:arrow\_forward: Un système de sauvegarde sera-t-il mis en place ?

* Si oui, estimez les ressources nécessaires pour lancer les sauvegardes.

:arrow\_forward: Les couches de sécurité informatique potentielles consomment-elles des ressources, ou peuvent-elles créer des latences ?

:arrow\_forward: Quelles ressources système sont disponibles pour vous ?

* si hébergement sur site :
  * Disponibilité en rack
  * Quel matériel commander
  * Contraintes budgétaires
* Hébergement avec un fournisseur ([Offre Cloud](https://glpi-network.cloud/) disponible)

:arrow\_forward: Y a-t-il des contraintes de reprise (mise en place de clusters, équilibrage de charge, HA, etc.) ?

:arrow\_forward: Y a-t-il des prévisions de croissance métier à court/moyen/long terme ?

Selon les réponses, une architecture simple ou améliorée pourrait être considérée.

***

### À quoi devez-vous penser pour un GLPI avec un trafic important ?

Plus il y a de trafic vers/depuis votre GLPI, plus vous aurez besoin de ressources.

Si vous supposez un grand nombre d'utilisateurs et/ou d'actifs à inventorier, vous devriez considérer au moins une architecture améliorée :

{% hint style="success" %}
**Type d'architecture améliorée**

<img src="https://3914205414-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVU1qbB9Oe25HAYDAQ4tR%2Fuploads%2Fgit-blob-a6293cd67ba1c65be41cd5d91801a2f61e1ba5b5%2Fimproved_architecture-1.png?alt=media" alt="" data-size="original">
{% endhint %}

Pour une architecture à fort trafic, nous suggérons fortement :

:arrow\_forward: Séparer les front-ends web :

* un pour les utilisateurs
* un pour l'inventaire

:arrow\_forward: Évaluer correctement les ressources APACHE

* CPU 8 cœurs minimum par machine
* Calibrer la configuration pour la gestion simultanée des tâches (connexions, worker, etc.)

:arrow\_forward: Assurer une bande passante suffisante

:arrow\_forward: Déporter la couche SQL vers un serveur dédié

:arrow\_forward: Associer un second serveur pour la réplication SQL (nécessaire pour la reprise après sinistre)

:arrow\_forward: Ressources associées pour la couche SQL :

* RAM : 16 ou 32 GB
* Configurer 2 GB RAM au pool de tampons InnoDB
* N'oubliez pas d'augmenter les valeurs pour la gestion des tables temporaires
* Disque : Nvme -> indispensable pour les écritures rapides en base de données

:arrow\_forward: Connexion WEB <-> SQL :

* Bande passante suffisante
* Minimiser la latence entre les machines
* Si vous utilisez un fournisseur, nous vous encourageons fortement à vous assurer que les machines sont sur le même site physique

:arrow\_forward: Ajouter un partage NFS pour partager **`files`** entre les serveurs WEB en amont (sessions, pièces jointes, inventaires XML, etc...).

{% hint style="success" %}
**Type d'architecture améliorée**

<img src="https://3914205414-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVU1qbB9Oe25HAYDAQ4tR%2Fuploads%2Fgit-blob-96f9299a5d1921412b23800caf6e06783a091bf9%2Fimproved_architecture-2.png?alt=media" alt="" data-size="original">
{% endhint %}

***

### Cluster, Équilibrage de charge, Haute disponibilité : GLPI peut-il être intégré dans ce type d'architecture ?

Oui, ce type d'architecture est parfaitement réalisable avec GLP. Cela fait partie d'un mode haute disponibilité, reprise après sinistre, en cas de défaillance de l'un des serveurs.

Par exemple, vous pouvez :

* ajouter un serveur reverse-proxy en amont des 2 serveurs WEB
* ajouter un 3ème serveur WEB et mieux distribuer la charge (gérer la tolérance aux pannes)
* remplacer la réplication simple `MASTER / SLAVE` par un cluster de base de données, nécessitant au moins 3 nœuds DB

***

### Quels sont les flux utilisés par GLPI ?

**Flux obligatoires**

| De          | Vers             | Prot./Appli. | Port     | Commentaire                       |
| ----------- | ---------------- | ------------ | -------- | --------------------------------- |
| Utilisateur | GLPI             | HTTP(S)      | 80 (443) | http(s) : //glpi/                 |
| GLPI        | Bases de données | MySQL        | 3306     | Un autre port peut être configuré |

**Flux optionnels - Connexion LDAP/CAS**

| De   | Vers            | Prot./Appli. | Port      | Commentaire                                          |
| ---- | --------------- | ------------ | --------- | ---------------------------------------------------- |
| GLPI | Répertoire LDAP | LDAP(S)      | 389 (636) | Synchronisation et authentification des utilisateurs |

**Flux optionnels - Connexion MAIL**

| De   | Vers         | Prot./Appli. | Port          | Commentaire                                             |
| ---- | ------------ | ------------ | ------------- | ------------------------------------------------------- |
| GLPI | Serveur mail | SMTP(S)      | 25 (465), 587 | Envoyer les notifications par email                     |
| GLPI | Serveur mail | IMAP(S)      | 143 (993)     | Récupération des mails (récepteur) > création de ticket |

**Flux optionnels - Module de base GLPI Inventory (inventaire)**

| De     | Vers    | Prot./Appli. | Port     | Commentaire                               |
| ------ | ------- | ------------ | -------- | ----------------------------------------- |
| Agents | Serveur | HTTP(S)      | 80 (443) | http(s) : //glpi/plugins/fusioninventory/ |
| GLPI   | Agents  | HTTP         | 62354    | Réveil d'agent distant (depuis GLPI)      |

**Flux optionnels - Modules avancés GLPI Inventory**

| De     | Vers   | Prot./Appli. | Port     | Commentaire        |
| ------ | ------ | ------------ | -------- | ------------------ |
| Agents | Équip. | SNMP         | 161,162  | Inventaires réseau |
| Agents | Équip. | NMAP         | ICMP,DNS | Découverte réseau  |
| Agents | VMWARE | HTTPS        | 443      | Inventaire VMWare  |

***

### Où trouver le schéma de la base de données de GLPI ?&#x20;

&#x20;Vous trouverez via l'URL ci-dessous, les schémas des bases de données pour GLPI 10 et GLPI 11.

{% embed url="<https://dbdocs.glpi-project.org/>" %}

***

### Plus de ressources :

* [Apache](https://httpd.apache.org/)
* [Nginx](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/)
* [PHP](https://www.php.net/docs.php)
* [MariaDB](https://mariadb.com/kb/en/)
* [MySQL](https://dev.mysql.com/doc/)
