Learn How To Installing Bolt CMS on Ubuntu 16.04 LTS
Table of Contents
- Requirements
- Before you begin
- Install PHP and required PHP extensions, MySQL and NGINX
- Configure NGINX
- Download and install Bolt CMS
If you are using a different system, please check our other tutorials.
Installing Bolt CMS on Debian 9 (Stretch)
Installing Bolt CMS on Fedora 28
Installing Bolt CMS on FreeBSD 12
Bolt is an open source CMS written in PHP. Bolt source code is hosted on GitHub. This guide will show you how to install Bolt CMS on a fresh Ubuntu 16.04 LTS IT Web Services instance.
Requirements
Make sure your server meets the following requirements.
- PHP 5.5.9 or higher
- The following common PHP extensions:
pdo
mysqlnd
(to use MySQL as a database)pgsql
(to use PostgreSQL as a database)openssl
curl
gd
intl
(optional but recommended)json
mbstring
(optional but recommended)opcache
(optional but recommended)posix
xml
fileinfo
exif
zip
- SQLite, MySQL or PostgreSQL database
- Apache with
mod_rewrite
enabled or NGINX
Before you begin
Check the Ubuntu version.
lsb_release -ds
# Ubuntu 16.04.3 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
Install PHP and required PHP extensions, MySQL and NGINX
Download and install PHP 7.0 and required PHP extensions. We will also install optional PHP extensions.
sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-mbstring php7.0-zip php7.0-mysql php7.0-pgsql php7.0-sqlite3 php7.0-curl php7.0-simplexml php7.0-common php7.0-gd php7.0-intl php7.0-json php7.0-opcache php7.0-xml php7.0-zip php7.0-common
Check PHP version.
php --version
# PHP 7.0.25-0ubuntu0.16.04.1 (cli) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.25-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies
Because there are many existing IT Web Services Docs detailing the installation of MySQL and NGINX, this article will only cover the configuration of NGINX.
Configure NGINX
Run sudo vim /etc/nginx/sites-available/bolt.conf
and copy/paste the following.
server {
listen [::]:80;
listen 80;
server_name example.com;
index index.php index.html;
root /var/www/bolt/public;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ [^/].php(/|$) {
try_files /index.php =404;
fastcgi_split_path_info ^(.+?.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_param HTTPS $https if_not_empty;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
Activate the new bolt.conf
configuration by linking the file to the sites-enabled
directory.
sudo ln -s /etc/nginx/sites-available/bolt.conf /etc/nginx/sites-enabled/
Test the NGINX configuration.
sudo nginx -t
Reload NGINX and restart PHP7.0-FPM.
sudo systemctl reload nginx.service
sudo systemctl restart php7.0-fpm.service
Download and install Bolt CMS
Create a document root directory.
sudo mkdir -p /var/www/bolt
Change ownership of the /var/www/bolt
directory to johndoe
.
sudo chown -R johndoe:johndoe /var/www/bolt
Navigate to the document root.
cd /var/www/bolt
Download the latest stable release of Bolt CMS from the command line.
wget https://bolt.cm/distribution/bolt-latest.zip
Install unzip
package.
sudo apt install unzip
Unzip Bolt CMS, remove the downloaded zip file and move Bolt CMS files and directories to the /var/www/bolt
directory.
unzip bolt-latest.zip
rm bolt-latest.zip
mv bolt-v3.4.8/* bolt-v3.4.8/.* . # Just press enter on warning
rmdir bolt-v3.4.8/
To finish the installation, you will need to rename the following files:
mv .bolt.yml.dist .bolt.yml
mv composer.json.dist composer.json
mv composer.lock.dist composer.lock
mv src/Site/CustomisationExtension.php.dist src/Site/CustomisationExtension.php
Change ownership of the /var/www/bolt
directory to www-data
.
sudo chown -R www-data:www-data /var/www/bolt
Open your domain/IP in the web browser and follow the Bolt CMS installation wizard. Bolt uses the SQLite database by default. If you want to use another supported database, you can configure it in the app/config/config.yml
file. After that you will have Bolt installed on your Ubuntu 16.04 LTS server. To access Bolt’s administrative interface append /bolt
to your IP/domain.
Need help?
Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!