Windows Server
Получение актуальной версии Пассворка
- Открыть веб-браузер и перейти на клиентский портал.
- Авторизоваться на клиентском портале указав email пользователя;
- В Центре загрузок — Выбрать версию получить актуальную версию Пассворка в .zip формате:

- Переместить .zip-архив на сервер с Пассворком.
Создание резервной копии и конфигурационного файла
Создание резервной копии
Для создания резервной копии MongoDB можно воспользоваться следующей инструкцией — Примеры создания и восстановления резервных копий
Если Пассворк установлен на виртуальной или облачной ОС, мы рекомендуем создать снимок состояния операционной системы, чтобы в случае ошибок быстро восстановить работоспособность Пассворка.
Создание копии конфигурационного файла
Основные параметры Пассворка указаны в конфигурационном файле config.ini. Необходимо создать копию файла и сохранить её в отдельной или корневой директории пользователя:
- PowerShell
Copy-Item `
-Path "C:\inetpub\wwwroot\passwork\app\config\config.ini" `
-Destination "$PWD\" -Force
Обновление кода Пассворка и создание архива старой версии
Создать директорию для хранения временных фа йлов из старой версии:
- PowerShell
mkdir C:\inetpub\copy_files
Создать копию конфигурационного файла config.ini и лицензионного ключа:
- 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
Создать архив старой версии Пассворка в C:\inetpub\:
- PowerShell
$version = Get-Content "C:\inetpub\wwwroot\passwork\version"
Compress-Archive -Path "C:\inetpub\wwwroot\passwork\*" -DestinationPath "C:\inetpub\$version.zip"
Удалить старую версию из физического расположения кода:
- PowerShell
Remove-Item -Path "C:\inetpub\wwwroot\passwork\*" -Recurse -Force
Разархивировать новую версию Пассворка в C:\inetpub\wwwroot\passwork\:
- PowerShell
Expand-Archive `
-Path "$PWD\Passwork-xxxxxx.zip" `
-DestinationPath "C:\inetpub\wwwroot\passwork\"
Переместить конфигурационный файл и лицензионный ключ в новую версию:
- 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
После выполненных действий можно удалить временную директорию с расположением конфигурационного файла и лицензионного ключа:
- PowerShell
Remove-Item -Path "C:\inetpub\copy_files" -Recurse -Force
Создать правила перезаписи и назначить права коду Пассворка
Создать правила, изменяющие URL-запросы в IIS
Создать web.config для модуля 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
Назначить права физическому расположению Пассворка
Изменить системные права директорий и установить права для веб-сервера 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'"
Если Windows Server использует RU локализацию, то права назначаются командой:
- PowerShell
Invoke-Expression "icacls 'C:\inetpub\wwwroot' /grant 'Пользователи:(OI)(CI)`M'"
Зарегистрировать версию PHP и перезапустить веб-сервер
Зарегистрировать PHP для новой версии Пассворка
Импортировать модули для IIS и PHP Manager:
- PowerShell
Import-Module IISAdministration
Import-Module WebAdministration
Add-PsSnapin PHPManagerSnapin
Разблокировать конфигурационный файл IIS для регистрации PHP:
- PowerShell
Invoke-Expression "$env:windir\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers"
Зарегистрировать версию PHP:
- PowerShell
New-PHPVersion -ScriptProcessor "$env:ProgramFiles\php8.2\php-cgi.exe" -SiteName "Passwork Web Site" -VirtualPath "/"
Перезапустить веб-сервер IIS
Для активации изменений в IIS необходимо перезапустить веб-сервер IIS:
- PowerShell
Restart-Service -Name "W3SVC"