How To Install Xibo on Ubuntu 12.04
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:
- Upgrade to Ubuntu 14.04.
- Upgrade from Ubuntu 14.04 to Ubuntu 16.04
- Migrate the server data to a supported version
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.
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.
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:
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.
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.
File storage location - When set, the media files path should not be within the web server root folder structure.
An Ubuntu 12.04 droplet
Apache 2 web server
PHP5 GD plugin
PHP5 MySQL plugin
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:
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
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
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!
With some of the
bzrbranches, some functionality could be broken. Use a
bzrbranch of the code to test specific things.
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
bzrbranch and are available from the download page and can be installed in the same way as shown above.
Installing from a
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.
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.
<div class=“author”>Article Submitted by: <a href=“http://www.mattmole.co.uk/wordpress/?p=10”>Matt Holder</a></div>