Skip to content

Getting started

Install WireFlow on Windows Server

Run WireFlow on your own Windows server with IIS, PHP and MySQL or MariaDB.

If you'd rather keep WireFlow on a server in your office, it runs on Windows Server 2016 or newer with IIS. This takes longer than cPanel hosting and is best done by whoever looks after your server.

Staff outside the office reach WireFlow through your server's web address, so it needs a public address and an SSL certificate, just like a website.

What you need

  • Windows Server with IIS, including the CGI feature (Server Manager, Add Roles and Features, Web Server, Application Development, CGI)
  • The IIS URL Rewrite module, free from Microsoft
  • PHP 8.2 or 8.3, the Non Thread Safe x64 zip from windows.php.net, plus the Visual C++ Redistributable it names
  • MariaDB 10.3+ or MySQL 5.7+ for Windows
  • The WireFlow zip from your licence email

1. Install PHP

  1. Unzip PHP to a folder such as C:\PHP.
  2. Copy php.ini-production to php.ini, then edit it:
    • set extension_dir = "ext"
    • remove the ; from these lines: extension=curl, extension=fileinfo, extension=gd, extension=mbstring, extension=openssl, extension=pdo_mysql, extension=sodium, extension=zip
    • set upload_max_filesize = 20M and post_max_size = 25M
    • set date.timezone = Europe/London
  3. In IIS Manager, open Handler Mappings for the server, choose Add Module Mapping: request path *.php, module FastCgiModule, executable C:\PHP\php-cgi.exe, name PHP.

2. Create the database

Install MariaDB or MySQL, then create a database and a user with full rights on it. From the MariaDB command prompt:

CREATE DATABASE wireflow CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wireflow'@'localhost' IDENTIFIED BY 'a-long-strong-password';
GRANT ALL PRIVILEGES ON wireflow.* TO 'wireflow'@'localhost';

3. Add the website

  1. Unzip WireFlow to a folder such as C:\inetpub\wireflow, so that index.php, web.config, app and storage sit directly inside it.
  2. In IIS Manager, Add Website: point it at that folder and give it your WireFlow web address.
  3. Give the IIS user write access to the storage folder: right-click storage, Properties, Security, Edit, add IIS_IUSRS and tick Modify. Do the same for the app folder while you install (you can remove it afterwards).

WireFlow includes a web.config that does the same job as .htaccess on cPanel: it keeps the app and storage folders private and sends every page through index.php.

4. Run the installer

Open your WireFlow address followed by /install/ and follow the same steps as on cPanel: Run the installer. Use 127.0.0.1 as the database host if localhost doesn't connect.

5. Schedule the hourly job

  1. Open Task Scheduler and choose Create Task.
  2. On Triggers, add a daily trigger that repeats every 1 hour for a duration of 1 day.
  3. On Actions, start C:\PHP\php.exe with the argument C:\inetpub\wireflow\cron.php.
  4. Tick Run whether user is logged on or not.

6. Email and HTTPS

  • Windows doesn't send email by itself, so set up an SMTP sender in WireFlow: see Send email from your own address.
  • Add an SSL certificate to the site's binding in IIS (for example with the free win-acme tool for Let's Encrypt), then remove the comment marks around the Force HTTPS rule in web.config.
Next: Activate your licence

Still stuck? Email hello@wireflow.uk and we'll help.