Skip to content

Instantly share code, notes, and snippets.

@StuntMonkeh
Created November 20, 2012 10:26
Show Gist options
  • Save StuntMonkeh/4117151 to your computer and use it in GitHub Desktop.
Save StuntMonkeh/4117151 to your computer and use it in GitHub Desktop.
Installing Concerto Server on Raspberry Pi - Basic Guide

Download the Raspberian image for the Raspberry PI and copy the image to an SD card.

Boot the RPI with the SD card.

Make a note of the IP address of the RPI

Using the RPI config menu. Select all disk to use.

Enable SSH

Restart the RPi

Login: pi
Password: raspberry

##Install Apache Webserver, Mysql, PHP and phpmyadmin.

sudo apt-get install apache2 mysql-server php5 php5-mysql phpmyadmin

Follow the instructions for the installation.

##Open up the GUI for Raspberian

startx

##Test that the components for the LAMP have installed correctly. Open the web browser Midori. There is an icon on the desktop.

Type in the address bar at the top

localhost

You should see simple webpage which says

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

If this doesn't happen go back and make sure all of the components in step 1 have been installed.

##Login to the Mysql database using phpMyAdmin. Login to the phpMyAdmin page using the Midori browser by entering the following address

localhost/phpmyadmin

You should see a webpage that says "Welcome to phpMyAdmin". Enter the username

root

Enter the password you entered when installing Mysql and click "GO"

Click on "Privileges" button along the top line.

Click "Add a new User"

Now enter the following into the Login Information

User name: concerto
Host: localhost
Password: [CREATE YOUR OWN PASSWORD]

Before you click "Create User" make sure that the radio button "Create database with same name and grant all privilages" is selected.

Now click "Create User"

You have now created a user and blank database for concerto.

##Get the link for the latest stable version of Concerto Using Midori open the following page.

http://www.concerto-signage.org/deploy

Right click the download for concerto and click "copy link location"

##Download Concerto using the terminal. Open LXTerminal in the Accessories menu group.

In the command line type

wget

and then right click and paste the link we just got in the previous step

you should now see something like this

wget https://github.com/concerto/concerto_v1/tarball/concerto-1.9.3-NoCAS

Hit Enter and you will download the file

##Extract the file Still in the terminal window enter the following command

tar -xzvf concerto*

##Make a directory in the web folder

sudo mkdir /var/www/concerto

##Move the files to the Apache webserver directory

cd concerto-concerto_v1-ec28e35
sudo mv * /var/www/concerto

##Create some directories for images and templates

mkdir /var/www/concerto/content/images
mkdir /var/www/concerto/content/templates

##Navigate to the Concerto install webserver directory

cd /var/www/concerto/install

##Run the Concerto SQL installation scripts

mysql -u concerto -p -h localhost concerto < schema.sql
mysql -u concerto -p -h localhost concerto < data.sql

##Add an MD5 hashed password for the admin user

mysql -u concerto -p -h localhost concerto

update user set password="e3274be5c857fb42ab72d786e281b4b8" where id = 0;

exit

This adds the password 'adminpassword'

##Create a copy of the config

cd /var/www/concerto
cp config.inc.php.sample config.inc.php

##Edit the config file

sudo nano config.inc.php

Edit the necessary parts of the file to as you see here.

//Database Connection
$db_host = 'localhost';
$db_login = 'concerto';
$db_password = 'YOUR PASSWORD';
$db_database = 'concerto';
//Important paths

define('ROOT_DIR', '/var/www/concerto/');                    //server-side path where Concerto lives
define('COMMON_DIR', ROOT_DIR.'common/');             //server-side path to dir with resources for
                                                       //  multiple portions of Concerto, must end in a "/"
define('CONTENT_DIR', ROOT_DIR.'content/');      //server-side path to content images
define('IMAGE_DIR', CONTENT_DIR.'images/');      //server-side path to content images
define('TEMPLATE_DIR', CONTENT_DIR.'templates/');//server-side path to screen templates

//URLS for hyperlinks and the like
define('ROOT_URL', '/concerto/');                         //the root location where Concerto lives
define('SCREEN_URL', ROOT_URL.'screen/');        //location of front-end screen program
define('HARDWARE_URL', ROOT_URL.'hardware/');    //location of management for on-location machines
define('ADMIN_BASE_URL', ROOT_URL.'admin/');     //base URL on server for images, css, etc. for interface
define('ADMIN_URL', ADMIN_BASE_URL.'index.php'); //URL that can access this page (may be same as ADMIN_BASE_URL if mod_rewrite configured)

Once you have finished editing the file press CTRL+X

Then Y

Then press enter.

You have now modified the config for Concerto for your installation.

##Allow write access to certain directories Your web server will require write access to the /content directory and its subdirectories. To adjust permissions enter the following

chown -R www-data /var/www/concerto/content

##Add Cron Job

sudo nano /etc/crontab

Add

*/5 * * * * wget --delete-after --quiet http://localhost/common/scripts/cron.php

##Run Concerto test Open the Midori browser and type in the following to the address bar.

localhost/concerto/install/diagnostics.php

The response should look something like this

This page checks some system settings and configuration options to help judge if Concerto will work as intended. It is by no means exhaustive or all inclusive.
PHP Enviroment

    PHP Version: PASS (5.4.4-9)
    MySQL Support: PASS (Ok)
    GD Support: PASS (2.0)
    JSON Support: PASS (OK)
    PATH INFO Global: PASS (/test)

Concerto Config

    Config access: PASS (OK)
    Common Directory: PASS (OK)
    Image Upload Directory: PASS (OK)
    Template Upload Directory: PASS (OK)
    MySQL Connection test: PASS (OK)

##Log In to the Concerto Dashboard In the Midori browser and type in the following to the address bar.

localhost/concerto/

Click "Log In"

Username: admin
Password: adminpassword

You should now be logged into the Concerto dashboard.

@mfrederickson
Copy link

@StuntMonkeh I'm curious why you've chosen to install all that on the pi and how well it is performing for you? I've got a setup where the pi is just used for the display and the concerto server is on another machine.

@JonEdwardsOrg
Copy link

Apache2 Config for Concerto?
to add to these great instructions please.
In /etc/apache2/apache2.conf:

  1. I've added "Include /etc/phpmyadmin/apache.conf" for phpmyadmin but
  2. What is needed for Concerto please?
    I can't find a conf file to include.
    Many thanks.

@starsmriti
Copy link

For localhost/concerto/install/diagnostics.php

Getting this response:

Not Found

The requested URL /concerto/install/diagnostics.php was not found on this server.

Apache/2.4.25 (Raspbian) Server at localhost Port 80

Also, I do not see /etc/init.d/concerto which signifies concerto is not installed.

Any help will be appreciated!

@johnymon84
Copy link

@starsmriti this instruction is for concerto which used to work on php. Current version is on Ruby

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment