Skip to content
This repository

Concerto 2 Digital Signage System

Choosing an installation method

Concerto can be installed via several methods

  • Debian Package: By far the easiest method of installation on an APT-based Linux system. This will install the latest stable Concerto build and get things up and running quickly. But it does make a number of assumptions about your use of Apache, ruby, and rubygems - and choices made based on that may not be suitable for all users. See the details below.

  • Virtual Machine Image: A total turnkey Concerto server inside a VM image. Simply download one of the images (VirtualBox, Xen, and Hyper-V images are available) and run it in any compatible VM software (such as VirtualBox) and log in via ssh to go through a simple setup procedure. All packages, configurations, and dependencies are already set up.

  • Installation Script: This script will only attempt to install and configure Concerto (and will bundle the gems inside of the Concerto directory - so as not to interfere with system-wide gems). It is more portable than the Debian package and will work on a wide variety of *nix systems without making very many assumptions about what may be running.

  • Manual Installation: Download the latest stable build of Concerto and build and install Concerto and its dependencies. No database configuration is necessary - as Concerto performs that upon startup.

  • Capistrano: Use the included capistrano script to deploy to your server. This is for experienced capistrano users. See the directions here.

Prerequisites

In general, Concerto 2 requires a webserver capable of serving Ruby on Rails applications and a recent version of Ruby, ImageMagick, RubyGems, and the Bundler gem to get started. Its many other requirements are satisfied through installing the gems specified in the Gemfile via Bundler. Depending on your installation method, much of this may be done for you. Some requirements of note:

  • A webserver (Apache 2 is highly recommended for this and Concerto provides VHost configurations for Apache to make this as simple as possible)

  • A Rack-compatible adapter (such as Phusion Passenger - which comes in Apache, Nginx, and other flavors). This can be installed as a gem.

  • A database (by default, SQLite is used, but this can be altered by changing config/database.yml as suggested in config/database.yml.mysql, using the install script with the MySQL option, or using the Virtual Machine Image)

  • ImageMagick is used for image processing and such and is a prerequisite for the RMagick gem that Concerto uses.

  • Delayed Job is used to process certain long-running tasks asynchronously. It will be installed with all the othiteer Concerto gems and run in the background unless disables in the Dashboard.

Concerto Debian Packages

APT(Debian/Ubuntu) Full Concerto Package:

The full concerto package (concerto-full) will closely replicate the setup of the server virtual image. It includes Imagemagick, Ruby 1.9, the MySQL client libraries, Apache2, and all the required libraries for Passenger (though Passenger itself will be installed outside of Debian (as the repository version is generally horribly outdated). The package drops the Concerto source code in /usr/share/concerto and then performs a few post-install tasks:

  • Installation of global gem dependencies listed below
  • Compilation of Passenger Apache extensions
  • bundle install in the vendor/bundle directory of Concerto
  • Creation of sqlite-based database.yml in the Concerto config directory

APT(Debian/Ubuntu) Lite Concerto Package:

The more lightweight Concerto package (concerto-lite) will make relatively few assumptions about a system's setup. It requires ImageMagick, Ruby 1.9, the MySQL client libraries and the associated ruby bindings.

Installing Concerto as a Debian Package:

  • Install curl using: sudo apt-get install curl
  • Add Concerto repository using: curl get.concerto-signage.org/add_repo.sh | sh
  • Install Concerto via APT: sudo apt-get install concerto-full (or concerto-lite)
  • Configure Concerto Vhost in /etc/apache2/sites-available/concerto as needed
  • Active Concerto VHost: sudo a2ensite concerto && sudo apache2ctl restart (making sure that any conflicting vhosts such as the default are disabled: sudo a2dissite 000-default)

Virtual Server Image (VirtualBox, VMWare, et. al.)

The virtual server image contains a full-stack installation of the Concerto webserver with all components pre-configured. The default username is concerto and the password is truc9awr. Users are prompted to change this at first logon.

VirtualBox Image: http://dl.concerto-signage.org/concerto_server.ova

Xen (Raw) Image: http://dl.concerto-signage.org/concerto_server.img.zip

  • Download the appropriate VM image
  • Load it into your VM tool of choice
  • Login using the credentials in the OVA file comments and follow the initial configuration scripts - which will set a proper root password and proper database credentials for Concerto (using randomized passwords).
  • Make any network-specific changes to /etc/apache2/sites-available/concerto and restart Apache if needed

Installing Concerto from Source Using Install Script:

The install.rb script will install Concerto from source, optionally configure a MySQL database, show a sample Apache configuration, and run a bundle install (with the --path=vendor/bundle option to avoid interfering with system-wide gem installations).

NB: The same core dependencies are required before using the install script as for the other methods. (On apt-compatible systems these are ruby1.9.1-full zlib1g-dev build-essential imagemagick librmagick-ruby libmagickcore-dev libmagickwand-dev nodejs libruby1.9.1 libsqlite3-dev libmysqlclient-dev libmysqlclient18 libxslt-dev)

Manual Installation:

NB: Upon startup, Concerto will create and configure a SQLite database. If you wish to alter this, edit config/database.yml appropriately. A sample MySQL database configuration file is provided in config/database.yml.mysql - it can replace config/database.yml when edited. Upon its next startup, Concerto will populate whatever database you've specified. Prerequisites: As above, make sure you have Ruby, RubyGems, Bundler, ImageMagick, Apache (or compatible webserver), Passenger (or compatible Rack adapter)

  1. [On Debian and Compatible] sudo apt-get install ruby1.9.1-full zlib1g-dev build-essential imagemagick librmagick-ruby libmagickcore-dev libmagickwand-dev nodejs libruby1.9.1 libsqlite3-dev libmysqlclient-dev libmysqlclient18 git-core libxslt-dev; sudo gem install bundler

  2. [For Apache & Passenger]: sudo apt-get install apache2-mpm-worker libcurl4-openssl-dev libssl-dev zlib1g-dev apache2-prefork-dev libapr1-dev libaprutil1-dev;sudo gem install passenger; sudo /usr/local/bin/passenger-install-apache2-module;

  3. git clone https://github.com/concerto/concerto.git

  4. cd concerto
  5. bundle install or bundle install --path vendor/bundle if you don't wish to install all of the Gem dependencies of Concerto/Rails globally (there are just over 115 of them).
  6. Set up the appropriate webserver configuration (VHosts such as the one here) (and restart for it to take effect) or simply type bundle exec rails server on the command line to get a quick development environment running (on localhost port 3000). Make sure that the permissions on the concerto directory allow the webserver user (generally www-data) access.
  7. Go the the Concerto URL to setup the initial admin user.

Post Installation Tasks

  1. Start (or restart) Concerto background services. Check for a ruby process owned by your web server user running clockwork
Something went wrong with that request. Please try again.