We hope you find this tutorial helpful. In addition to guides like this one, we provide simple cloud infrastructure for developers. Learn more →

How To Install Xibo on Ubuntu 12.04

PostedFebruary 26, 2014 30.8k views CMS Ubuntu

Status: Deprecated

This article covers a version of Ubuntu that is no longer supported. If you are currently operate a server running Ubuntu 12.04, we highly recommend upgrading or migrating to a supported version of Ubuntu:

Reason: Ubuntu 12.04 reached end of life (EOL) on April 28, 2017 and no longer receives security patches or updates. This guide is no longer maintained.

See Instead:
This guide might still be useful as a reference, but may not work on other Ubuntu releases. If available, we strongly recommend using a guide written for the version of Ubuntu you are using. You can use the search functionality at the top of the page to find a more recent version.

Getting Started


Xibo is a digital signage platform that is released under an open-source license. If you are reading this and wondering what digital signage is – think about the information screen at your local Doctor's office or advertising in various shops.

The Xibo system is made up from two components: First of all there is the server, which is used to create and schedule the layouts; and then there is the client, which downloads all of the relevant information about the currently scheduled layout and displays this on the screen.

Considerations that should be made are mentioned below:

  1. Long term support - In a production environment, having long-term support available is really important. For this, I have chosen to use Ubuntu Server 12.04, which is supported until 2017.

  2. PHP settings - During the installation process, I will discuss some settings that need to be tweaked for the system to work as well as possible.

  3. File storage location - When set, the media files path should not be within the web server root folder structure.

Installation instructions


  1. An Ubuntu 12.04 droplet

  2. Apache 2 web server

  3. PHP5

  4. MySQL server

  5. PHP5 GD plugin

  6. PHP5 MySQL plugin

  7. PHP5 crypt plugin

Updating the VPS

When using Ubuntu, apt-get can be used to update the package repositories and also install any updates:

sudo apt-get update
sudo apt-get upgrade

When asked, have a look at the changes that apt-get is suggesting and accept them.

Install the packages

On the command line run the following commands. When asked, accept any changes that need to be made. Take care when setting the mysql root user, which will happen as part of the installation process.

sudo apt-get install apache2 mysql-server php5 php5-gd php5-mysql php5-mcrypt

Download and unpack the server files

The latest stable version of Xibo is 1.4.2. Running the following commands will download the server, unpack the files, move them to the relevant location and then change the ownership of the folders so that the web server has the access it requires.

cd ~
wget https://launchpad.net/xibo/1.4/1.4.2/+download/xibo-server-142.2.tar.gz
tar xvzf xibo-server-142.2.tar.gz
sudo mv xibo-server-142 /var/www/xibo-server
sudo chown www-data:www-data -R /var/www/xibo-server

Now, we need to provide a location for the media files to be stored in:

sudo mkdir /media/xibo-library
sudo chown www-data:www-data -R /media/xibo-library

Update the PHP configuration file

The default configuration of PHP is quite conservative when it comes to the time scripts can execute for and the size of files that can be uploaded. To make the needed changes, we will use the nano text editor:

sudo nano /etc/php5/apache2/php.ini

Once the file has been opened in nano, you can use the ctrl-w key combination to search for the following items:

  1. upload_max_filesize

  2. post_max_size

  3. max_execution_time

If you wish to be able to upload files of size up to 30MB and wish to be able to upload for a maximum of ten minutes, then make sure the lines look like the following:

upload_max_filesize = 30MB
post_max_size = 30MB
max_execution_time = 600

To save the file, press Ctrl-O and press Enter. Then exit by pressing Ctrl-X. Now restart the webserver so that these changes can be loaded:

sudo /etc/init.d/apache2 restart

Complete the installation using the web interface

The command line work has now been completed and all that remains is to visit the web-based installer to completely set up the xibo server. Open up a web browser and visit the following address:


This will then open up the install.php page:

The second step of the installer will verify that all of the dependencies have been installed successfully. Assuming success select Next.

The third step of the installer asks if you would like to use an existing database or create a new one. For new installations, I would always select to create a new database.

The fourth step is for you to input the settings of your mysql server. The root password is the one that you set earlier in this process and the xibo username and password are accounts that the installer will create for xibo to access this database.

Step five should complete quickly and shows that the database schema has been imported.

The sixth step asks for a password to be set for the xibo_admin administrative user. When entered, the installer at the next screen will verify that the password was entered and was satisfactory.

The seventh (and final) step is asking for us to provide the library location for the media files and a server key. This server key is important and is used so that the client can authenticate with the server. Without the correct server key, the client will not be able to download data from the server. Finally, decide whether anonymous statistics should be sent to the project maintainers
or not.

Now, we will see two screens in a row that confirm that settings are correct and that the system has been successfully installed. When looking at this second confirmation, go ahead and open up the login page.

Client and usage

The easiest way to test the server is to login and create some layouts. The usage of the server is beyond the scope of this tutorial and further information can be found here

Staying on the cutting edge

Being open-source, development of Xibo is done in the public eye. If you wish to help out with the development of the project, whether via programming new features, fixing bugs, providing translations or by testing new code, information can be found here.

Using the steps below, you will be able to install any of the public bzr branches, which are available on launchpad


  1. Like all pre-release software, the chance of bugs are higher than in released software. Without thorough testing, software will never be able to improve. That said, please do not use these releases in production!

  2. With some of the bzr branches, some functionality could be broken. Use a bzr branch of the code to test specific things.

  3. Even numbered releases (1.0, 1.2, 1.4) are considered stable and odd numbered releases (1.1,1.3,1.5) are development releases. These
    releases tend to be more stable than using a bzr branch and are available from the download page and can be installed in the same way as shown above.

Installing from a bzr branch

Firstly, we will need to install the bzr tools. At the command line enter:

sudo apt-get install bzr

Secondly, at the code page, select a branch that you are interested in and click on the lp: link. Clicking on the link for 1.6, a page opens with the following bzr-branch link. To take a copy, go back to the command line and enter:

cd ~
bzr branch lp:xibo

After a minute or two, a new folder will be available in your home folder and this can then be copied into the web-server root:

sudo cp xibo/server /var/www/xibo-server-bzr -R
sudo chown www-data:www-data -R /var/www/xibo-server-bzr

Now, we need to provide a location for the media files to be stored in:

sudo mkdir /media/xibo-library-bzr
sudo chown www-data:www-data -R /media/xibo-library-bzr

Once these steps have been completed, you can simply visit the new web-address like above, but replace xibo-server with xibo-server-bzr.
When asked about a database, create a new database with a different name to the stable install described earlier.

Final thoughts

Hopefully this tutorial has helped with installing the xibo server. If you wish to allow larger files to be uploaded in the future, simply follow the php.ini instructions that are listed earlier in this guide.

Article Submitted by: Matt Holder


Creative Commons License