Linux
Ab Version 7 von Passwork werden Aktualisierungen über git nicht mehr unterstützt. Für die Aktualisierung von Passwork haben wir ein Skript vorbereitet.
Online-Aktualisierung
- Skript herunterladen:
- wget
- curl
wget https://repos.passwork.pro/repository/linux/scripts/passwork.sh
curl -O https://repos.passwork.pro/repository/linux/scripts/passwork.sh
Das Passwork-Aktualisierungsskript darf sich nicht im selben Verzeichnis wie die Anwendungsserver-Dateien befinden.
- Ausführungsrechte für das Skript zuweisen:
- shell
chmod +x passwork.sh
Standardmäßig führt das Skript passwork.sh Folgendes aus:
- Erstellen einer versteckten Datei
.script_envim aktuellen Verzeichnis; - Erstellen eines Verzeichnisses
passwork_archivefür die Passwork-Sicherung; - Abrufen der neuesten verfügbaren Version von Passwork, Signatur und öffentlichem Schlüssel;
- Installation des zuvor erhaltenen Archivs nach
/var/www/
Durchgeführte Aktionen
- Prüfung, ob alle erforderlichen Systemwerkzeuge installiert sind —
php, curl, jq, zip, unzip, file, stat, find - Prüfung der PHP-Version und Vergleich mit der erforderlichen Version (8.3)
- Prüfung der Erreichbarkeit des Passwork-Kundenportals zur Bestimmung des Installationsmodus
- Wenn Passwork bereits installiert ist (die Datei
.envvorhanden ist), Wechsel in den ModusUPDATE; wenn die Datei nicht gefunden wird, Verwendung des ModusINSTALL - Wenn die Datei
.script_envexistiert, Lesen und Abrufen des API-Schlüssels - Wenn der API-Schlüssel nicht gesetzt ist, Aufforderung an den Benutzer zur Eingabe und Validierung des Formats
- Abrufen der Nummer der neuesten verfügbaren Version über API-Anfrage
- Vergleich der erhaltenen Version mit der aktuellen Passwork-Version
- Wenn eine neue Version verfügbar ist, Herunterladen des Archivs mittels Anfrage und API-Schlüssel
- Überprüfung des korrekten Empfangs des ZIP-Archivs
- Abrufen der digitalen Signatur und des öffentlichen Schlüssels
- Überprüfung des ZIP-Archivs mittels OpenSSL
- Entpacken des ZIP-Archivs in ein temporäres Verzeichnis
- Erstellen einer Sicherung der aktuellen Version
- Bereinigung des Verzeichnisses von der vorherigen Version unter Beibehaltung von Konfigurationsdateien und Protokollen
- Prüfung der Verzeichniszugriffsrechte
- Änderung der Eigentümerberechtigungen, wenn der Eigentümer nicht root ist
- Anpassung der OPcache-Einstellungen, wenn diese nicht konfiguriert sind
- Neustart des Webservers und des php-fpm-Dienstes
- Anschließend Ausführung des Versionsaktualisierungsbefehls
update
Um einen nicht standardmäßigen Installationspfad zu verwenden, die Zertifikatsüberprüfung zu deaktivieren oder das Verhalten zu ändern, verwenden Sie — Skriptparameter
- Skript ausführen:
- shell
sudo ./passwork.sh
Beim ersten Start fordert das Skript den API-Schlüssel an und führt grundlegende Umgebungsprüfungen durch:

Beispiel einer erfolgreichen Skriptausführung:

Offline-Aktualisierung
Laden Sie das Skript auf einem anderen Rechner mit Internetzugang herunter:
- wget
- curl
- PowerShell
wget https://repos.passwork.pro/repository/linux/scripts/passwork.sh
curl -O https://repos.passwork.pro/repository/linux/scripts/passwork.sh
(New-Object System.Net.WebClient).DownloadFile("https://repos.passwork.pro/repository/linux/scripts/passwork.sh", "$PWD\passwork.sh")
Alternativ können Sie das Skript passwork.sh manuell über den Link herunterladen
Das Passwork-Aktualisierungsskript darf sich nicht im selben Verzeichnis wie die Anwendungsserver-Dateien befinden.
Ausführungsrechte für das Skript zuweisen:
- shell
chmod +x passwork.sh
Vor dem Ausführen von passwork.sh müssen Sie:
- Passwork Version 7 vom Passwork-Kundenportal herunterladen (obligatorisch);
- Es im Startverzeichnis ablegen oder das Argument
--inputverwenden, um den Speicherort anzugeben (obligatorisch); - Die Archivsignatur und den öffentlichen Schlüssel von Passwork herunterladen (optional bei Verwendung des Arguments
--skip).
Standardmäßig führt das Skript passwork.sh Folgendes aus:
- Erstellen eines Verzeichnisses
passwork_archivefür die Passwork-Sicherung; - Entpacken des Passwork-Archivs;
- Installation des zuvor erhaltenen Archivs nach
/var/www/
Durchgeführte Aktionen
- Prüfung, ob alle erforderlichen Systemwerkzeuge installiert sind —
php, curl, jq, zip, unzip, file, stat, find - Prüfung der PHP-Version und Vergleich mit der erforderlichen Version (8.3)
- Prüfung der Erreichbarkeit des Passwork-Kundenportals zur Bestimmung des Installationsmodus
- Wenn die Verbindung fehlschlägt oder das Flag
--offlineverwendet wird, Wechsel in den Offline-Modus - Bestätigung der Installation im Offline-Modus
- Suche nach dem neuesten Archiv im Format
Passwork-*.zipim Verzeichnis - Extrahieren der Versionsnummer aus der ZIP-Datei und Prüfung, dass sie nicht kleiner als
070000ist - Wenn Passwork bereits installiert ist (die Datei
.envvorhanden ist), Wechsel in den ModusUPDATE; wenn die Datei nicht gefunden wird, Verwendung des ModusINSTALL - Vergleich der Archivversion mit der aktuellen Passwork-Version
- Verschieben der ZIP-Datei in ein temporäres Verzeichnis
- Suche und Verschieben der digitalen Signatur und des öffentlichen Schlüssels von Passwork
- Überprüfung des ZIP-Archivs mittels OpenSSL
- Entpacken des ZIP-Archivs in ein temporäres Verzeichnis
- Erstellen einer Sicherung der aktuellen Version
- Bereinigung des Verzeichnisses von der vorherigen Version unter Beibehaltung von Konfigurationsdateien und Protokollen
- Prüfung der Verzeichniszugriffsrechte
- Änderung der Eigentümerberechtigungen, wenn der Eigentümer nicht root ist
- Anpassung der OPcache-Einstellungen, wenn diese nicht konfiguriert sind
- Neustart des Webservers und des php-fpm-Dienstes
- Anschließend Ausführung des Versionsaktualisierungsbefehls
update
Führen Sie nach der Vorbereitung das Skript passwork.sh aus:
- shell
sudo ./passwork.sh -offline
Beispiel einer erfolgreichen Skriptausführung:

Skriptparameter
-i, --input
Pfad zum Archiv im offline_mode. Definiert auch den Speicherort von .script_env, passwork_archives:
- shell
sudo ./passwork.sh -i "/home/administrator/passwork"
-o, --output
Installationspfad (Standard: /var/www):
- shell
sudo ./passwork.sh -o "/var/www/passwork"
-offline, --offline
Erzwungener Offline-Modus. Erfordert manuelle Vorbereitung:
- shell
sudo ./passwork.sh -offline
-insecure, --insecure
Zertifikatsüberprüfung überspringen (wird verwendet, wenn dem Server CA-Zertifikate fehlen):
- shell
sudo ./passwork.sh -insecure
-skip, --skip
Überprüfung der Passwork-Archivsignatur überspringen:
- shell
sudo ./passwork.sh -skip