Legacy
Passwork 4

Windows server 2016/2019

16min

How to install Passwork on Windows Server 2016/2019

1. Set hostname, install IIS 10, open 5353 port

Press Win+X, then Y and change default hostname. Change server hostname to passwork to enable passwork.local domain in your private network.

Document image


Open “Server Manager” and add “Web Server (IIS)” role.

Document image

Document image

Document image

Document image


2. Install MongoDB database

Open link https://www.mongodb.com/download-center/community choose “Server”, in the “Version” field, select the 4.2 version, in the “OS” field, select “Windows”, in the “Package” field, select “MSI”, then click “Download”. The process of downloading the MongoDB package will begin. Run the downloaded file to begin the installation process.

Or you can use the link https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.0-signed.msi to download the current version (at the time of writing the instructions) directly.

Document image


Click “Next”, agree to the terms of use, click “Next” again. Select the “Complete” option.

Document image


Check "Install MongoD as a Service". Click "Next".

Document image


Tick off “Install MongoDB Compass”. Click “Next” then “Install” to start installation process.

Document image


Click “Finish” after installation ends.

Windows Firewall Setup

Go to your “Control Panel” and then click on “System and Security”. Once there, click on “Windows Firewall”.

You should now see your Windows firewall like this:

Document image


Click on “Allow an app or feature trough Windows Firewall”, your window will change. Click on “Allow another app.” -> click “Browse” and add MongoDB Database Server application "C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe", then click "Add" and "Ok".

Document image


Verify that MongoDB has started successfully

Verify that MongoDB has started successfully by checking the log file at C:\Program Files\MongoDB\Server\4.2\log\mongod.log for the following line: [initandlisten] waiting for connections on port 27017

3. PHP installation

We will use Web Platform Installer for PHP installation, so open IE and go to https://www.microsoft.com/web/downloads/platform.aspx URL to install the extension.

Document image


Then click “Run”.

Document image


Accept terms and press “Install”. Press “Finish” after installation ends.

Open “Server Manager”, go to “Tools” and click on “Internet Information Services (IIS) Manager”, select server and double click on “Web Platform Installer”.

Document image


Go to “Products” tab and search for PHP. Select PHP 7.3 from the list and press “Add”. Then press “Install” and accept third party license terms.

Document image


You will see PHP Manager for IIS failed to install, this notice can be ignored. Click “Finish”. Click “Finish”.

4. Installing the MongoDB PHP Driver, Phalcon Framework and enabling additional extensions and options

Extract the “php_mongodb-1.5.5-7.3-nts-vc15-x86.zip” archive and copy “php_mongodb.dll” to “C:\Program Files (x86)\PHP\v7.3\ext”.

Extract the “phalcon_x86_vc15_php7.3_3.4.4_nts.zip” archive and copy “php_phalcon.dll” to “C:\Program Files (x86)\PHP\v7.3\ext”.

Open “C:\Program Files (x86)\PHP\v7.3\php.ini” in Notepad and add to the [Extension List] section the following lines:

Shell


Save modifications and close the Notepad.

Download and install Visual C++ Redistributable Packages for Visual Studio 2015. Choose "vcredist_x86.exe" version.

Restart “IIS” to reload PHP extensions.

Document image


5. Download and install Passwork

Sign in to your Passwork customer portal:

If login failed add portal.passwork.pro to the trusted sites in IE settings (settings → security tab → trusted sites).

Document image


Download Passwork as a ZIP-archive.

Document image


Extract archive and copy content to “C:\inetpub\wwwroot\” directory.

Document image


Set correct permissions

Open IIS Manager, then right click on website and click “Edit permissions”.

Document image


Press “Edit”, then “Add” and search for “IUSR” object. Select “IUSR” and grant “Write” permissions then click “Ok” twice.

Document image


Change website physical path

Right click on “Default Web Site” > “Manage Website” > “Advanced Settings”. Change website physical path to “C:\inetpub\wwwroot\public\”, then click “Ok”.

Document image


Rewrite rules

Using the “Web Platform Installer” install the “URL Rewrite” module.

Document image


Close IIS Manager and open it again, select a website. Double click on “URL Rewrite” icon. Click “Import rules” and select .htaccess file from website root directory, then click “Open” and “Import” buttons.

Click “Apply” button once imported.

Open http://passwork.local to access website.

6. Installation

When you open Passwork for the first time, you will see an installation wizard that will check if the server is configured correctly and allow you to enter the basic parameters.

💡 Leave all fields at their default values if you are installing a new copy of Passwork

Sign up an administrator

Enter the username and password for the first user. The user will automatically become the administrator and owner of the organization.

Document image


7. Configure SSL certificate on IIS 10

Open “Server Manager”, go to “Tools” and click on “Internet Information Services (IIS) Manager”, select server and double click on “Server Certificates”, then import certificate.

Document image


Go to sites, select your site and click “Bindings”. Select “https” protocol from drop-down list. Enter hostname “passwork.local”. Select SSL certificate from the list (in our case cert name is “https”).

Document image


Then click “Close”.

Check SSL connection by going to https://passwork.local.

8. Configuring the product to work correctly in Chrome with SSL

When working over an SSL connection (HTTPS), the Chrome browser requires the Secure and SameSite flags for the cookies. Without these flags, the browser will not accept cookies, and you will not be able to log into Passwork in Chrome.

To set these flags, enable the session.cookie_secure parameter in the C:\Program Files (x86)\PHP\7.3\php.ini file:

Shell


And set the parameter disableSameSiteCookie ([application] section)in file C:\inetpub\wwwroot\app\config\config.ini to value Off:

Shell


💡 Do not set these parameters or reset them to their original value if you change your mind about using SSL and will be working over the HTTP protocol



Updated 09 Oct 2024
Doc contributor
Did this page help you?