Table of Contents
Was this article helpful?

1  out of  1 found this helpful

Try Vultr Today with

$50 Free on Us!

Want to contribute?

You could earn up to $600 by adding new articles.

How to Install Concrete5 on Ubuntu 16.04 LTS

Last Updated: Mon, Feb 5, 2018
Linux Guides Server Apps System Admin Ubuntu Web Servers
Archived content

This article is outdated and may not work correctly for current operating systems or software.

Concrete5 is an open source CMS which offers many distinctive and useful features to assist editors in producing contents easily and quickly.

This article will cover the process of installing Concrete5 on an 16.04 LTS x64 server.


Step 1: Update the system

Update the system to the latest stable status as follows.

apt-get update && apt-get upgrade 

Step 2: Install Apache

Deploying a Concrete5 website requires you to setup a web server. On Ubuntu 16.04, you can install the Apache web server using apt.

apt-get install apache2 -y

Remove the Apache welcome page.

sudo sed -i 's/^/#&/g' /etc/apache2/sites-available/000-default.conf

Disable Apache’s public directory and file listing.

sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

Start the Apache service and enable it on system boot.

systemctl start httpd.service

systemctl enable httpd.service

Step 3: Install MariaDB 10

Another component that Concrete5 requires is database software. On Ubuntu 16.04 LTS, you can install MariaDB 10 as follows in order to get better performance.

Install MariaDB 10.1.

apt-get install software-properties-common

apt-key adv --recv-keys --keyserver hkp:// 0xF1656F24C74CD1D8

add-apt-repository 'deb [arch=amd64,i386,ppc64el] xenial main'

apt update -y

Install MariaDB 10.1 using apt.

apt install -y mariadb-server

Start the MariaDB service.

systemctl start mariadb.service

systemctl enable mariadb.service

Next secure the installation of MariaDB.


Reply to questions as below, and be sure to choose a strong MariaDB root password.

Enter current password for root (enter for none): Enter

Set root password? [Y/n]: Y

New password: <your-password>

Re-enter new password: <your-password>

Remove anonymous users? [Y/n]: Y

Disallow root login remotely? [Y/n]: Y

Remove test database and access to it? [Y/n]: Y

Reload privilege tables now? [Y/n]: Y

Setup a database for Concrete5. Log into the MySQL shell as root.

mysql -u root -p

Type the MariaDB root password you set earlier and then press "Enter" in order to log in.

In the MySQL shell, create a database concrete5, a database user concrete5user, and its password yourpassword as follows.

Note: For security purposes, you should replace these sample parameters with your own ones.


CREATE USER 'concrete5user'@'localhost' IDENTIFIED BY 'yourpassword';

GRANT ALL PRIVILEGES ON concrete5.* TO 'concrete5user'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;



Step 4: Install PHP 7

As required by Concrete5, install PHP 7 and necessary PHP extensions.

apt-get install -y php7.0 libapache2-mod-php7.0 php7.0-cli php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt php7.0-zip

Step 5: Install Concrete5

Download the latest stable release of Concrete5 from its official download page.

cd /tmp


apt-get install unzip -y


mv concrete5-8.0.3 /var/www/html

chown -R www-data:www-data /var/www/html

Setup an Apache virtual host for Concrete5.

nano /etc/apache2/sites-enabled/concrete5.conf

<VirtualHost *:80>


    DocumentRoot /var/www/html/concrete5-8.0.3/



    <Directory /var/www/html/concrete5-8.0.3/>

        Options FollowSymLinks

        AllowOverride All

        Order allow,deny

        allow from all


    ErrorLog /var/log/apache2/

    CustomLog /var/log/apache2/ common


Restart Apache.

systemctl restart apache2.service

Modify and enable the firewall rules to allow HTTP connections.

ufw allow 22/tcp

ufw allow 80/tcp

Next enable the firewall.

ufw enable

Don't worry if you get a warning. If you added port 22, you will not have any issues.

root@vultr:~# ufw enable

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y

Firewall is active and enabled on system startup

Point your web browser to, and then continue the installation.

On the Choose Language page, choose your favorite language and then click the Right Arrow button.

On the Testing Environment page, make sure that all requests are satisfied, and then click the Continue to Installation button.

On the Site Information page, input information as below, and then click the Install Concrete5 button.


* Name:

* Administrator Email Address:

* Administrator Password: <your-admin-password>

* Confirm Password: <your-admin-password>

Start Point:

* Decide to create a Empty Site or a Full Site.


* Server: localhost

* MySQL Username: concrete5user

* MySQL Password: yourpassword

* Database Name: concrete5

You will receive the Installation Complete message on the screen. Click the Edit Your Site button to start using Concrete5.

Want to contribute?

You could earn up to $600 by adding new articles.