Skip to content

Installing Concerto 2

Marvin Frederickson edited this page Jul 1, 2017 · 67 revisions

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 and Xen images are available, though conversion to other formats should be straightforward) 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 from Source: Download the latest stable build of Concerto and build and install Concerto and its dependencies. Concerto requires a *nix-like operating system and has not been shown to work in any Windows environment.

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


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 other Concerto gems and run in the background unless disabled 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 -k | 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-- at the very least you need to make sure the ServerName entry matches your server's hostname
  • 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:

  • 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 from Source:

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 ruby2.1 zlib1g-dev build-essential imagemagick librmagick-ruby ruby-rmagick libmagickcore-dev libmagickwand-dev nodejs libruby2.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

  4. cd concerto

  5. When Concerto is started up, it will by default execute the following commands: bundle install --path vendor/bundle bundle exec rake db:migrate bundle exec rake db:seed However, they may also be run manually and automatic migration and bundle installation can be disabled in config/concerto.yml.

  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. If in production mode (recommended), you will need to precompile static assets:

  • For most environments, run RAILS_ENV=production bundle exec rake assets:precompile
  • When deployed to a sub-url (e.g.,, run bundle exec rake assets:precompile RAILS_ENV=production RAILS_RELATIVE_URL_ROOT="/concerto"
  1. Install startup script by copying concerto-init.d to /etc/init.d/concerto and running update-rc.d concerto defaults

  2. 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.

Rotating Logs

If you like to have your logs rotated, you can add this (tweaked to your specific environment) to your /etc/logrotate.d directory. See also:

/usr/share/concerto/log/*.log {
	create www-data www-data
	su www-data www-data
	rotate 30

Running in an Isolated Network

If you want to run your Concerto installation in a subnet isolated from the internet then you will need to do the following. Local RSS feed and IFrame content will still work (from sources inside your network), but weather obviously wont work.

  • Get your server up and working while connected to the internet. You must be running at least version 2.3.5 (PR #1413 and PR #1414).
  • Change the "notify developers of errors" setting to false/unchecked under System settings.
  • Change the automatic_bundle_installation and airbrake_enabled_initially settings to false in the concerto.yml file in the config directory.
  • Isolate your network from the internet, restart your concerto website and services.
  • If you've installed additional concerto plugins then test them to make sure they still work.
  • Add content and screens as needed. The concerto player works fine.
You can’t perform that action at this time.