Installing Concerto 2
Marvin Frederickson edited this page on Jul 2 · 67 revisions
Pages 41
- Home
- [in progress] Docker Images
- [speculative] Near Screen Interaction
- [speculative] Social Media Integration
- A Working Concerto2 Workflow
- Auth Implementation
- Authentication
- Authorization
- Capistrano Deployment
- Concerto 1 FAQ
- Concerto 2 Goals
- Concerto Frontend
- Concerto Player Software
- Configuration
- Content API
- Show 26 more pages…
Clone this wiki locally
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.
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 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 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-- 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: http://dl.concerto-signage.org/concerto_server.ova
- 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)
- [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
- [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;
git clone https://github.com/concerto/concerto.git
cd concerto
- 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. - 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.
- 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., https://example.com/concerto/), run
bundle exec rake assets:precompile RAILS_ENV=production RAILS_RELATIVE_URL_ROOT="/concerto"
- Install startup script by copying concerto-init.d to /etc/init.d/concerto and running update-rc.d concerto defaults
- Go the the Concerto URL to setup the initial admin user.
Post Installation Tasks
- 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: https://gorails.com/guides/rotating-rails-production-logs-with-logrotate
/usr/share/concerto/log/*.log {
create www-data www-data
su www-data www-data
missingok
compress
daily
dateext
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
andairbrake_enabled_initially
settings tofalse
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.
Tidak ada komentar:
Posting Komentar