Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



This document contains some notes on how to install, and start using Blueline.

  1. Install dependencies

As Symfony uses Composer to manage its PHP dependencies, Blueline will need it.

If you don't have Composer yet, download it following the instructions on http://getcomposer.org/

Then, use the install command in the root directory to install Blueline's PHP dependencies:

php composer.phar install

Gulp is used to build front-end assets. Install Node and then install Gulp globally. Run npm install to do a first installation of all the build dependencies.

Blueline uses Doctrine for all database reads, but the data import scripts only work with PostgreSQL.

I use nginx as my web server, but there is no particular requirement for this. Both the currently supported PHP versions will work fine (5.6 and 7).

If you want the PNG image generation part to work, you'll need to install PhantomJS and make the phantomjs binary available in your $PATH.

  1. Checking your System Configuration

Copy ./app/config/parameters.yml.dist to ./app/config/parameters.yml and fill in the configuration options.

Create a virtual server pointing to ./web, and redirect all non-existent file requests to app.php. In a production environment you should block access to app_dev.php.

Make sure that your local system is properly configured for Symfony. Execute the check.php script from the command line:

php app/check.php

If you get any warnings or recommendations, fix them before moving on. The Symfony installation notes will help. The var/cache and var/logs directories must be writable both by the web server and the command line user.

  1. Create and initialise the database

Create a new PostgreSQL user if required (to match what was just put in the configuration), and run php ./app/console doctrine:database:create to create the database.

Install the fuzzystrmatch extension (used for the search functionality) into the Blueline database, by executing something like psql -d blueline -c "CREATE EXTENSION fuzzystrmatch".

Then have a look at Doctrine's table creation SQL with:

php ./app/console doctrine:schema:create --dump-sql

and make sure that it isn't going to destroy any of your existing data, then run it with:

php ./app/console doctrine:schema:create
  1. Do an initial data import and asset install

Run ./update. This will download and import the most recent data, create required assets in the web folder, and warm up all caches. Use the --nopull flag to do the update without pulling the latest code for Blueline from Github, and use the --nodata flag to update Blueline without reloading all the data.

  1. Use

Visit http://blueline.local/app_dev.php/ (or whatever address you've assigned to your local web server in step 2).

  1. Maintain

Running ./update again will pull the most recent code and data, and import everything as required. Don't blindly run the script in a production environment though, as things may break.