
In diesem Tutorial erkläre ich, wie Sie GLPI (10 oder 11) direkt über die Befehlszeile des Linux-Servers aktualisieren, auf dem es installiert ist.
Das Ziel besteht hier darin, GLPI zu aktualisieren, ohne einen Computer eines Drittanbieters zum Übertragen von Dateien auf den Webserver zu verwenden. Dadurch wird die Verwendung eines FTP- oder SSH-Clients (SCP) für die Dateiübertragung vermieden.
Für mich ist dies die schnellste Methode.
Bevor Sie ein Update starten, müssen Sie sicherstellen, dass Sie im Falle eines Problems zurückgehen können. Dazu haben Sie mehrere Lösungen:
- GLPI und Datenbank vom Linux-Server sichern
- Wenn Sie auf einer virtuellen Maschine arbeiten, stellen Sie sicher, dass Sie ein Backup haben
- Wenn Sie sich auf einer virtuellen Maschine befinden, die ausschließlich GLPI dient, können Sie einen Snapshot erstellen, der ein schnelles und einfaches Rollback garantiert.
Je nach Größe der GLPI-Datenbank kann die Aktualisierung mehr oder weniger Zeit in Anspruch nehmen, insbesondere bei einem Versionsupgrade, wenn Datensätze aktualisiert werden müssen. Daher ist es notwendig, Ausfallzeiten der Anwendung einzuplanen.
Hier werde ich GLPI von Version 11.0.0-beta4 auf Version 11.0.0-beta5 aktualisieren.
Zu Beginn werden wir GLPI in den Wartungsmodus versetzen. Gehen Sie zu dem Speicherort, an dem sich die GLPI-Ordner und -Dateien auf Ihrem Server befinden.
cd /var/www/glpiWartungsmodus aktivieren:
# utilisateur non root
sudo php bin/console glpi:maintenance:enable
# utilisateur root
php bin/console glpi:maintenance:enable --allow-superuserDa GLPI derzeit gewartet wird, kehren Sie zum Ordner des aktuellen Benutzers zurück:
cdGehen Sie zum Github-Repository, um die URL der gewünschten Version abzurufen.
Laden Sie das GLPI-Archiv herunter:
sudo wget https://github.com/glpi-project/glpi/releases/download/11.0.0-beta5/glpi-11.0.0-beta5.tgz
Überprüfen Sie an dem Ort, an dem Sie sich befinden, ob bereits ein Ordner mit dem Namen „glpi“ vorhanden ist. Wenn ja, löschen Sie ihn!
Entpacken Sie das Archiv:
tar -xvzf glpi-11.0.0-beta5.tgz

Wie Sie im Screenshot unten sehen können, wurden die Dateien in einen Ordner mit dem Namen glpi extrahiert.
Jetzt verschieben wir den aktuellen GLPI-Ordner:
sudo mv /var/www/glpi /var/www/glpi_oldWir werden den Ordner glpi erneut erstellen:
sudo mkdir -p /var/www/glpiVerschieben Sie die Dateien aus dem heruntergeladenen Archiv:
sudo mv glpi/* /var/www/glpiWir werden nun die ursprünglichen Konfigurationsdateien, Plugins usw. wieder in den GLPI-Ordner legen:
sudo cp -r /var/www/glpi_old/files /var/www/glpi
sudo cp -r /var/www/glpi_old/config /var/www/glpi
sudo cp -r /var/www/glpi_old/marketplace /var/www/glpi
sudo cp -r /var/www/glpi_old/plugins /var/www/glpiÜberprüfen Sie zur Sicherheit den config auf Vorhandensein der Dateien und den Inhalt der Konfigurationsdatei:

Stellen Sie die richtigen Rechte für den Ordner glpi wieder her:
sudo chown www-data:www-data /var/www/glpi -RRufen Sie in einem Browser die URL Ihres GLPI-Installationsprogramms auf und starten Sie das Update, indem Sie dem Assistenten folgen.

Wenn Sie lieber im Terminal bleiben möchten, können Sie die GLPI-Datenbank über die Befehlszeile aktualisieren.
Gehen Sie zum GLPI-Ordner:
cd /var/www/glpiStarten Sie die Voraussetzungsprüfung:
# utilisateur non root
sudo php bin/console glpi:system:check_requirements
# utilisateur root
php bin/console glpi:system:check_requirements --allow-superuser
Starten Sie das Update, wenn keine Probleme auftreten:
# utilisateur non root
sudo php bin/console db:update
# utilisateur root
php bin/console db:update --allow-superuserSobald das Update abgeschlossen ist, löschen Sie den glpi-Installationsordner:
sudo rm /var/www/glpi/install -rGLPI-Beendigung aus dem Wartungsmodus:
# utilisateur non root
sudo php bin/console glpi:maintenance:disable
# utilisateur root
php bin/console glpi:maintenance:disable --allow-superuserSie wissen nun, wie Sie GLPI online aktualisieren. Das Lesen mag zwar langwierig erscheinen, ist aber immer noch schneller, als es auf einem Computer mit einem FTP-Client zu tun.
