Linux
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:
- shell
sudo -i
Aktuelle Version von Passwork abrufen
Erstellen Sie ein temporäres Verzeichnis zum Herunterladen von Passwork:
- shell
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:

Erstellen Sie die Variable API_KEY mit der Zertifikatsnummer:
- shell
API_KEY=your_api_key
Laden Sie Version 7 von Passwork mit folgender Anfrage herunter:
- shell
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:
- shell
unset API_KEY
Aktualisierung auf die aktuelle Version
Aktuelle Passwork-Version in eine Variable einlesen:
- shell
# Get Passwork version from the version file
version=$(cat /var/www/version)
Passwork-Konfigurationsdateien in das temporäre Verzeichnis kopieren:
- shell
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:
- shell
# 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:
- shell
rm -rf /var/www/* && rm -rf /var/www/.*
Entpacken Sie die aktualisierte Passwork-Version an den physischen Speicherort:
- shell
unzip /tmp/update_passwork/passwork.zip -d /var/www/
Verschieben Sie die kopierten Passwork-Konfigurationsdateien in die neue Version:
- shell
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:
- shell
rm -rf /tmp/update_passwork
Setzen Sie die Berechtigungen für den physischen Speicherort von Passwork:
- DEB
- RPM
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/
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 apache:apache /var/www/
Starten Sie den Webserver und PHP neu:
- DEB
- RPM
systemctl restart php8.3-fpm.service apache2.service
systemctl restart php-fpm.service httpd.service
Leeren Sie den temporären Passwork-Cache:
- DEB
- RPM
sudo -u www-data bash -c 'cd /var/www && php -d memory_limit=-1 ./bin/console cache:clear'
sudo -u apache bash -c 'cd /var/www && php -d memory_limit=-1 ./bin/console cache:clear'
Führen Sie das Cache-Aufwärmen durch:
- DEB
- RPM
sudo -u www-data bash -c 'cd /var/www && php -d memory_limit=-1 ./bin/console cache:warmup'
sudo -u apache bash -c 'cd /var/www && php -d memory_limit=-1 ./bin/console cache:warmup'
Aktualisieren Sie die Passwork-Version in der Datenbank:
- DEB
- RPM
sudo -u www-data bash -c 'cd /var/www && php -d memory_limit=-1 ./bin/console app:update'
sudo -u apache bash -c 'cd /var/www && php -d memory_limit=-1 ./bin/console app:update'