Windows Server
Instrucciones para instalar Passwork en el SO:
- Windows Server 2019
- Windows Server 2022
- Windows Server 2025
1. Requisitos mínimos del sistema
Passwork no es exigente en cuanto a recursos del sistema, y el número de servidores necesarios depende de la cantidad de usuarios activos, el volumen de datos almacenados y los requisitos de tolerancia a fallos del sistema.
Consulte los requisitos completos del sistema.
2. Acciones básicas antes de la instalación
Usando el menú contextual de Inicio
- Haga clic derecho en el icono de Inicio en la esquina inferior izquierda de la pantalla.
- Seleccione «Windows PowerShell (Administrador)» del menú contextual.
Usando el menú Inicio
- Haga clic izquierdo en el icono de Inicio en la esquina inferior izquierda de la pantalla.
- Escriba
powershell - Abra PowerShell como «Administrador» usando la combinación —
Ctrl + Shift + Enter
Cree un directorio temporal para descargar paquetes y archivos:
- PowerShell
New-Item -Path "C:\Windows\Temp\passwork_install" -ItemType Directory
Determine los nombres de los grupos de usuario usando SID:
- PowerShell
$userGroupSid = "S-1-5-32-545"
$userSecurityIdentifier = New-Object System.Security.Principal.SecurityIdentifier($userGroupSid)
$userGroupName = $userSecurityIdentifier.Translate([System.Security.Principal.NTAccount]).Value
$userGroupName = $userGroupName.Split("\")[1]
$iis_iusrsGroupSid = "S-1-5-32-568"
$iis_iusrsSecurityIdentifier = New-Object System.Security.Principal.SecurityIdentifier($iis_iusrsGroupSid)
$iis_iusrsGroupName = $iis_iusrsSecurityIdentifier.Translate([System.Security.Principal.NTAccount]).Value
$iis_iusrsGroupName = $iis_iusrsGroupName.Split("\")[1]
Instale el rol IIS con el módulo:
- PowerShell
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
Install-WindowsFeature -Name Web-CGI -IncludeManagementTools
3. Instalación de PHP
Descargue el archivo PHP:
- PowerShell
(New-Object System.Net.WebClient).DownloadFile("https://repos.passwork.pro/repository/windows_packages/php_build/83/php_latest.zip", "C:\Windows\Temp\passwork_install\php_latest.zip")
En caso de errores descargue el archivo manualmente
Extraiga el contenido en Program Files:
- PowerShell
Expand-Archive `
-Path "$env:SystemDrive\Windows\Temp\passwork_install\php_latest.zip" `
-DestinationPath "$env:ProgramFiles\"
Agregue las utilidades PHP a la variable de entorno PATH:
- PowerShell
[System.Environment]::SetEnvironmentVariable("PATH", [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine) + ";C:\Program Files\php8.3", [System.EnvironmentVariableTarget]::Machine)
$env:Path = [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine)
Establezca permisos para el grupo Users en el directorio PHP:
- PowerShell
Invoke-Expression "icacls '$env:ProgramFiles\php8.3' /grant '${userGroupName}:(OI)(CI)`M'"
4. Instalación de la base de datos MongoDB
Descargue el instalador de MongoDB:
- PowerShell
(New-Object System.Net.WebClient).DownloadFile("https://repos.passwork.pro/repository/windows_packages/mongodb_database_latest.msi", "C:\Windows\Temp\passwork_install\mongodb_database_latest.msi")
En caso de errores descargue el instalador manualmente
Instale MongoDB con la configuración predeterminada:
- PowerShell
Start-Process -FilePath "msiexec.exe" -ArgumentList "/l*v", "C:\Windows\Temp\mdbinstall.log", "/qb", "/i", "C:\Windows\Temp\passwork_install\mongodb_database_latest.msi", "SHOULD_INSTALL_COMPASS=0", "ADDLOCAL=Router,ServerService" -Wait
Para instalar MongoDB en otra unidad, agregue "INSTALLLOCATION=A:\MongoDB"
Cree un directorio para las utilidades de administración de MongoDB:
- PowerShell
New-Item -ItemType Directory -Force -Path "$env:ProgramFiles\MongoDB\Tools\"
Descargue las utilidades de administración:
- PowerShell
(New-Object System.Net.WebClient).DownloadFile("https://repos.passwork.pro/repository/windows_packages/database_tools_latest.zip", "C:\Windows\Temp\passwork_install\database_tools_latest.zip")
En caso de errores descargue las utilidades manualmente
Extraiga el contenido:
- PowerShell
Expand-Archive `
-Path "$env:SystemDrive\Windows\Temp\passwork_install\database_tools_latest.zip" `
-DestinationPath "$env:ProgramFiles\MongoDB\Tools\"
Agregue las utilidades de administración a la variable de entorno PATH:
- PowerShell
[System.Environment]::SetEnvironmentVariable("PATH", [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine) + ";C:\Program Files\MongoDB\Tools", [System.EnvironmentVariableTarget]::Machine)
$env:Path = [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine)
5. Instalación de módulos para IIS
Descargue el archivo con los módulos:
- PowerShell
(New-Object System.Net.WebClient).DownloadFile("https://repos.passwork.pro/repository/windows_packages/iis_package_latest.zip", "C:\Windows\Temp\passwork_install\iis_package_latest.zip")
En caso de errores descargue los módulos manualmente
Extraiga los módulos de IIS:
- PowerShell
Expand-Archive `
-Path "$env:SystemDrive\Windows\Temp\passwork_install\iis_package_latest.zip" `
-DestinationPath "$env:SystemDrive\Windows\Temp\passwork_install\"
Instale Visual C++:
- PowerShell
Start-Process `
-FilePath "$env:SystemDrive\Windows\Temp\passwork_install\VC_redist.x64.exe" `
-ArgumentList "/q" -Wait -ErrorAction Stop
Instale PHP Manager:
- PowerShell
Start-Process -FilePath "msiexec.exe" `
-ArgumentList "/i $env:SystemDrive\Windows\Temp\passwork_install\PHPManagerForIIS_x64.msi /quiet /norestart" `
-Wait -ErrorAction Stop
Instale URL Rewrite:
- PowerShell
Start-Process -FilePath "msiexec.exe" `
-ArgumentList "/i $env:SystemDrive\Windows\Temp\passwork_install\rewrite_amd64_en-US.msi /quiet /norestart" `
-Wait -ErrorAction Stop
6. Obtención de Passwork
Cree un directorio para Passwork:
- PowerShell
New-Item -ItemType Directory -Force -Path "C:\inetpub\wwwroot\passwork"
Acceda al Portal de cliente de Passwork y copie la clave API:

Cree la variable API_KEY:
- PowerShell
$API_KEY = "your_api_key"
Verifique la versión disponible de Passwork desde el portal de cliente:
- PowerShell
Invoke-RestMethod -Uri "https://portal.passwork.pro/api/version?apikey=$API_KEY" -Method Get
Salida correcta
- PowerShell
response
--------
@{last-available-version=xxxxxxxx}
Descargue Passwork usando la solicitud:
- PowerShell
(New-Object System.Net.WebClient).DownloadFile("https://portal.passwork.pro/api/download?apikey=$API_KEY", "C:\Windows\Temp\passwork_install\passwork.zip")
Limpie la variable API_KEY:
- PowerShell
Remove-Variable API_KEY
Extraiga el archivo descargado:
- PowerShell
Expand-Archive `
-Path "$env:SystemDrive\Windows\Temp\passwork_install\passwork.zip" `
-DestinationPath "$env:SystemDrive\inetpub\wwwroot\passwork\"
Descargue y coloque el archivo web.config en C:\inetpub\wwwroot\passwork\public\ para las reglas de redirección:
Establezca permisos para la ubicación física de Passwork:
- PowerShell
Invoke-Expression "icacls '$env:SystemDrive\inetpub\wwwroot' /grant '${userGroupName}:(OI)(CI)`M'"
Invoke-Expression "icacls '$env:SystemDrive\inetpub\wwwroot' /grant '${$iis_iusrsGroupName}:(OI)(CI)`M'"
Invoke-Expression "icacls '$env:SystemDrive\inetpub\wwwroot' /grant 'IUSR:(OI)(CI)`M'"
7. Creación de un sitio web con conexión PHP
Importante: para garantizar el correcto funcionamiento de Passwork, debe utilizar el protocolo HTTPS.
Cargue módulos en PowerShell para la gestión de IIS:
- PowerShell
Import-Module IISAdministration
Import-Module WebAdministration
Add-PsSnapin PHPManagerSnapin
Desbloquee la configuración de handlers en IIS:
- PowerShell
Invoke-Expression "$env:windir\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers"
Cree un sitio web llamado Passwork Web Site:
- PowerShell
New-WebSite -Name "Passwork Web Site" -Port "5353" -PhysicalPath "C:\inetpub\wwwroot\passwork\public" -Force
Registre la versión de PHP para el sitio web:
- PowerShell
New-PHPVersion -ScriptProcessor "$env:ProgramFiles\php8.3\php-cgi.exe" -SiteName "Passwork Web Site" -VirtualPath "/"
Active controladores y extensiones para el sitio web:
- PowerShell
$extensions = @(
"php_curl.dll",
"php_gd.dll",
"php_gettext.dll",
"php_intl.dll",
"php_ldap.dll",
"php_mbstring.dll",
"php_mongodb.dll",
"php_mysqli.dll",
"php_openssl.dll",
"php_pdo_pgsql.dll",
"php_pdo_sqlite.dll",
"php_pgsql.dll",
"php_soap.dll",
"php_zip.dll",
"php_fileinfo.dll"
)
foreach ($extension in $extensions) {
Write-Host "PHP extension activated: $extension"
Set-PHPExtension -Name $extension -Status Enabled -SiteName "Passwork Web Site" -VirtualPath "/"
}
Obtenga el número de versión de PHP en una variable:
- PowerShell
$phpVersion = (Get-PHPConfiguration -SiteName "Passwork Web Site" -VirtualPath "/").version
Actualice la lista de métodos HTTP permitidos para el manejador PHP:
- PowerShell
Set-WebConfigurationProperty -PSPath "IIS:\Sites\Passwork Web Site" -Filter "system.webServer/handlers/add[@name='php-$phpVersion']" -Name "verb" -Value "GET,HEAD,POST,PUT,DELETE,PATCH"
8. Configuración del servidor web para protocolo HTTPS
Para garantizar el correcto funcionamiento, debe utilizar el protocolo HTTPS. El uso de HTTP provocará errores.
8.1 Generación de un certificado SSL autofirmado
Cree un certificado SSL autofirmado con el valor del nombre del servidor:
- PowerShell
$dnsName = "$env:COMPUTERNAME"
$newCert = New-SelfSignedCertificate -DnsName $dnsName -CertStoreLocation cert:\LocalMachine\My
8.2 Creación del enlace IIS para acceso HTTPS
Cree un enlace HTTPS en el sitio web de Passwork:
- PowerShell
New-WebBinding -Name "Passwork Web Site" -IPAddress "*" -Port "443" -Protocol "https"
Obtenga el enlace actual del sitio web de Passwork:
- PowerShell
$binding = Get-WebBinding -Name "Passwork Web Site" -Protocol "https"
Vincule el certificado SSL autofirmado creado anteriormente al protocolo HTTPS del sitio web:
- PowerShell
$binding.AddSslCertificate($newCert.GetCertHashString(), "my")
Reinicie el servidor web IIS:
- PowerShell
Restart-Service -Name "W3SVC"
9. Completar la lista de verificación
Al conectarse a Passwork por primera vez, necesita completar la lista de verificación de parámetros, durante la cual se realizará lo siguiente:
- Verificación de parámetros necesarios
- Conexión a la base de datos MongoDB
- Elección del modo de cifrado de datos
- Generación aleatoria de clave para cifrar datos en MongoDB
- Verificación de la clave de licencia
Después de completar la lista de verificación, se le solicitará crear el primer usuario en Passwork, donde necesitará especificar el inicio de sesión, la contraseña y la dirección de correo electrónico para el envío de notificaciones.
Los parámetros adicionales de componentes, configuraciones de seguridad y configuración del sistema de Passwork están disponibles en la sección de configuración avanzada.
10. Configuración de tareas en segundo plano
Las tareas en segundo plano son tareas que se ejecutan en un programador en segundo plano. Aprenda cómo configurar las tareas en segundo plano.
Las tareas en segundo plano son obligatorias para el correcto funcionamiento de algunas funcionalidades de Passwork, tales como:
- Operaciones LDAP;
- Envío de notificaciones por correo electrónico;
- Descarga de favicons;
- Limpieza de la colección session en la base de datos de Passwork.