GLPI

Siehe auch

  • Netbox

Links

Installation

GLPI benötigt einen Apache HTTPd, PHP und eine Datenbank. Siehe https://glpi-install.readthedocs.io/en/latest/prerequisites.html.

# see https://github.com/glpi-project/glpi/releases/
VER=10.0.15
cd /var/www/html
wget https://github.com/glpi-project/glpi/releases/download/$VER/glpi-$VER.tgz
tar xzvf glpi-$VER.tgz

chown -R apache:apache /var/www/html/glpi
restorecon -Fvr /var/www/html/glpi
rm glpi-$VER.tgz

mkdir -p /opt/glpi/log

mv glpi/config /opt/glpi/
mv glpi/files /opt/glpi/


chown -R apache:apache /opt/glpi
restorecon -Fvr /opt/glpi

cat > /var/www/html/glpi/inc/downstream.php << 'EOF'
<?php
define('GLPI_CONFIG_DIR', '/opt/glpi/config/');

if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) {
   require_once GLPI_CONFIG_DIR . '/local_define.php';
}
EOF

cat > /opt/glpi/config/local_define.php << 'EOF'
<?php
define('GLPI_VAR_DIR', '/opt/glpi/files');
define('GLPI_LOG_DIR', '/opt/glpi/log');
EOF

# https://glpi-install.readthedocs.io/en/latest/timezones.html
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql --user=mariadb-admin --password mysql

# finish installation in the webgui. then:
rm /var/www/html/glpi/install/install.php

Network Discovery / Inventory mit dem GLPI Agent

Zur Nutzung von Network Discovery und Network Inventory wird der GLPI Agent benötigt. Die Discovery versucht über ARP, ICMP, NetBIOS und SNMP Geräte im Netzwerk zu finden, die dann anhand von Regeln abgearbeitet werden. GLPI bringt von Haus aus ca. 80 Regeln mit, die vom Benutzer unter „Administration > Rules > Rules for import and link equipments“ angepasst und erweitert werden können. Werden Geräte aufgrund der Regeln nicht importiert, werden diese unter „Administration > Inventory > Equipments refused by rules log“ (oben) angezeigt (https://glpi.example.com/front/refusedequipment.php). Der Network Inventory Task kann dann über SNMP weitere Informationen zu den gefundenen Geräten ermitteln und im GLPI eintragen.

Installation des GLPI Agents:

# see https://github.com/glpi-project/glpi-agent/releases
VER=1.9

dnf install https://github.com/glpi-project/glpi-agent/releases/download/$VER/glpi-agent-$VER-1.noarch.rpm
dnf install https://github.com/glpi-project/glpi-agent/releases/download/$VER/glpi-agent-task-network-$VER-1.noarch.rpm
systemctl enable --now glpi-agent.service
/etc/glpi-agent/conf.d/z00-linuxfabrik.cfg
server = https://glpi.example.com
local = /tmp
# ignore self-signed certificates of the server
# no-ssl-check = 1

Damit die Tasks direkt im GLPI-WebGUI verwaltet werden können, muss das GLPI Inventory Plugin installiert werden:

# see https://github.com/glpi-project/glpi-inventory-plugin/releases
VER=1.3.5

cd /var/www/html/glpi/plugins
wget https://github.com/glpi-project/glpi-inventory-plugin/releases/download/$VER/glpi-glpiinventory-$VER.tar.bz2
tar xjvf glpi-glpiinventory-$VER.tar.bz2
rm glpi-glpiinventory-$VER.tar.bz2

chown -R apache:apache /var/www/html/glpi
restorecon -Fvr /var/www/html/glpi

Jetzt das Plugin im WebGUI aktivieren (Setup > Plugins, https://glpi.example.com/front/plugin.php)und die Tasks anhand vom Guide (Administration > GLPI Inventory > Guide > SNMP inventory, https://glpi.example.com/plugins/glpiinventory/front/menu_snmpinventory.php) konfigurieren.

Um die Ausführung eines Tasks zu erzwingen, kann der Task unter „Administration > GLPI Inventory > Tasks > Task Management > Force Start“ gestartet werden. GLPI wartet anschliessend darauf, dass der Agent den Task ausführt. Um diesen manuell zu starten, muss man seine IP als „trusted“ markieren (httpd-trust = 192.0.2.10 in der /etc/glpi-agent/conf.d/z00-linuxfabrik.cfg) und dann unter http://glpi-agent.example.com:62354 „Force an Inventory“ anwählen.

Zuweisung von LDAP-Gruppen zu GLPI Berechtigungen („Profiles“)

Um Berechtigungen an LDAP-Gruppen zu vergeben, muss ein Mapping von der Gruppe auf die internen Berechtigungen von GLPI (sogenannte „Profiles“) eingerichtet werden. Diese werden unter „Administration > Rules > Authorization assignment rules“ erstellt und sehen in etwa so aus:

../_images/glpi-authorization-assignment-rule.png

Built on 2024-09-03