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 descargasSeleccionar 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"