Installing Fuel CMS on Ubuntu 16.04 LTS : A Complete Guide

Fuel CMS is a CodeIgniter based content management system. Its source code is hosted on GitHub. In this tutorial, we will teach you how to install Fuel CMS on a fresh Ubuntu 16.04 LTS Vultr instance.

Server Requirements

  • Nginx or Apache server with .htaccess. This tutorial will use Nginx.
  • PHP version 5.4 or greater.
  • A MySQL 5.0 (or newer) database if using the Fuel admin. Currently, it does not support other databases.

Before you begin

Check the Ubuntu version.
lsb_release -ds
# Ubuntu 16.04.4 LTS
  Create a new non-root user account with sudo access and switch to it.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
  NOTE: Replace ‘johndoe’ with your username. Set up the timezone.
sudo dpkg-reconfigure tzdata
  Ensure that your system is up to date.
sudo apt update && sudo apt upgrade -y

Step 1 – Install PHP, MySQL and Nginx

Download and install PHP.
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-mysql
  Check PHP version.
php --version
  Install MySQL.
sudo apt install -y mysql-server
  Check MySQL version.
mysql --version
  Run the ‘mysql_secure_installation’ script.
sudo mysql_secure_installation
  Log in to MySQL as the root user.
mysql -u root -p
  Create a new MySQL database and user; be sure to remember the credentials.
create database dbname;

grant all on dbname.* to 'username' identified by 'password';

flush privileges;

Exit MySQL.

Install Nginx.
sudo apt install -y nginx
  Check Nginx version.
sudo nginx -v
  Configure Nginx.
sudo vim /etc/nginx/sites-available/fuel.conf
  Copy/paste the following directives.
server {

    listen 80;

    root /var/www/fuel;

    index index.php index.html index.htm;


    location / {

        try_files $uri $uri/ /index.php?q=$uri&$args;


    location ~ \.php$ {

        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; # Check this

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include fastcgi_params;


  Activate the new ‘fuel.conf’ configuration by linking the file to the sites-enabled directory.
sudo ln -s /etc/nginx/sites-available/fuel.conf /etc/nginx/sites-enabled/
  Test Nginx configuration.
sudo nginx -t
  Reload Nginx.
sudo systemctl reload nginx.service

Step 2 – Install Fuel CMS

Create the document root directory.
sudo mkdir -p /var/www/fuel
  Change ownership of the ‘/var/www/fuel’ directory to ‘johndoe’.
sudo chown -R johndoe:johndoe /var/www/fuel
  Install unzip.
sudo apt install unzip
  Download the latest release of Fuel CMS.
cd /var/www/fuel
mv FUEL-CMS-master/* .
rm -rf FUEL-CMS-master
  Configure the ‘fuel/application/config/database.php’ file with the proper database connection settings.
vim fuel/application/config/database.php
  Import the ‘fuel/install/fuel_schema.sql’ file into the newly created database.
mysql -u username -p password < fuel/install/fuel_schema.sql
  NOTE: Replace username and password with your database credentials. Change the ‘$config[‘encryption_key’]’ on line 327 found in the ‘fuel/application/config/config.php’ file. To generate a random key you can use the openssl tool.
vim fuel/application/config/config.php
  Enable the admin backend by changing ‘$config[‘admin_enabled’] = FALSE;’ to ‘TRUE’.
vim fuel/application/config/MY_fuel.php
  Change ownership of the ‘/var/www/fuel’ directory to ‘www-data’.
sudo chown -R www-data:www-data /var/www/fuel
  Using your preferred web browser, open your site and follow the Fuel CMS installer. After following the installer, you will have Fuel CMS up and running. To access the Fuel admin area, append /fuel to your site URL. Use the following login credentials Username: ‘admin’ and Password: ‘admin’. After logging in, you need to change your admin password.   Don’t miss our most-followed tutorials and articles;    
Updated on 13 Oct 2018
Add a comment
Login for Comment