supertarto.glpi
Ansible GLPI
Un rôle Ansible pour installer et configurer GLPI. Vous devez avoir un serveur web, PHP et MariaDB sur votre serveur. Ce rôle est testé uniquement avec Apache.
Exigences
Les prérequis recommandés dans la documentation officielle de GLPI sont :
- Un serveur web (Apache, Nginx, IIS, etc.)
- MariaDB >= 10.0 ou MySQL >= 5.6
- PHP 7.2 ou supérieur
- Extensions PHP (obligatoires) :
- ctype
- curl
- gd (génération d'images)
- iconv
- intl
- json
- mbstring
- mysqli
- session
- simplexml
- zlib
- Extensions PHP (optionnelles) :
- exif (amélioration de la sécurité pour la validation des images)
- imap (collecte de mails et authentification des utilisateurs)
- ldap (authentification des utilisateurs)
- openssl (communication chiffrée)
- sodium (amélioration des performances pour le chiffrement/déchiffrement des données sensibles)
- zip et bz2 (installation des paquets zip et bz2 à partir du marketplace)
Vous pouvez utiliser supertarto.apache, supertarto.mariadb et supertarto.php pour les installer à l'avance avec Ansible.
Plateformes testées
- Debian 10 (Buster)
- Debian 11 (Bullseye)
- Debian 12 (Bookworm)
Variables de rôle
La version de GLPI et le nom du paquet.
glpi_version: 10.0.16
glpi_version_package: glpi-10.0.16.tgz
Définissez sur "true" si vous souhaitez effectuer l'installation finale automatiquement. Cela configure la base de données pour la première fois. Sinon, vous devrez le terminer avec votre navigateur web. Ne l'utilisez pas lorsque vous mettez à jour et que votre base de données est déjà configurée. La tâche échouera, car elle n'est pas conçue pour une mise à jour.
glpi_auto_install: false
Définissez glpi_update sur "true" si vous souhaitez forcer une réinstallation. L'URL utilise la version GLPI et le nom du paquet.
glpi_update: false
glpi_download_url: "https://github.com/glpi-project/glpi/releases/download/{{ glpi_version }}/{{ glpi_version_package }}"
Propriétaire web GLPI, groupe et chemin d'installation.
glpi_web_owner: "www-data"
glpi_web_group: "www-data"
glpi_install_path: /var/www
Informations sur la base de données GLPI.
glpi_db_host: "localhost"
glpi_db_port: "3306"
glpi_db_name: "glpi"
glpi_db_user: "glpi"
glpi_db_password: "changeit!"
Exemples
- hosts: all
roles:
- role: supertarto.apache
- role: supertarto.mariadb
- role: supertarto.php
- role: supertarto.glpi
vars:
php_packages:
- php8.2
- php8.2-gd
- php8.2-mysql
- php8.2-curl
- php8.2-imap
- php8.2-json
- php8.2-ldap
- php8.2-mbstring
- php8.2-xml
- php8.2-cli
- php8.2-xmlrpc
- php8.2-intl
- php-apcu
- php-cas
- php8.2-zip
- php8.2-bz2
glpi_db_host: "localhost"
glpi_db_port: "3306"
glpi_db_name: "glpi"
glpi_db_user: "glpi"
glpi_db_password: "changeit!"
apache_create_vhosts: true
apache_vhosts_filename: "glpi.conf"
apache_vhost_config:
- listen_ip: "*"
listen_port: 80
server_name: host1
documentroot: "/var/www/glpi"
serveradmin: admin@localhost
custom_param: |
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel warn
directory:
- path: "/var/www/glpi"
config: |
AllowOverride All
Order deny,allow
allow from all
mariadb_use_dump_script: false
mariadb_databases:
- name: "{{ glpi_db_name }}"
mariadb_users:
- name: "{{ glpi_db_user }}"
host: "{{ glpi_db_host }}"
password: "{{ glpi_db_password }}"
priv: "{{ glpi_db_name }}.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES"
Installation
ansible-galaxy role install supertarto.glpi
Licence
GPL V3.0
ansible-galaxy install supertarto.glpi