Ручная установка

Windows Server

36мин
инструкция по установке пассворка на ос windows server 2016 windows server 2019 windows server 2022 1\ минимальные системные требования пассворк не требователен к системным ресурсам, а необходимое количество серверов зависит от числа активных пользователей, объема хранимых данных и требований к отказоустойчивости системы ознакомьтесь с технические требования docid\ mh 04wrskx 1qu5kbrlm 2\ базовые действия перед установкой открыть powershell от имени администратора нажать правой кнопкой мыши на значок пуск в левом нижнем углу экрана; выбрать windows powershell (администратор) в контекстном меню если используется windows server 2016 — нужно включить tls протокол для загрузки пакетов в операционную систему powershell \[net servicepointmanager] securityprotocol = \[net securityprotocoltype] tls12 создать временную директорию для скачивания пакетов и архивов powershell new item path "с \windows\temp\passwork install" itemtype directory опеределить имена групп пользователей с помощью 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] установить роль iis с модулем powershell install windowsfeature name web server includemanagementtools install windowsfeature name web cgi includemanagementtools 3\ установка php загрузить архив php powershell (new object system net webclient) downloadfile("https //repos passwork ru/repository/windows packages/php build/83/php latest zip", "c \windows\temp\passwork install\php latest zip") вы также можете скачать архив вручную разархивировать содержимое в program files powershell expand archive ` path "$env\ systemdrive\windows\temp\passwork install\php latest zip" ` destinationpath "$env\ programfiles\\" добавить php утилиты в переменное окружение 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) установить права группе users для php директории powershell invoke expression "icacls '$env\ programfiles\php8 3' /grant '${usergroupname} (oi)(ci)`m'" 4\ установка базы данных mongodb eсли вы планируете использовать postgresql, пропустите 4 й шаг установки подробнее о поддержке поддержка docid\ h4rsg56ke joqfgcj2sbj загрузить установщик mongodb powershell (new object system net webclient) downloadfile("https //repos passwork ru/repository/windows packages/mongodb database latest msi", "c \windows\temp\passwork install\mongodb database latest msi") вы также можете скачать инсталлятор вручную установить mongodb по умолчанию 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 для установки mongodb на другой диск нужно добавить "installlocation=a \mongodb" создать директорию для утилит администрирования mongodb powershell new item itemtype directory force path "$env\ programfiles\mongodb\tools\\" загрузить утилиты администрирования powershell (new object system net webclient) downloadfile("https //repos passwork ru/repository/windows packages/database tools latest zip", "c \windows\temp\passwork install\database tools latest zip") вы также можете скачать утилиты вручную разархивировать содержимое powershell expand archive ` path "$env\ systemdrive\windows\temp\passwork install\database tools latest zip" ` destinationpath "$env\ programfiles\mongodb\tools\\" добавить утилиты администрирования в переменное окружение 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\ установка модулей для iis загрузить архив с модулями powershell (new object system net webclient) downloadfile("https //repos passwork ru/repository/windows packages/iis package latest zip", "c \windows\temp\passwork install\iis package latest zip") в случае ошибки вы можете скачать модули вручную разархивировать модули для iis powershell expand archive ` path "$env\ systemdrive\windows\temp\passwork install\iis package latest zip" ` destinationpath "$env\ systemdrive\windows\temp\passwork install\\" установить visual c++ powershell start process ` filepath "$env\ systemdrive\windows\temp\passwork install\vc redist x64 exe" ` argumentlist "/q" wait erroraction stop установить php manager powershell start process filepath "msiexec exe" ` argumentlist "/i $env\ systemdrive\windows\temp\passwork install\phpmanagerforiis x64 msi /quiet /norestart" ` wait erroraction stop установить 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\ получение пассворка создать директорию для пассворка powershell new item itemtype directory force path "c \inetpub\wwwroot\passwork" перейти на клиентский портал пассворка и скопировать api ключ создать переменную api key powershell $api key = "your api key" проверить доступную версию пассворка из клиентского портала powershell invoke restmethod uri "https //portal passwork ru/api/version?apikey=$api key" method get корректный вывод powershell response \ @{last available version=xxxxxxxx} получить пассворк с помощью запроса powershell (new object system net webclient) downloadfile("https //portal passwork ru/api/download?apikey=$api key", "c \windows\temp\passwork install\passwork zip") очистить переменную api key powershell remove variable api key разархивировать полученный архив powershell expand archive ` path "$env\ systemdrive\windows\temp\passwork install\passwork zip" ` destinationpath "$env\ systemdrive\inetpub\wwwroot\passwork\\" получить и поместить web config файл в c \inetpub\wwwroot\passwork\public\ для правил перенаправления https //archbee doc uploads s3 amazonaws com/w jxazppyuprqlll6w3gi xdhtwilsezqh1ikx9glpz 20250309 203623 config установить права для физического расположения пассворка 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\ создание веб сайта с подключением php важно для корректной работы пассворка необходимо использовать https протокол подключить модули в powershell для управления iis powershell import module iisadministration import module webadministration add pssnapin phpmanagersnapin разблокировать конфигурацию handlers в iis powershell invoke expression "$env\ windir\system32\inetsrv\appcmd exe unlock config section\ system webserver/handlers" создать веб сайт с именем passwork web site powershell new website name "passwork web site" port "5353" physicalpath "c \inetpub\wwwroot\passwork\public" force зарегистрировать php версию для веб сайта powershell new phpversion scriptprocessor "$env\ programfiles\php8 3\php cgi exe" sitename "passwork web site" virtualpath "/" активировать драйверы и расширения для веб сайта 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 обновить список http методов, разрешённых для обработчика 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 настройка веб сервера для https протокола для обеспечения корректной работы необходимо использовать https протокол использование http приведёт к ошибкам 8\ 1 генерация самоподписанного ssl сертификата создать самоподписанный ssl сертификат с значением имени сервера powershell $dnsname = "$env\ computername" $newcert = new selfsignedcertificate dnsname $dnsname certstorelocation cert \localmachine\my 8 2 создание привязки iis для доступа по https протоколу создать https привязку в веб сайте пассворка powershell new webbinding name "passwork web site" ipaddress " " port "443" protocol "https" получить текущую привязку веб сайта пассворка powershell $binding = get webbinding name "passwork web site" protocol "https" привязать ранее созданный самоподписанный ssl сертификат к https протоколу веб сайта powershell $binding addsslcertificate($newcert getcerthashstring(), "my") перезапустить веб сервер iis powershell restart service name "w3svc" 9 прохождение чек листа при первом подключении к пассворк, необходимо пройти чек лист параметров, в ходе которого будет выполнена проверка необходимых параметров подключение к базе данных mongodb изменить подключение к mongodb на адрес — mongodb //localhost 27017 случайно сгенерированный ключ для шифрования данных в mongodb проверка лицензионного ключа после прохождения чек листа будет предложено создать первого пользователя в пассворк, где необходимо указать логин, пароль и почтовый адрес для отправки уведомлений первый пользователь по умолчанию является локальным и владельцем пассворка 10 настройка фоновых задач фоновые задачи — это задачи, которые выполняются по планировщику в фоновом режиме узнайте, как настроить фоновые задачи docid\ q46 hzdxveabtkjvkyrgn фоновые задачи обязательны для корректной работы части функционала пассворка, например работы ldap; отправки почтовых уведомлений; загрузки фавиконов; очистки коллекции session в базе данных пассворка