Gibbon is an source that is open for schools. Founded in 2010 in response to lack of a powerful, usable and source that is open platform.

Designed No matter their size or resources.

Several to be flexible, extensible and themable from the beginning which aims to help teachers do their jobs in all schools main features of Gibbon are:

  • Learn
  • Assess
  • People
  • Admin
  • and other features like messaging and finance

You can learn more about Gibbon features from Gibbon features page.


In this tutorial we’ll learn how to install Gibbon on Ubuntu 14.04. We shall additionally install and configure its prerequisites.


We will install Gibbon in fresh installing Ubuntu Server 14.04. We likewise require these applications to run Gibbon:

  • Apache 2
  • MySQL 5
  • PHP >= 5.5
  • Gibbon additionally require these php libraries

Update Base System

Before we install Gibbon, let us upgrade the machine to your update that is latest.

$ Sudo apt-get update $ sudo apt-get -y upgrade 

Install Apache 2

After applying update that is latest to the base system, allows’s begin putting in Apache 2 and needed libraries.

$ sudo apt-get -y install apache2 apache2-bin apache2-data apache2-mpm-prefork libaio1 libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18 libterm-readkey-perl libwrap0 ssl-cert tcpd 

We can check out the Apache 2 solution status making use of demand below:

sudo solution apache2 status  * apache2 is operating 

We also can always check which slot Apache 2 is paying attention on utilizing the demand below.

 sudo netstat -naptu | grep apache tcp6       0      0 :::80                   :::*                    LISTEN      14873/apache2 

Install MySQL 5.6

We will install and make use of the MySQL 5.6 as database for Gibbon.

We use a MySQL Server 5.6 since MySQL 5.6 is considered the most current form of MySQL shipped with Ubuntu 14.04 Trusty Tahr.

$ sudo apt-get install that is-y 

We need to setup MySQL root password. Please input password for MySQL root user.

Verify root password.

Securing MySQL Installation.

We will secure the MySQL installation by running mysql_secure_installation.

Enter root password it, we’ll need the current password for the root user that we set on installation:


In order to log into MySQL to secure. If you have simply set up MySQL, along withn't set the basis password yet, the password is blank, so that you should simply press enter right here.

Enter present password for root (enter for none): okay, effectively utilized password, shifting...

Since we have root password set, solution this spend the n.

Setting the basis password means that no one can log to the MySQL root individual without authorisation that is proper

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] n ... skipping.

Remove the user that is anonymous enhance safety. This can make people that are sure application have correct username and password to login to MySQL. Answer with Y.

By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them.  This is intended only for testing, and to make the installation go a bit smoother.  They should be removed by you before stepping into a production environment.

Remove anonymous users? [Y/n] Y ... Success!

We would also like eliminate the root login from remote device. Solution with Y.

Normally, root should simply be permitted to link from 'localhost'.  This means that some one cannot imagine within root password through the community.

Disallow root login from another location? [Y/n] Y ... Success!

Previously the test database developed immediately by MySQL installation, but MySQL 5.6 cannot produce a test database. We could nevertheless select Y, it’s going to toss mistake but that is fine.

By standard, MySQL is sold with a database known as 'test' that everyone can access.  That is additionally meant limited to evaluating, and really should be eliminated before stepping into a production environment.

Remove Test access and database to it? [Y/n] Y - Dropping test database... ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist ... Failed! Not critical, keep moving... - Removing privileges on test database... ... Success!

The last step is to reload MySQL privilege table.

Reloading the privilege tables will ensure that all changes made so far will take effect immediately.

Reload privilege tables now? [Y/n] Y ... Success!

All done! If you've completed all of the above steps, your installation that is mySQL should be protected.

Thanks for making use of MySQL!

Cleaning up...

Create Database for Gibbon

Now we’ve a secure MySQL installation, time for you to produce database and individual for gibbon it self.

Login to MySQL making use of root credential.

$ Mysql root that is-u Enter password:  Welcome to the MySQL monitor.  Commands end with ; or g. Your MySQL connection id is 58 Server version: 5.6.30-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a trademark that is registered of Corporation and/or its affiliates. Other names could be trademarks of the particular owners.

Type 'help;' or 'h' for assistance. Type 'c' to clear the present input declaration.


Create brand new database known as gibbon making use of demand below:

mysql> CREATE DATABASE gibbon; Query okay, 1 line impacted (0.00 sec) 

Create a person for Gibbon

The database for gibbon is prepared, let us produce a username, password and give privileges to gibbon database.

Don’t forget to alter the password gibbon123secret below with better password.

mysql> GIVE each PRIVILEGES ON `gibbon`.* TO 'gibbon'@'localhost' IDENTIFIED with 'gibbon123secret'; Query okay, 0 rows impacted (0.00 sec) 

We need certainly to run FLUSH PRIVILEGES demand so your privileges dining table is reloaded by MySQL and now we may use brand new credential.

mysql> FLUSH PRIVILEGES; Query okay, 0 rows impacted (0.00 sec) 

Exit from MySQL system by typing q

mysql> q 

Install PHP 5

The final component before we can install gibbon is PHP 5. We will install PHP 5 and several common PHP libraries.

$ that we have to install sudo apt-get install that is-y php5-common php5-json php5-mysql php5-readline 

Install extra php libraries:

$ sudo apt-get -y install php5-curl php5-gd 

Restart the Apache 2 procedure so that the modifications is used

$ sudo solution apache2 restart 

Install gibbon

All prerequisites has already been set up. We are willing to install gibbon. The most recent stable form of gibbon can be obtained Gibbon down load web page.

At enough time of the writing, the newest stable variation is variation 13.0.01, let us install the gibbon compressed file making use of wget.

$ wget -c https://github.com/GibbonEdu/core/archive/v13.0.01.zip 

Extract the file that is downloaded unzip. If your system don’t have unzip yet, you can install unzip command that is using:

$ sudo apt-get -y install unzip 

Extract gibbon making use of unzip

$ unzip v13.0.01.zip 

Move removed directory to Apache directory.

$ sudo mv core-13.0.01 /var/www/gibbon 

Change ownership of gibbon directory to www-data individual and team.

$ sudo chown -R www-data:www-data /var/www/gibbon 

The gibbon files are prepared, now let us produce Apache Virtual Host setup to provide gibbon.

Configure Apache Virtual Host for http just

Create a brand new apache setup file on /etc/apache2/sites-available/gibbon.conf with articles below.

<VirtualHost *:80>     ServerName gibbon.exampleserver.xyz

DocumentRoot /var/www/gibbon

<Directory /var/www/gibbon> choices -Indexes +FollowSymLinks +MultiViews AllowOverride All need all given </Directory>

ErrorLog ${APACHE_LOG_DIR}/gibbon.exampleserver.xyz-error.log CustomLog ${APACHE_LOG_DIR}/gibbon.exampleserver.xyz-access.log combined


Don’t forget to alter gibbon.exampleserver.xyz above because of the domain title that you apply for the gibbon installation.

Enable your website making use of a2ensite demand.

$ sudo a2ensite gibbon 

Reload apache2 procedure we will be redirected to the Gibbon setup wizard.

Step 1 is requirement checking and language settings so it read the new virtualhost configuration:

$ sudo service apache2 reload 

Gibbon Setup Wizard

Open theGibbon URL. We should already pass all requirements now and we will use English as system language.

Step 2 is database configuration, enter database name and credentials that we created before.

Step 3 is account configuration, system settings and organization settings. You can input the data based on your requirements.

Step 4. Installation finished we can click the link to go to Gibbon homepage.

From Gibbon homepage we can login admin that is using that we create on setup wizard.

After an effective login we are going to head to Gibbon dashboard in which we could handle course as well as administrative settings.

Configure https just place for gibbon

Secure connection has become a requirement for internet application. Final action we does inside tutorial is changing the text to just utilize https.

We assume which you have SSL certificate and key that is private

Let’s create new apache virtual host configuration on /etc/apache2/sites-available/gibbon-ssl.conf with contents below. Don’t forget to change*********) that are:


  • SSLCertificateFile
  • SSLCertificateChainFile
  • SSLCertificateKeyFile
  • <VirtualHost *:80>    ServerName gibbon.exampleserver.xyz    Redirect permanent / https://gibbon.exampleserver.xyz/ </VirtualHost>

    <VirtualHost *:443>

    ServerName gibbon.exampleserver.xyz

    DocumentRoot /var/www/gibbon

    <Directory /var/www/gibbon> choices -Indexes +FollowSymLinks +MultiViews AllowOverride All need all given </Directory>

    ErrorLog ${APACHE_LOG_DIR}/gibbon.exampleserver.xyz-error.log CustomLog ${APACHE_LOG_DIR}/gibbon.exampleserver.xyz-access.log combined

    SSLEngine on SSLCertificateFile /etc/apache2/ssl/gibbon.exampleserver.xyz.crt SSLCertificateChainFile /etc/apache2/ssl/gibbon.exampleserver.xyz.crt SSLCertificateKeyFile /etc/apache2/ssl/gibbon.exampleserver.xyz.key

    Header constantly set Strict-Transport-Security "max-age=15768000"



    We also disable gibbon http just digital host and allow the latest digital host config.

    $ sudo a2dissite gibbon $ sudo a2ensite gibbon-ssl 

    The brand new host that is virtual need Apache mod_ssl and mod_headers modules. We need to enable those modules.

    $ sudo a2enmod ssl $ headers that are sudo a2enmod*****************)

    Now, restart Apache 2 solution therefore it will reload its setup. We must restart in the place of reload since we make it possible for brand new module.

    $ sudo solution apache2 restart 


    In this guide we discovered how-to install gibbon on Ubuntu 14.04.

    We set up most of the prerequisites, create individual and database on MySQL for Gibbon as well as configure Apache 2 digital hosts to provide gibbon.

    We additionally configured https settings for gibbon so we operate Gibbon firmly.

    How exactly to Install and Secure Grafana on Ubuntu 16.04

    Previous article

    How exactly to Upload Website data towards Hosting

    Next article

    You may also like


    Leave a reply

    Your email address will not be published. Required fields are marked *

    More in Apache