Zum Hauptinhalt springen

Linux

gefahr

Diese Anleitung geht vom folgenden Speicherort von Passwork aus — /var/www/

Vorbereitung

  • Erstellen Sie vor der Aktualisierung, wenn Passwork in einer Cloud-/virtuellen Umgebung installiert ist, einen Snapshot des virtuellen Betriebssystemzustands, um die Funktionalität bei einer fehlerhaften Aktualisierung wiederherstellen zu können;
  • Erlangen Sie root-Berechtigungen:
sudo -i

Aktuelle Version von Passwork abrufen

Erstellen Sie ein temporäres Verzeichnis zum Herunterladen von Passwork:

mkdir /tmp/update_passwork
Wenn sich der Passwork-Server in einem geschlossenen Netzwerk befindet

Sie müssen zum Passwork-Kundenportal gehen, die Zertifikatsnummer kopieren und die Browser-Adressleiste verwenden, um Version 7 von Passwork zu erhalten — https://portal.passwork.pro/api/download?apikey=certificate_number

Gehen Sie zum Passwork-Kundenportal und kopieren Sie den API-Schlüssel, um die aktuelle Version zu erhalten:

Abrufen des API-Schlüssels im Kundenportal

Erstellen Sie die Variable API_KEY mit der Zertifikatsnummer:

API_KEY=your_api_key

Laden Sie Version 7 von Passwork mit folgender Anfrage herunter:

curl -o "/tmp/update_passwork/passwork.zip" "https://portal.passwork.pro/api/download?apikey=$API_KEY"

Leeren Sie die Variable API_KEY mit der Zertifikatsnummer:

unset API_KEY

Aktualisierung auf die aktuelle Version

Aktuelle Passwork-Version in eine Variable einlesen:

# Get Passwork version from the version file
version=$(cat /var/www/version)

Passwork-Konfigurationsdateien in das temporäre Verzeichnis kopieren:

cp /var/www/init/config.env /tmp/update_passwork/
cp /var/www/init/encryption_key /tmp/update_passwork/
cp /var/www/.env.local /tmp/update_passwork/

Erstellen Sie ein Archiv der aktuellen Passwork-Version, um ein Rollback auf die vorherige Version zu ermöglichen:

# Install zip if an error occurs during execution
apt install zip -y
dnf install zip -y

zip -r /var/passwork-$version.zip /var/www/*

Löschen Sie alle Inhalte aus dem Passwork-Verzeichnis:

rm -rf /var/www/* && rm -rf /var/www/.*

Entpacken Sie die aktualisierte Passwork-Version an den physischen Speicherort:

unzip /tmp/update_passwork/passwork.zip -d /var/www/

Verschieben Sie die kopierten Passwork-Konfigurationsdateien in die neue Version:

mv /tmp/update_passwork/config.env /var/www/init/
mv /tmp/update_passwork/encryption_key /var/www/init/
mv /tmp/update_passwork/.env.local /var/www/

Löschen Sie das temporäre Verzeichnis update_passwork:

rm -rf /tmp/update_passwork

Setzen Sie die Berechtigungen für den physischen Speicherort von Passwork:

find /var/www/ -type d -exec chmod 755 {} \;
find /var/www/ -type f -exec chmod 644 {} \;
find /var/www/init -type f -exec chmod 600 {} \;
chown -R www-data:www-data /var/www/

Starten Sie den Webserver und PHP neu:

systemctl restart php8.3-fpm.service apache2.service

Leeren Sie den temporären Passwork-Cache:

sudo -u www-data bash -c 'cd /var/www && php -d memory_limit=-1 ./bin/console cache:clear'

Führen Sie das Cache-Aufwärmen durch:

sudo -u www-data bash -c 'cd /var/www && php -d memory_limit=-1 ./bin/console cache:warmup'

Aktualisieren Sie die Passwork-Version in der Datenbank:

sudo -u www-data bash -c 'cd /var/www && php -d memory_limit=-1 ./bin/console app:update'