|
|
@@ -1,2 +1,115 @@
|
|
|
-# yunohost_glpi
|
|
|
+# GLPI Cronjobs unter Debian/YunoHost richtig einrichten
|
|
|
|
|
|
+## Problem
|
|
|
+
|
|
|
+- GLPI-Automatikjobs (z. B. Mailabruf, Benachrichtigungen, SLAs)
|
|
|
+ liefen nicht automatisch.\
|
|
|
+- **Ursache:**
|
|
|
+ - Cronjobs waren entweder im *GLPI-Modus* (laufen nur bei
|
|
|
+ Webzugriff) oder\
|
|
|
+ - System-Cron war falsch konfiguriert bzw. konnte nicht schreiben.
|
|
|
+
|
|
|
+------------------------------------------------------------------------
|
|
|
+
|
|
|
+## Lösungsschritte
|
|
|
+
|
|
|
+### 1. PHP-Version prüfen
|
|
|
+
|
|
|
+``` bash
|
|
|
+php -v
|
|
|
+sudo -u glpi php -v
|
|
|
+```
|
|
|
+
|
|
|
+→ Beide müssen die gleiche Version zeigen (z. B. PHP 8.2).
|
|
|
+
|
|
|
+------------------------------------------------------------------------
|
|
|
+
|
|
|
+### 2. System-Cronjob anlegen
|
|
|
+
|
|
|
+Datei `/etc/cron.d/glpi` erstellen mit folgendem Inhalt (letzte Zeile
|
|
|
+**leer** lassen!):
|
|
|
+
|
|
|
+``` cron
|
|
|
+* * * * * glpi cd /var/www/glpi && /usr/bin/php8.2 front/cron.php >> /var/www/glpi/files/_log/cron_stdout.log 2>&1
|
|
|
+```
|
|
|
+
|
|
|
+> `glpi` ist der Benutzer, unter dem die YunoHost-App GLPI läuft.\
|
|
|
+> Pfad `/usr/bin/php8.2` ggf. anpassen.
|
|
|
+
|
|
|
+Danach:
|
|
|
+
|
|
|
+``` bash
|
|
|
+sudo chmod 644 /etc/cron.d/glpi
|
|
|
+sudo chown root:root /etc/cron.d/glpi
|
|
|
+sudo systemctl restart cron
|
|
|
+```
|
|
|
+
|
|
|
+------------------------------------------------------------------------
|
|
|
+
|
|
|
+### 3. Rechte reparieren (falls nötig)
|
|
|
+
|
|
|
+``` bash
|
|
|
+sudo chown -R glpi:www-data /var/www/glpi/files
|
|
|
+sudo find /var/www/glpi/files -type d -exec chmod 770 {} \;
|
|
|
+sudo find /var/www/glpi/files -type f -exec chmod 660 {} \;
|
|
|
+```
|
|
|
+
|
|
|
+------------------------------------------------------------------------
|
|
|
+
|
|
|
+### 4. Automatische Aktionen in GLPI konfigurieren
|
|
|
+
|
|
|
+Im Webinterface: **Setup → Automatische Aktionen**\
|
|
|
+Für jeden wichtigen Job einstellen: - **Status:** Geplant\
|
|
|
+- **Ausführungsmodus:** CLI\
|
|
|
+- **Frequenz:** passend wählen (z. B. Mailjobs 1--5 Min, SLAs 10 Min,
|
|
|
+Cleanups 1 Tag)
|
|
|
+
|
|
|
+Beispiele: - `mailgate` (E-Mail-Abruf): 1--5 Min\
|
|
|
+- `queuednotification` (Benachrichtigungen): 1--5 Min\
|
|
|
+- `alertnotclosed` / `slaticket`: 10--15 Min\
|
|
|
+- `cleanoldlogs` / Backups: 1 Tag
|
|
|
+
|
|
|
+------------------------------------------------------------------------
|
|
|
+
|
|
|
+### 5. Funktion prüfen
|
|
|
+
|
|
|
+Manuell starten:
|
|
|
+
|
|
|
+``` bash
|
|
|
+sudo -u glpi /usr/bin/php8.2 /var/www/glpi/front/cron.php
|
|
|
+```
|
|
|
+
|
|
|
+Logs ansehen:
|
|
|
+
|
|
|
+``` bash
|
|
|
+sudo -u glpi tail -n 50 /var/www/glpi/files/_log/cron.log
|
|
|
+sudo -u glpi tail -n 50 /var/www/glpi/files/_log/cron_stdout.log
|
|
|
+```
|
|
|
+
|
|
|
+Im Webinterface → „Letzte Ausführung" sollte hochzählen.
|
|
|
+
|
|
|
+------------------------------------------------------------------------
|
|
|
+
|
|
|
+## Ergebnis
|
|
|
+
|
|
|
+- Cron läuft minütlich als User `glpi`.\
|
|
|
+- GLPI startet die als **CLI/Geplant** markierten Jobs exakt nach
|
|
|
+ ihrer Frequenz.\
|
|
|
+- „Letzte Ausführung" im Webinterface aktualisiert sich zuverlässig.\
|
|
|
+- Problem gelöst ✅
|
|
|
+
|
|
|
+------------------------------------------------------------------------
|
|
|
+
|
|
|
+### Troubleshooting
|
|
|
+
|
|
|
+- Meldung *„Nichts zu starten"* → kein Job auf CLI oder `nextrun` noch
|
|
|
+ nicht erreicht.\
|
|
|
+
|
|
|
+- Rechtefehler → sicherstellen, dass `glpi` User Besitzer von
|
|
|
+ `/var/www/glpi/files` ist.\
|
|
|
+
|
|
|
+- Kein Cronlauf sichtbar → prüfen mit:
|
|
|
+
|
|
|
+ ``` bash
|
|
|
+ sudo tail -n 50 /var/log/syslog | grep glpi
|
|
|
+ ```
|