How to install e107 CMS on Ubuntu 14.04

e107 is an open-source web application, written in PHP and using the popular open source MySQL database system for content storage. It is completely free and totally customizable. The e107 CMS provides all the features you need to build a basic website or a fully interactive web portal and it doesn’t require any knowledge of programming languages in order to use it to build a web site. It is fairly easy to install e107 CMS on an Ubuntu 14.04 VPS. The installation process should take about 5-10 minutes if you follow the very easy steps described below.


At the time of writing this tutorial, e107 CMS 2.0 is the latest stable version available and it requires:

– Apache web server;
– PHP (version 5.3 or higher) with GD graphics library;
– MySQL(version 5.1 or higher) installed on your Linux VPS;



Log in to your VPS via SSH

ssh user@vps_IP

Update the system

[user]$ sudo apt-get update && sudo apt-get -y upgrade

Install MariaDB 10.0

To install MariaDB, run the following command:

[user]$ sudo apt-get install -y mariadb-server

Next, we need to create a database for our e107 CMS installation:

[user]$ mysql -u root -p

MariaDB [(none)]> CREATE DATABASE e107;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON e107.* TO 'e107user'@'localhost' IDENTIFIED BY 'your-password';
MariaDB [(none)]> \q

Do not forget to replace ‘your-password’ with a strong password.

Install Apache2 web server

[user]$ sudo apt-get install apache2

Install PHP and required PHP modules

To install the latest stable version of PHP and all necessary modules, run:

[user]$ sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-mysql php5-gd

Download and extract the latest version of e107 CMS on your server

[user]$ sudo cd /opt && wget wget
[user]$ mkdir e107
[user]$ sudo unzip -d e107/
[user]$ sudo mv e107/ /var/www/html/e107/

All files have to be readable by the web server, so we need to set the proper ownership:

[user]$ sudo chown www-data:www-data -R /var/www/html/e107

Create a new virtual host directive in Apache. For example, create a new Apache configuration file named ‘e107.conf’ on your virtual server:

Need a fast and easy fix?
✔ Unlimited Managed Support
✔ Supports Your Software
✔ 2 CPU Cores
✔ 2 GB RAM
✔ 50 GB PCIe4 NVMe Disk
✔ 1854 GeekBench Score
✔ Unmetered Data Transfer

Now just $43 .99

[user]$ sudo touch /etc/apache2/sites-available/e107.conf
[user]$ sudo ln -s /etc/apache2/sites-available/e107.conf /etc/apache2/sites-enabled/e107.conf
[user]$ sudo nano /etc/apache2/sites-available/e107.conf

Then, add the following lines:

<VirtualHost *:80>
DocumentRoot /var/www/html/e107/
<Directory /var/www/html/e107/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
ErrorLog /var/log/apache2/
CustomLog /var/log/apache2/ common

Restart the Apache web server for the changes to take effect:

[user]$ sudo service apache2 restart

Open your favorite web browser, navigate to and if you configured everything correctly the e107 CMS installer should be starting. You should follow the easy instructions on the install screen inserting the necessary information as requested.

That is it. The e107 CMS installation is now complete.

For security reasons, it is recommended to set the ‘/var/www/html/e107/e107_config.php’ file permissions to 644 once you are done with the installation process.

Of course you don’t have to do any of this if you use one of our Managed CMS Hosting services, in which case you can simply ask our expert Linux admins to install e107 CMS for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

Leave a Comment