Windows Server
Installing Passwork on following OS:
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
Passwork is not resource demanding. The amount of resources required (RAM, CPU, HDD) and the number of servers depend on the number of active users, the amount of data stored, and the requirements for system fault tolerance.
See the full system requirements
Run PowerShell as Administrator:
- Right-click on the Start icon in the lower left corner of the screen;
- Select Windows PowerShell (Administrator) from the context menu.
If Windows Server 2016 is used, you must enable the TLS protocol to download packages to the operating system as described below
Create a temporary directory for downloading packages and archives:
Override user group names using SID:
Install the IIS role with the module:
Download the PHP archive:
In case of an error, you can download the archive manually — https://repos.passwork.pro/repository/windows_packages/php_build/83/php_latest.zip
Unzip the contents to Program Files:
Add PHP utilities to the PATH variable environment:
To test it, open a new PowerShell window and run the php -v cmdlet
Set Users permissions to the group for the PHP directory:
Download MongoDB installer:
In case of an error, you can download the installer manually — https://repos.passwork.pro/repository/windows_packages/mongodb_database_latest.msi
Install MongoDB by default:
To install MongoDB on another drive, you need to add "INSTALLLOCATION=A:\MongoDB"
Create a directory for the MongoDB administration utilities:
Download administration utilities:
In case of an error, you can download the installer manually — https://repos.passwork.pro/repository/windows_packages/database_tools_latest.zip
Unzip content:
Add administration utilities to the PATH variable environment:
Download archive with modules:
In case of an error, you can download the installer manually — https://repos.passwork.pro/repository/windows_packages/iis_package_latest.zip
Unzip modules for IIS:
Install Visual C++:
Install PHP Manager:
Install URL Rewrite:
Create a directory for Passwork:
Go to the Passwork customer portal and copy your certificate number:

Verify the available release candidate version of Passwork from the customer portal using the copied certificate number by query:
You need to make sure that a release candidate version of Passwork is available for downloading — 07xxxxxx
Get the latest version of Passwork by entering your certificate number:
Unzip Passwork to the IIS directory:
Create a web.config for redirect rules:
Set permissions for the Passwork location:
Connect modules in PowerShell to manage IIS:
Unlock the handlers configuration in IIS:
Get the ports in use by the operating system:
Check busy default ports for the website:
Create a website (Passwork Web Site) with HTTP protocol:
Register a PHP version for the website:
Activate drivers and extensions for the website:
Get the PHP version number into a variable:
Update the list of HTTP methods allowed for the PHP handler:
Restart the IIS web server:
Open http://localhost:80 or http://localhost:5353 test the connection to Passwork.
When you connect to Passwork for the first time, you will need to go over the checklist that includes:
- Automatic parameter checking
- Checking connection to MongoDB database
Change the connection to MongoDB to the address — mongodb://localhost:27017
- Generating an encryption key for MongoDB
- License verification
After finishing the checklist, you will be offered to create the first Passwork user and set their login, password and email address for notifications.
This user is always local and the owner of Passwork by default, in case of assigning LDAP/SSO user an owner, it will automatically become local and you will not be able to authorise in Passwork
Check busy default ports for the website:
Create a self-signed HTTPS certificate with a server name value:
Create HTTPS binding in the Passwork website:
Get the current binding of the Passwork website:
Bind a previously created self-signed certificate to the HTTPS protocol of the website:
Restart the IIS web server:
Open https://localhost:443 or https://localhost:444 to test the connection to Passwork
When using a secure SSL connection (HTTPS), client browsers require certain flags to process Passwork data.
If the session.cookie_secure flag is not set, browsers will not be able to establish a connection, which may result in authorization errors.
Set the ;session.cookie_secure parameter in the file C:\Program Files\php8.3\php.ini:
Do not set this parameter or reset it to its original value if you change your mind about using SSL and work over the HTTP protocol.
Background tasks are tasks that are executed by the scheduler in the background. For example, LDAP synchronisation, loading favicons, and other tasks that are time-consuming, persistent, or resource-demanding.
See a guide on setting up background tasks.