Table of Contents

Installation - Local via apt

Security message

Install Overview

ITFlow runs on most “standard” Linux web servers. For the core functionality, you just need Apache, a database (MariaDB is highly recommended over MySQL) and PHP.

  1. Install a LAMP stack (Linux, Apache, MariaDB & PHP)
  2. Create a SQL database, username & password
  3. Clone ITFlow (https://github.com/itflow-org/itflow.git) in your web directory root
  4. Point your browser to https://itflow.yourdomain.com
  5. Go!

There's also a script that automates this process for you and uses Let's Encrypt certificates.

Ubuntu Setup Guide

This guide assumes you want to install ITFlow to the default /var/www/html/ directory, adjust this as required if you're using vhosts.

Update apt

Install Apache

Install MariaDB

Install PHP

Install Git & whois

Harden your Linux installation. As a starting point:

Enable PHP (hint: hit tab after typing php to get a suggested version number)

Adjust PHP File Upload Limits

Enable SSL

Add public/private TLS keys. You could also use LetsEncrypt, but setting this up is beyond the scope of this guide.

Adjust Apache's default SSL config to reflect the location of your keys:

Check Apache config

Enable the 00-default site

Reload Apache Service to apply the changes

Test: HTTP & HTTPS

Configure Apache to redirect HTTP to HTTPS

Log in to the database

Create a new database for ITFlow

Setup a user for the ITFlow app

Clone ITFlow to the Apache web directory

Set the web folder to be owned by Apache's www-data user

Set web folder & git permissions

Run through the initial setup by navigating to your web server using HTTPS

Once complete, tidy up the webserver permissions (The Apache/www-data user needs access to edit files as it self-updates using Git)

Done!


ITFlow on Windows is unsupported

Whilst it is technically possible to install ITFlow on Windows, we do not recommend this and cannot offer support for it. Many PHP functions simply do not work properly on Windows.