Пассворк не требователен к ресурсам сервера(-ов). Объемы необходимых ресурсов (RAM, CPU, HDD) и количество серверов зависят от количества активных пользователей, объема хранимых данных, а также требований к отказоустойчивости системы.
Проверить наличие установленной версии MongoDB, в случае отсутствия выполнится установку
PowerShell
$mongodbInstalled = Get-WmiObject-Query "SELECT * FROM Win32_Product WHERE Name LIKE 'MongoDB%'"|Select-Object-First 1
if($mongodbInstalled){Write-Output"MongoDB is already installed: $($mongodbInstalled.Name) version $($mongodbInstalled.Version)"}else{try{Start-Process-FilePath "msiexec.exe"-ArgumentList "/l*v","C:\Windows\Temp\passwork_install\mdbinstall.log","/qb","/i","C:\Windows\Temp\passwork_install\mongodb-windows-x86_64-6.0.13-signed.msi","SHOULD_INSTALL_COMPASS=0","ADDLOCAL=Router,ServerService"-Wait -ErrorAction Stop
Write-Output"MongoDB successfully installed"}catch{Write-Error"Error when installing MongoDB: $_."exit 1
}}
Утилиты администрирования
В версиях MongoDB 5.0 и выше, необходимо установить утилиты администрирования, для выполнения стандартных команд резервного копирования и восстановления.
Создать директорию для утилит администрирования MongoDB
PowerShell
if(-not(Test-Path"$env:ProgramFiles\MongoDB\Tools\100")){New-Item-ItemType Directory -Force -Path "$env:ProgramFiles\MongoDB\Tools\100"Write-Host"The directory has been created: $env:ProgramFiles\MongoDB\Tools\100"}else{Write-Host"The directory already exists: $env:ProgramFiles\MongoDB\Tools\100"}
Скачать утилиты администрирования
PowerShell
if(-not(Test-Path"C:\Windows\Temp\passwork_install\mongodb-database-tools.zip")){(New-Object System.Net.WebClient).DownloadFile("https://portal.passwork.pro/windows/packages/mongodb-database-tools.zip","C:\Windows\Temp\passwork_install\mongodb-database-tools.zip")Write-Host"Administration utilities downloaded successfully"}else{Write-Host"The file already exists. No download is required"}
Добавить утилиты MongoDB в переменное окружение Windows Server
PowerShell
$mongoDBToolsPath = "$env:ProgramFiles\MongoDB\Tools\100\bin"$currentPath = [System.Environment]::GetEnvironmentVariable("PATH",[System.EnvironmentVariableTarget]::User)if(-not$currentPath.Contains($mongoDBToolsPath)){$newPath = $currentPath+";"+$mongoDBToolsPath[System.Environment]::SetEnvironmentVariable("PATH",$newPath,[System.EnvironmentVariableTarget]::User)Write-Host"MongoDB utilities have been added to the PATH environment variable"}else{Write-Host"MongoDB utilities are already present in the PATH environment variable."}
4. Установка PHP8.2
⚠️ Необходимо установить версию PHP 8.2. Более новые версии на данный момент не поддерживаются.
Скачать .zip архив с PHP8.2
PowerShell
if(-not(Test-Path"C:\Windows\Temp\passwork_install\php8.2.zip")){(New-Object System.Net.WebClient).DownloadFile("https://portal.passwork.pro/windows/php8.2.zip","C:\Windows\Temp\passwork_install\php8.2.zip")Write-Host"PHP8.2 downloaded successfully"}else{Write-Host"The file already exists. No download is required"}
Добавить PHP8.2 в переменное окружение Windows Server
PowerShell
$phpPath = "$env:ProgramFiles\php8.2"$currentPath = [System.Environment]::GetEnvironmentVariable("PATH",[System.EnvironmentVariableTarget]::User)if(-not$currentPath.Contains($phpPath)){$newPath = $currentPath+";"+$phpPath[System.Environment]::SetEnvironmentVariable("PATH",$newPath,[System.EnvironmentVariableTarget]::User)Write-Host"The PHP8.2 directory has been added to the PATH environment variable"}else{Write-Host"The PHP8.2 directory is already present in the PATH environment variable"}
Скачать архив с следующими пакетами — Visual C++, URL Rewrite и PHP Manager
PowerShell
if(-not(Test-Path"C:\Windows\Temp\passwork_install\iis_package_latest.zip")){(New-Object System.Net.WebClient).DownloadFile("https://portal.passwork.pro/windows/packages/iis_package_latest.zip","C:\Windows\Temp\passwork_install\iis_package_latest.zip")Write-Host"Downloaded successfully"}else{Write-Host"The file already exists. No download is required"}
9. Настройка продукта для корректной работы в Chrome с SSL
При работе через SSL-соединение (HTTPS) браузер Chrome требует наличия флагов Secure и SameSite у cookie. Без этих флагов браузер не будет принимать куки, и вы не сможете авторизоваться в Пассворке в Chrome.
Для того чтобы установить эти флаги, включите параметр ;session.cookie_secure в файле C:\Program Files\php8.2\php.ini:
💡 Обратите внимание, файл config.ini генерируется после прохождения первоначальной настройки на странице установки.
💡 Не устанавливайте эти параметры или верните их в исходное значение, если вы передумаете использовать SSL и будете работать через HTTP-протокол.
10.Настройка фоновых задач
Фоновые задачи — это задачи, которые выполняются по планировщику в фоновом режиме. Например, синхронизация LDAP, загрузка фавиконов и другие задачи, которые требует много времени, постоянного выполнения или распределения ресурсов.
Перед выполнением действий по изменению и настройке параметров безопасности, настоятельно рекомендуем убедиться в стабильной и корректной работе Пассворка, а также создать резервную копию файлов, в которые вносятся изменения.
Безопасность сервера является важной частью обеспечения защиты ценных данных и ресурсов компании. Это процесс, который требует планирования и исполнения, чтобы обеспечить максимальную защиту от различных угроз.