Windows Server
Obtención de la versión actual de Passwork
- Abra un navegador web y vaya al Portal de clientes.
- Inicie sesión en el Portal de clientes ingresando el correo electrónico del usuario;
- En el Centro de descargas — Seleccionar versión para obtener la versión actual de Passwork en formato .zip:

- Mueva el archivo .zip al servidor con Passwork.
Creación de copia de seguridad y copia del archivo de configuración
Creación de copia de seguridad
Para crear una copia de seguridad de MongoDB, puede utilizar la siguiente guía — Ejemplos de creación y restauración de copias de seguridad
Si Passwork está instalado en un sistema operativo virtual o en la nube, recomendamos crear una instantánea del estado del sistema operativo para restaurar rápidamente la funcionalidad de Passwork en caso de errores.
Creación de copia del archivo de configuración
Los parámetros principales de Passwork se especifican en el archivo de configuración config.ini. Debe crear una copia del archivo y guardarla en un directorio separado o en el directorio raíz del usuario:
- PowerShell
Copy-Item `
-Path "C:\inetpub\wwwroot\passwork\app\config\config.ini" `
-Destination "$PWD\" -Force
Actualización del código de Passwork y creación de archivo de la versión anterior
Cree un directorio para almacenar archivos temporales de la versión anterior:
- PowerShell
mkdir C:\inetpub\copy_files
Cree una copia del archivo de configuración config.ini y la clave de licencia:
- PowerShell
Copy-Item `
-Path "C:\inetpub\wwwroot\passwork\app\config\config.ini" `
-Destination "C:\inetpub\copy_files\" -Force
Copy-Item `
-Path "C:\inetpub\wwwroot\passwork\app\keys\passwork*" `
-Destination "C:\inetpub\copy_files\" -Force
Cree un archivo de la versión anterior de Passwork en C:\inetpub\:
- PowerShell
$version = Get-Content "C:\inetpub\wwwroot\passwork\version"
Compress-Archive -Path "C:\inetpub\wwwroot\passwork\*" -DestinationPath "C:\inetpub\$version.zip"
Elimine la versión anterior de la ubicación física del código:
- PowerShell
Remove-Item -Path "C:\inetpub\wwwroot\passwork\*" -Recurse -Force
Extraiga la nueva versión de Passwork en C:\inetpub\wwwroot\passwork\:
- PowerShell
Expand-Archive `
-Path "$PWD\Passwork-xxxxxx.zip" `
-DestinationPath "C:\inetpub\wwwroot\passwork\"
Mueva el archivo de configuración y la clave de licencia a la nueva versión:
- PowerShell
Move-Item `
-Path "C:\inetpub\copy_files\config.ini" `
-Destination "C:\inetpub\wwwroot\passwork\app\config\" -Force
Move-Item `
-Path "C:\inetpub\copy_files\passwork*" `
-Destination "C:\inetpub\wwwroot\passwork\app\keys\" -Force
Después de estas acciones, puede eliminar el directorio temporal que contiene el archivo de configuración y la clave de licencia:
- PowerShell
Remove-Item -Path "C:\inetpub\copy_files" -Recurse -Force
Crear reglas de reescritura y asignar permisos al código de Passwork
Crear reglas que modifican las solicitudes de URL en IIS
Cree web.config para el módulo URL Rewrite:
- PowerShell
"<?xml version=`"1.0`" encoding=`"UTF-8`"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=`"Imported Rule 1`" stopProcessing=`"true`">
<match url=`"^app/(.*)/(.*)/template.([a-z-A-Z0-9]+).html`" ignoreCase=`"false`" />
<conditions logicalGrouping=`"MatchAll`">
<add input=`"{REQUEST_FILENAME}`" matchType=`"IsFile`" ignoreCase=`"false`" negate=`"true`" />
</conditions>
<action type=`"Rewrite`" url=`"app/{R:1}/{R:2}/template.html`" />
</rule>
<rule name=`"Imported Rule 2`" stopProcessing=`"true`">
<match url=`"^extension/js/(.*)/(.*)/template.([a-z-A-Z0-9]+).html`" ignoreCase=`"false`" />
<action type=`"Rewrite`" url=`"extension/js/{R:1}/{R:2}/template.html`" />
</rule>
<rule name=`"Imported Rule 3`" stopProcessing=`"true`">
<match url=`"^(.*)$`" ignoreCase=`"false`" />
<conditions logicalGrouping=`"MatchAll`">
<add input=`"{REQUEST_FILENAME}`" matchType=`"IsDirectory`" ignoreCase=`"false`" negate=`"true`" />
<add input=`"{REQUEST_FILENAME}`" matchType=`"IsFile`" ignoreCase=`"false`" negate=`"true`" />
</conditions>
<action type=`"Rewrite`" url=`"index.php?_url=/{R:1}`" appendQueryString=`"true`" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>" | Out-File -FilePath "C:\inetpub\wwwroot\passwork\public\web.config" -Encoding UTF8
Asignar permisos a la ubicación física de Passwork
Cambie los permisos del directorio del sistema y configure los permisos para el servidor web IIS:
- PowerShell
Invoke-Expression "icacls 'C:\inetpub\wwwroot' /grant 'Users:(OI)(CI)`M'"
Invoke-Expression "icacls 'C:\inetpub\wwwroot' /grant 'IIS_IUSRS:(OI)(CI)`M'"
Invoke-Expression "icacls 'C:\inetpub\wwwroot' /grant 'IUSR:(OI)(CI)`M'"
Si Windows Server utiliza localización RU, los permisos se asignan con el comando:
- PowerShell
Invoke-Expression "icacls 'C:\inetpub\wwwroot' /grant 'Users:(OI)(CI)`M'"
Registrar la versión de PHP y reiniciar el servidor web
Registrar PHP para la nueva versión de Passwork
Importe los módulos para IIS y PHP Manager:
- PowerShell
Import-Module IISAdministration
Import-Module WebAdministration
Add-PsSnapin PHPManagerSnapin
Desbloquee el archivo de configuración de IIS para registrar PHP:
- PowerShell
Invoke-Expression "$env:windir\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers"
Registre la versión de PHP:
- PowerShell
New-PHPVersion -ScriptProcessor "$env:ProgramFiles\php8.2\php-cgi.exe" -SiteName "Passwork Web Site" -VirtualPath "/"
Reiniciar el servidor web IIS
Para activar los cambios en IIS, debe reiniciar el servidor web IIS:
- PowerShell
Restart-Service -Name "W3SVC"