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.
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
- Unzip PHP to a folder such as
C:\PHP. - Copy
php.ini-productiontophp.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 = 20Mandpost_max_size = 25M - set
date.timezone = Europe/London
- set
- In IIS Manager, open Handler Mappings for the server, choose Add Module Mapping: request path
*.php, moduleFastCgiModule, executableC:\PHP\php-cgi.exe, namePHP.
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
- Unzip WireFlow to a folder such as
C:\inetpub\wireflow, so thatindex.php,web.config,appandstoragesit directly inside it. - In IIS Manager, Add Website: point it at that folder and give it your WireFlow web address.
- Give the IIS user write access to the
storagefolder: right-clickstorage, Properties, Security, Edit, addIIS_IUSRSand tick Modify. Do the same for theappfolder 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
- Open Task Scheduler and choose Create Task.
- On Triggers, add a daily trigger that repeats every 1 hour for a duration of 1 day.
- On Actions, start
C:\PHP\php.exewith the argumentC:\inetpub\wireflow\cron.php. - 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.
Still stuck? Email hello@wireflow.uk and we'll help.