Using Server Manager, install IIS 8 and IIS Manager.
- Go to Manage > Add Roles and Features.
- Select Role-based or feature-based installation.
- In Server Selection, leave the default (local) server selected.
- In Server Roles, select
Web Seirver (IIS)
- In Features, make sure to select
.NET Framework 3.5 Featuresand
.NET Framework 4.5 Features
Using the Microsoft Web Platform Installer, install:
- PHP (v 7.x recommended; make sure you get an x86, non-thread safe version)
- URL Rewrite 2.0
This may download other products, including earlier versions of PHP. If you get a message about PHP Manager installation failing, don’t worry.
PHP should now be enabled as a FastCGI application in IIS. Look in IIS Manager and click FastCGI Settings.
Ensure that the version of PHP you want to use (usually, the newest one) is listed.
If the version isn’t listed, right-click on the FastCGI Settings pane and click Add Application. Enter the path to php-cgi.exe for the version of PHP you want to use with these settings:
Check that PHP is installed correctly by running the following from the command prompt:
You should get output similar to this:
If your system has multiple versions of PHP installed, the output of this command confirms which version is actually being used.
- Deskpro uses all HTTP request verbs (GET, POST, DELETE, PUT), but by default the PHP Manager only enables GET and POST. You need to enable the others:
- Open the IIS Manager
- Click on your Site in the left navigation pane.
- Double click on the “Handler Mappings” icon
- Double click on the PHP handler. It will have a name like “PHP_via_FastCGI”.
- Click on the “Request Restrictions...” button
- Switch to the “Verbs” tab, and switch the selection to “All Verbs”.
- Click OK, then then OK again to save.
Install the latest MySQL server; an easy way to do this is using MySQL Installer, select Server Only (despite the name, this also installs the command line client) and set the configuration type as Server Machine.
During the install, you will be prompted to create a root MySQL password; remember this.
You will also be able to set the MySQL server so that it runs as a service and starts automatically.
Download the latest version of Deskpro On-Premise fromhttps://www.deskpro.com/downloads/deskpro.zip.
Create a directory
Unzip the contents of the
Create a Site with the physical path being
Or you can edit the
Default Web Siteby right clicking it in the left navigation pane, and then select
Manage Website > Advanced Settings.
From the Advanced Settings window, edit the
Physical Pathto be
Set up a Scheduled Task to run
C:\deskpro\bin\cronas an argument once per minute.
To do this, open Task Scheduler and under the “Actions” section on the right, select Create Task. Use the following details:
- Name: Deskpro Task
- Security Options: * Select the user who owns the files (e.g. your currently logged-in user) * Select “Run whether user is logged on or not”
- Go to the Triggers tab and click “New” * Select “Daily” * Under Advanced, input “Repeat task every every 1 minute indefinitely”
- Go to the Actions tab and click “New” * Action: Start a program * Program: Click Browse and locate
php-win.exe(typically C:Program Files (x86)PHP<version>php-win.exe). * Arguments:
bin\cron* Start In:
See also: Setting up a Windows Scheduled Task.
Install Deskpro by opening the command prompt and running the special install command:
cd C:\deskpro "C:\path\to\php.exe" bin\install
You will need to use the same path to PHP that you used while configuring the scheduled task. You will instead use the
php.exe executable for the install command as
php-win.exe which is used in the scheduled task will not create an interactive output to run the install.
In your browser, go to http://localhost (or wherever IIS is serving the Deskpro site), and follow the final steps.
If you get a warning that HTTP methods are being blocked by your server, go to the IIS Manager Handler Mappings panel, edit the settings for php files, click Request Restrictions and select All verbs (more details here).
For production, you should ensure that write access to the files in wwwroot is restricted to the IIS worker process using Application Pool Identities.
You should also have Deskpro access the database through a MySQL user with more limited privileges than the root user. On Windows systems, you will have a shortcut to the command line MySQL client where you can do this.
Log in as the root MySQL user and run the following MySQL commands:
CREATE USER 'deskpro_user'@'127.0.0.1' IDENTIFIED BY 'password1';
(replacing “password1” with a more complex password of your choice).
GRANT ALL PRIVILEGES ON deskpro.* TO 'deskpro_user'@'127.0.0.1';
(this assumes the default database name ‘deskpro’ is being used: if you have changed the Deskpro database, you should replace ‘deskpro’ in the
deskpro.* part above with whatever name you used).
config/config.database.php to use the new MySQL user and password.
We recommend that you now install Elasticsearch to enable greatly improved search capabilities for agents and users.
You should be able to troubleshoot most installation problems by following the installation wizard’s instructions.
If you run into another problem, browse or search the installation section of the DeskPRO Knowledgebase.
These articles cover the most common problems that can prevent you getting to the installation wizard stage: