So installierst du GLPI IT Inventory Management auf Debian 12
GLPI ist eine in PHP geschriebene Open-Source-Lösung für das IT-Asset- und Helpdesk-Management. Es ist eine komplette IT-Management-Software für dein Unternehmen. Mit GLPI kannst du Vorfälle/Anfragen verwalten, Formulare erstellen und SLAs definieren. Es hilft dir auch bei der Verwaltung deiner Hardware-, Software- und Rechenzentrumslösung, die es dir ermöglicht, das Anlageninventar zu verknüpfen und die Kontrolle über deine IT- und Unternehmensinfrastruktur zu erhalten.
Darüber hinaus kann GLPI auch als Finanzmanagement genutzt werden, um deine Ausgaben, Verträge und Lieferanten zu verfolgen, neue Inventarobjekte zu erstellen, Benutzerdatenbanken zu verwalten und Berichte zu erstellen. Darüber hinaus bietet GLPI Projektmanagement für die Zuweisung von Aufgaben, das Hinzufügen von Mitarbeitern, das Einrichten von Zeitplänen und Erinnerungen sowie eine Kanban-Tafel für ein einfacheres Aufgabenmanagement.
In dieser Anleitung zeige ich dir, wie du die IT-Management-Software GLPI auf einem Debian 12-Rechner installierst. Du wirst GLPI zusammen mit dem LAMP-Stack (Apache2, MariaDB und PHP) installieren. Außerdem wirst du GLPI mit SSL/TLS-Zertifikaten von Letsencrypt absichern.
Voraussetzungen
Um loszulegen, musst du sicherstellen, dass du Folgendes hast
- Einen Debian 12 Server.
- Einen Nicht-Root-Benutzer mit sudo-Administrator-Rechten.
- Einen Domainnamen, der auf die IP-Adresse des Servers zeigt.
Installieren der Abhängigkeiten
GLPI ist eine Open-Source-IT-Management-Software, die in PHP mit MySQL/MariaDB als Datenbank geschrieben wurde. Sie kann mit dem Apache2 oder Nginx Webserver betrieben werden. In dieser Anleitung installierst du GLPI mit dem LAMP-Stack (Apache2, MariaDB und PHP), führst die folgenden Schritte zur Installation des LAMP-Stacks durch und erfährst einige zusätzliche Abhängigkeiten für deine GLPI-Installation.
Aktualisiere zunächst deinen Debian-Paketindex, indem du den Befehl apt update ausführst.
sudo apt update
Sobald das Repository aktualisiert ist, gibst du den folgenden Befehl ein, um die Paketabhängigkeiten für die GLPI-Installation zu installieren, einschließlich der LAMP-Stack-Pakete (Apache2, MariaDB und PHP) und einiger zusätzlicher PHP-Erweiterungen.
sudo apt install apache2 mariadb-server php php-common php-mysql libapache2-mod-php php-gd php-curl php-json php-xmlrpc php-intl php-bcmath php-zip php-apcu php-mbstring php-fileinfo php-xml php-soap php-zip
Bestätige mit y und fahre mit der Installation fort.
Nachdem die Abhängigkeiten installiert sind, überprüfe alle Abhängigkeiten, indem du den folgenden Befehl ausführst.
Überprüfe den apache2-Dienst, um sicherzustellen, dass der Dienst läuft und aktiviert ist.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Die Ausgabe enabled bestätigt, dass der Apache2-Dienst aktiviert ist. Die Ausgabe active (running) bestätigt, dass Apache2 ausgeführt wird.
Überprüfe den Dienst mariadb mit dem unten stehenden Befehl.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Die Ausgabe sollte in etwa so aussehen wie die folgende:
Überprüfe schließlich die PHP-Version und die Liste der aktivierten Erweiterungen mit dem unten stehenden Befehl.
php -v php -m
Du solltest sehen, dass PHP 8.2 installiert ist und einige Erweiterungen wie fileinfo, gd, intl, mysqli und zlib aktiviert sind.
MariaDB Server konfigurieren
Nach der Installation der LAMP-Stack-Pakete konfigurierst du als Nächstes deinen MariaDB-Server, indem du ihn mit dem Dienstprogramm mariadb-secure-installation sicherst. Außerdem erstellst du eine neue MariaDB-Datenbank und einen neuen Benutzer, den GLPI verwenden wird.
Führe das Dienstprogramm mariadb-secure-installation in deinem Terminal aus, um die Installation deines MariaDB-Servers zu sichern.
sudo mariadb-secure-installation
Gib Y ein, um die Konfiguration auf deinen MariaDB-Server anzuwenden, oder n für No, um die Änderungen zu verwerfen. Im Folgenden findest du einige MariaDB-Konfigurationen, nach denen du gefragt wirst:
- Lokale Authentifizierung auf unix_socket umstellen? Gib n für nein ein.
- MariaDB Root-Passwort einrichten? Gib y ein, gib dann das neue MariaDB Root-Passwort ein und wiederhole die Eingabe.
- Den anonymen Standardbenutzer entfernen? Gib zur Bestätigung y ein.
- Fernanmeldung für den Root-Benutzer deaktivieren? Gib zur Bestätigung y ein.
- Den Standard-Datenbanktest entfernen? Gib zur Bestätigung y ein.
- Tabellenberechtigungen neu laden und Änderungen übernehmen? Bestätige mit y.
Nachdem du den MariaDB-Server gesichert hast, erstellst du eine neue Datenbank und einen neuen Benutzer, die von GLPI verwendet werden. Du kannst eine neue Datenbank und einen neuen Benutzer über den mariadb-Client erstellen.
Melde dich mit folgendem Befehl am MariaDB-Server an. Achte darauf, dass du dein MariaDB-Root-Passwort eingibst, wenn du dazu aufgefordert wirst.
sudo mariadb -u root -p
Als Nächstes führst du die folgenden Abfragen aus, um eine neue MariaDB-Datenbank glpidb mit dem Benutzer glpi und dem Passwort p4ssw0rd zu erstellen. Achte darauf, dass du die folgenden Angaben mit deinen Daten abänderst.
CREATE DATABASE glpidb; CREATE USER glpi@localhost IDENTIFIED BY 'p4ssw0rd'; GRANT ALL PRIVILEGES ON glpidb.* TO glpi@localhost; FLUSH PRIVILEGES;
Führe nun die folgende Abfrage aus, um die Rechte des Benutzers glpi@localhost zu überprüfen.
SHOW GRANTS FOR glpi@localhost;
Du solltest sehen, dass der Benutzer glpi@localhost die Berechtigung hat, auf die Datenbank glpidb zuzugreifen.
Gib quit ein, um den MariaDB-Server zu verlassen.
PHP konfigurieren
Im folgenden Abschnitt wirst du deine PHP-Installation einrichten, indem du die Datei php.ini bearbeitest. Anschließend überprüfst du deine Apache2- und PHP-Installation, indem du eine neue PHPINFO-Datei erstellst, die dir detaillierte Informationen über deine PHP-Installation liefert.
Öffne die Standardkonfiguration php.ini mit dem folgenden Befehl des nano-Editors.
sudo nano /etc/php/8.2/apache2/php.ini
Ändere einige der folgenden PHP-Konfigurationen wie folgt. Achte darauf, dass du die date.timezone mit deiner richtigen Zeitzone und das memory_limit mit deiner richtigen Speicherkonfiguration anpasst.
memory_limit = 512M date.timezone = Europe/Stockholm upload_max_filesize = 16M session.cookie_httponly = on
Speichere und schließe die Datei, wenn du fertig bist.
Als Nächstes führst du den folgenden systemctl-Befehl aus, um den Apache2-Dienst neu zu starten und die vorgenommenen Änderungen zu übernehmen.
sudo systemctl restart apache2
Erstelle dann eine neue PHPINFO-Datei /var/www/html/info.php, indem du den folgenden Befehl ausführst.
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Starte deinen Webbrowser und rufe die IP-Adresse deines Servers gefolgt von dem Pfad zu /info.php auf, z.B. http://192.168.10.15/info.php. Wenn deine Konfiguration erfolgreich war, solltest du die PHPINFO-Seite wie die folgende sehen:
Herunterladen des GLPI-Quellcodes
Nachdem du PHP konfiguriert hast, lädst du den GLPI-Quellcode von GitHub herunter und richtest die richtigen Rechte für das GLPI-Web-Root-Verzeichnis ein.
Wechsle in das Verzeichnis /var/www und lade den GLPI-Quellcode mit dem unten stehenden wget-Befehl herunter. In diesem Beispiel lädst du GLPI v10.x herunter, die neueste und stabile Version von GLPI 10.x. Schaue auf der GLPI-Downloadseite nach, um die neueste Version zu erhalten.
cd /var/www/ wget https://github.com/glpi-project/glpi/releases/download/10.0.9/glpi-10.0.9.tgz
Sobald du den GLPI-Quellcode heruntergeladen hast, entpacke ihn mit dem unten stehenden tar-Befehl und du solltest ein neues Verzeichnis /var/www/glpi sehen.
tar -xf glpi-10.0.9.tgz
Führe nun den folgenden Befehl aus, um den Eigentümer des Verzeichnisses /var/www/glpi auf den Benutzer www-data zu ändern und dem Apache2-Webserver den Zugriff darauf zu ermöglichen.
sudo chown -R www-data:www-data /var/www/glpi
Führe dann den folgenden Befehl aus, um die Verzeichnisdateien und die Konfiguration schreibbar zu machen. Dadurch kann der Apache2-Webserver in diese Verzeichnisse schreiben, um GLPI-Daten zu speichern.
sudo chmod u+rw /var/www/glpi/{files,config}
Apache2 Virtual Host konfigurieren
Nachdem du den GLPI-Quellcode heruntergeladen hast, musst du im nächsten Schritt eine neue Konfiguration für den virtuellen Apache2-Host erstellen, auf dem das GLPI laufen soll. Bevor du fortfährst, solltest du sicherstellen, dass du einen Domainnamen hast, der auf die IP-Adresse deines Debian-Servers zeigt.
Bevor du die virtuelle Hostkonfiguration erstellst, führe den folgenden Befehl aus, um das Rewrite-Modul in Apache2 zu aktivieren.
sudo a2enmod rewrite
Erstelle eine neue virtuelle Hostkonfiguration /etc/apache2/sites-available/glpi.conf mit dem folgenden nano-Editor-Befehl.
sudo nano /etc/apache2/sites-available/glpi.conf
Füge die folgende Konfiguration ein und achte darauf, dass du den Domainnamen mit deiner Domain im Parameter ServerName änderst.
<VirtualHost *:80> ServerName glpi.hwdomain.io
DocumentRoot /var/www/glpi/public
# If you want to place GLPI in a subfolder of your site (e.g. your virtual host is serving multiple applications),
# you can use an Alias directive:
# Alias „/glpi“ „/var/www/glpi/public“
<Directory /var/www/glpi/public>
Require all granted
RewriteEngine On
# Redirect all requests to the GLPI router, unless file exists.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
Speichere und schließe die Datei, wenn du fertig bist.
Als Nächstes führst du den folgenden Befehl aus, um die virtuelle Hostdatei glpi.conf zu aktivieren. Überprüfe dann deine Apache2-Syntax, um sicherzustellen, dass kein Syntaxfehler vorliegt.
sudo a2ensite glpi.conf sudo apachectl configtest
Wenn du eine korrekte Apache2-Syntax hast, solltest du die Ausgabe Syntax OK erhalten.
Führe nun den folgenden systemctl-Befehl aus, um den Apache2-Dienst neu zu starten und die neuen Änderungen in deiner virtuellen Hostdatei zu übernehmen.
sudo systemctl restart apache2
Öffne schließlich deinen Webbrowser und rufe den Domainnamen deiner GLPI-Installation auf, z. B. http://glpi.hwdomain.io. Wenn deine Installation erfolgreich war, solltest du die GLPI-Installationsseite wie die folgende sehen:
GLPI mit SSL/TLS-Zertifikaten absichern
An diesem Punkt bist du fast bereit, die GLPI-Installation zu beenden. Jetzt sicherst du GLPI, indem du SSL/TLS-Zertifikate von Letsencrypt über das Certbot-Tool und das Certbot-Apache-Plugin generierst.
Führe den folgenden apt-Befehl aus, um Certbot und das Certbot-Apache-Plugin zu installieren. Bestätige mit y und fahre mit der Installation fort.
sudo apt install certbot python3-certbot-apache
Nachdem Certbot installiert ist, führe den folgenden Certbot-Befehl aus, um neue SSL/TLS-Zertifikate für deine GLPI-Installation zu erstellen. Achte darauf, dass du den Domainnamen und die E-Mail-Adresse im folgenden Befehl änderst.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email alice@example.io -d glpi.example.io
Jetzt sind deine SSl/TLS-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com verfügbar. Außerdem ist deine virtuelle Hostkonfiguration glpi.conf jetzt mit HTTPS konfiguriert, das über das Certbot Apache2 Plugin konfiguriert wird.
GLPI-Installation über den Web-Installer
Starte deinen Webbrowser und rufe den Domainnamen deiner GLPI-Installation auf, z. B. http://glpi.hwdomain.io/. Nun wirst du auf sichere HTTPS-Verbindungen umgeleitet und erhältst die GLPI-Installationsseite.
Wähle zunächst deine bevorzugte Sprache aus und klicke auf OK.
Akzeptiere die GLPI-Lizenz und klicke auf Weiter, um fortzufahren.
Klicke auf Installieren, um die GLPI-Installation zu starten.
Bestätige, dass deine Serverumgebung die GLPI-Anforderungen erfüllt und klicke dann auf Weiter.
Gib die Details des MariaDB-Benutzers ein, den du für deine GLPI-Installation erstellt hast, und klicke auf Weiter.
Wähle die Datenbank glpidb und klicke erneut auf Fortfahren.
Die GLPI-Datenbank wird initialisiert, klicke auf Fortfahren.
Konfiguriere den Abschnitt Daten sammeln mit deinen bevorzugten Einstellungen und klicke dann auf Weiter.
Wähle Weiter, um zum nächsten Abschnitt zu gelangen.
Im letzten Abschnitt solltest du sehen, dass einige Standard-GLPI-Benutzer angelegt wurden, z. B. glpi/glpi als Administrator, tech/tech für das Techniker-Konto, normal/normal für das normale Konto, post-only/postonly für das postonly-Konto.
Klicke auf GLPI verwenden, um deine Installation abzuschließen.
Jetzt solltest du die GLPI-Anmeldeseite erhalten. Gib den Standardbenutzer glpi mit dem Passwort glpi ein und klicke dann auf Anmelden.
Sobald du eingeloggt bist, siehst du das GLPI-Administrations-Dashboard wie folgt:
Du wirst auch aufgefordert, das Standardpasswort für den Benutzer glpi zu ändern. Gib das neue glpi-Administrator-Passwort ein und klicke auf Speichern.
Zum Schluss gehst du zurück zu deinem Terminalserver und führst den folgenden Befehl aus, um das Installationsskript zu entfernen.
sudo rm /var/www/glpi/public/install/install.php
Fazit
Zum Schluss hast du die GLPI-Bestandsverwaltung mit dem LAMP-Stack (Apache2, MariaDB und PHP) auf dem Debian 12-Server installiert. Außerdem hast du GLPI mit SSL/TLS-Zertifikaten gesichert, die von Letsencrypt über Certbot und das Certbot Apache Plugin generiert wurden. Jetzt kannst du die umfangreichen Möglichkeiten von GLPI erkunden, wie z.B. die Bestandsverwaltung, die Verwaltung der Rechenzentrumsinfrastruktur (DCIM) und vieles mehr.