Обновление Пассворка
Ручное обновление Пассворка
Windows Server
12мин
обратите внимание данная инструкция предпологает следующее физическое расположение пассворка — c \inetpub\wwwroot\passwork имя веб сайта пассворка — passwork web site перед обновлением, если пассворк установлен в облачной/виртуальной среде, создать снимок виртуального состояния ос для восстановления работоспособности в случае некорректного обновления получение актуальной версии пассворка создать временную директорию для получения пассворка shell mkdir "$env\ systemdrive\inetpub\new version" если сервер с пассворком расположен в закрытом контуре необходимо перейти на клиентский портал пассворка , скопировать номер сертификата и через адресную строку браузера получить 7 версию пассворка — https //portal passwork ru/api/download?apikey=api key перейти на клиентский портал пассворка https //portal passwork ru/ и скопировать api ключ для получения актуальной версии создать переменную api key с номером сертификата powershell $api key = "your api key" получить 7 версию пассворка с помощью запроса powershell try { (new object system net webclient) downloadfile( "https //portal passwork ru/api/download?apikey=$api key", "$env\ systemdrive\inetpub\new version\passwork zip" ) write output "архив с пассворком успешно получен" } catch { write output "ошибка при получении пассворка $ " } очистить переменную api key с номером сертификата powershell remove variable api key обновление на актуальную версию получить в переменную текущую версию пассворка powershell $version = get content "$env\ systemdrive\inetpub\wwwroot\passwork\version" скопировать конфигурационные файлы пассворка в временную директорию powershell copy item path "$env\ systemdrive\inetpub\wwwroot\passwork\init\config env" destination "$env\ systemdrive\inetpub\new version\\" recurse force copy item path "$env\ systemdrive\inetpub\wwwroot\passwork\init\encryption key" destination "$env\ systemdrive\inetpub\new version\\" recurse force copy item path "$env\ systemdrive\inetpub\wwwroot\passwork\\ env" destination "$env\ systemdrive\inetpub\new version\\" recurse force создать архив текущей версии пассворка для возможности отката к предыдущей версии powershell compress archive path "$env\ systemdrive\inetpub\wwwroot\passwork\\ " destinationpath "$env\ systemdrive\inetpub\wwwroot\passwork $version zip" force удалить всё содержимое из директории пассворка powershell remove item path "$env\ systemdrive\inetpub\wwwroot\passwork\\ " recurse force разархивировать обновлённую версию пассворка в физическое расположение powershell expand archive path "$env\ systemdrive\inetpub\new version\passwork zip" destinationpath "$env\ systemdrive\inetpub\wwwroot\passwork\\" переместить скопированные конфигурационные файлы пассворка в новую версию powershell copy item path "$env\ systemdrive\inetpub\new version\config env" destination "$env\ systemdrive\inetpub\wwwroot\passwork\init\\" recurse force copy item path "$env\ systemdrive\inetpub\new version\encryption key" destination "$env\ systemdrive\inetpub\wwwroot\passwork\init\\" recurse force remove item path "$env\ systemdrive\inetpub\wwwroot\passwork\\ env" recurse force copy item path "$env\ systemdrive\inetpub\new version\\ env" destination "$env\ systemdrive\inetpub\wwwroot\passwork\\" recurse force удалить временную директорию update passwork powershell remove item path "$env\ systemdrive\inetpub\new version" recurse force установить права для физического расположения пассворка powershell invoke expression "icacls '$env\ systemdrive\inetpub\wwwroot' /grant 'iis iusrs (oi)(ci)`m'" invoke expression "icacls '$env\ systemdrive\inetpub\wwwroot' /grant 'users (oi)(ci)`m'" invoke expression "icacls '$env\ systemdrive\inetpub\wwwroot' /grant 'iusr (oi)(ci)`m'" скачать правила перезаписи web config и поместить в новую версию пассворка — c \inetpub\wwwroot\passwork\public\web config https //archbee doc uploads s3 amazonaws com/w jxazppyuprqlll6w3gi xdhtwilsezqh1ikx9glpz 20250309 203623 config регистрация php и активация расширений импортировать модули iis и зарегистрировать php версию powershell import module iisadministration add pssnapin phpmanagersnapin new phpversion scriptprocessor "$env\ programfiles\php8 3\php cgi exe" sitename "passwork web site" virtualpath "/" активировать php расширения для веб сайта пассворка 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" set phpextension name $extension status enabled sitename "passwork web site" virtualpath "/" } активировать для веб сайта пассворка дополнительные методы php powershell $phpversion=(get phpconfiguration sitename "passwork web site" virtualpath "/") version 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" перейти в корневое расположение пассворка и обновить версию пассворка в базе данных powershell cd "$env\ systemdrive\inetpub\wwwroot\passwork" php d "memory limit= 1" \bin\console cache\ clear php d "memory limit= 1" \bin\console cache\ warmup php d "memory limit= 1" \bin\console app\ update