This article is outdated and may not work correctly for current operating systems or software.
Fuel CMS is a CodeIgniter based content management system. Its source code is hosted on GitHub. This guide will show you how to install Fuel CMS on a fresh Ubuntu 16.04 LTS Vultr instance.
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.
Check 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
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, and remember the credentials.
create database dbname;
grant all on dbname.* to 'username' identified by 'password';
flush privileges;
Exit MySQL.
exit
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;
server_name example.com;
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
Create 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
wget https://github.com/daylightstudio/FUEL-CMS/archive/master.zip
unzip master.zip
rm master.zip
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.