Learn How To Install Concrete5 on Ubuntu 16.04

June 5, 2019

Table of Contents


Concrete5 is an open source content management system (CMS) written in PHP. It has been designed for ease of use and provides a web interface that allows users to edit content directly from the page. Concrete5 can be installed on top of a LAMP stack on Ubuntu 16.04.


This tutorial assumes that you have already created a fresh IT Web Services Cloud Compute instance running Ubuntu 16.04, and have root access.

Step 1: Install Apache, MySQL and PHP, and other dependencies

Comcrete5 runs on top of a LAMP stack. You will need to install Apache, PHP, MySQL and a number of other required dependencies.

apt-get update
apt-get install apache2 mysql-server php7.0 php7.0-mysql php7.0-gd php7.0-mcrypt php7.0-xml php7.0-mbstring libapache2-mod-php7.0 unzip -y

Enter a secure MySQL password when prompted.

Step 2: Setup MySQL

Once all the required packages have been installed, you can proceed with setting up MySQL. Start the installation by executing.


Enter the MySQL password you created in Step 1. Answer the questions to complete the installation.

Would you like to setup VALIDATE PASSWORD plugin? [Y/N] N
Change the root password? [Y/N] N
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

Step 3: Create a MySQL Database for Concrete5

Login to the MySQL console.

mysql -u root -p

Enter the password you created in Step 1 to proceed. Once you are logged in to the MySQL console, create a new database for Concrete5.

mysql>CREATE DATABASE concrete5_db;

Create a new user and grant privileges to the Concrete5 database you just created. You can replace username and password with the username and password of your choice.

mysql>GRANT ALL PRIVILEGES on concrete5_db.* to 'username'@'localhost' identified by 'password';

Exit the MySQL console.


Step 4: Download & Install Concrete5

Navigate to your Apache server root directory.

cd /var/www/html

Download the Concrete5 archive from the official website, unzip it, and move the extracted files to /var/www/concrete5

wget --trust-server-names http://www.concrete5.org/download_file/-/view/96959/ -O concrete5.zip
unzip concrete5.zip
rm concrete5.zip
mv concrete5-8.2.1 concrete5
cd concrete5

Make the concrete5 directory writable by Concrete5.

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

Enable the Apache rewrite module.

sudo a2enmod rewrite

Restart Apache.

systemctl restart apache2

Step 5: Complete the installation with the Concrete5 web interface

You can now complete the installation with the Concrete5 web interface. Open your web browser and navigate to http://{your-server-ip}/concrete5 to launch the installer. During the installation you will be asked for your MySQL parameters. Use the username, password and database name you created in Step 3.

Server: localhost
MySQL Username: username
MySQL Password: password
Database Name: concrete5_db

Once the installation is complete you can move on to your newly created Concrete5 based website.

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!