Saltar al contenido principal

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:
Example of obtaining Passwork version 6
  • 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

peligro

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:

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:

mkdir C:\inetpub\copy_files

Cree una copia del archivo de configuración config.ini y la clave de licencia:

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\:

$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:

Remove-Item -Path "C:\inetpub\wwwroot\passwork\*" -Recurse -Force

Extraiga la nueva versión de Passwork en C:\inetpub\wwwroot\passwork\:

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:

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:

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:

"<?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:

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:

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:

Import-Module IISAdministration
Import-Module WebAdministration
Add-PsSnapin PHPManagerSnapin

Desbloquee el archivo de configuración de IIS para registrar PHP:

Invoke-Expression "$env:windir\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers"

Registre la versión de PHP:

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:

Restart-Service -Name "W3SVC"