Linux
Esta instrucción asume la siguiente ubicación de Passwork — /var/www/
Preparación
- Antes de actualizar, si Passwork está instalado en un entorno en la nube/virtual, cree una instantánea del estado virtual del sistema operativo para restaurar la funcionalidad en caso de una actualización incorrecta;
- Obtenga privilegios de root:
- shell
sudo -i
Obtención de la versión actual de Passwork
Cree un directorio temporal para descargar Passwork:
- shell
mkdir /tmp/update_passwork
Si el servidor de Passwork está ubicado en una red cerrada
Debe ir al Portal de clientes de Passwork, copiar el número de certificado y usar la barra de direcciones del navegador para obtener la versión 7 de Passwork — https://portal.passwork.pro/api/download?apikey=certificate_number
Vaya al Portal de clientes de Passwork y copie la clave API para obtener la versión actual:

Cree la variable API_KEY con el número de certificado:
- shell
API_KEY=your_api_key
Descargue la versión 7 de Passwork utilizando la solicitud:
- shell
curl -o "/tmp/update_passwork/passwork.zip" "https://portal.passwork.pro/api/download?apikey=$API_KEY"
Limpie la variable API_KEY con el número de certificado:
- shell
unset API_KEY
Actualización a la versión actual
Obtenga la versión actual de Passwork en una variable:
- shell
# Get Passwork version from the version file
version=$(cat /var/www/version)
Copie los archivos de configuración de Passwork al directorio temporal:
- 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/
Cree un archivo de la versión actual de Passwork para permitir la reversión a la versión anterior:
- 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/*
Elimine todo el contenido del directorio de Passwork:
- shell
rm -rf /var/www/* && rm -rf /var/www/.*
Descomprima la versión actualizada de Passwork en la ubicación física:
- shell
unzip /tmp/update_passwork/passwork.zip -d /var/www/
Mueva los archivos de configuración copiados de Passwork a la nueva versión:
- 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/
Elimine el directorio temporal update_passwork:
- shell
rm -rf /tmp/update_passwork
Establezca los permisos para la ubicación física de 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/
Reinicie el servidor web y PHP:
- DEB
- RPM
systemctl restart php8.3-fpm.service apache2.service
systemctl restart php-fpm.service httpd.service
Limpie la caché temporal de Passwork:
- 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'
Realice el precalentamiento de la caché:
- 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'
Actualice la versión de Passwork en la base de datos:
- 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'