How to Install Concrete5 with LAMP Stack on Ubuntu 21.10

Concrete CMS is an open-source content management system for publishing content on the World Wide Web and intranets. Concrete CMS is designed for ease of use, for users with a minimum of technical skills. It enables users to edit site content directly from the page.

Check Concrete5 Project URL Here.

Pre-requisites :

  • A system with Ubuntu 21.10 installed and running.

  • root access to the system.

  • LAMP Stack installed and running, for this, you can refer to one of our guides on installing the LAMP Stack (Apache, MariaDB, and PHP).

Once you're all set, we'll proceed with Concrete5 installation and configuration.

Create Database

Let us begin with creating a Database and a user. We will then grant the required privileges to the user so it can interact with the Database.

mysql -u root


CREATE USER 'ccconcrete'@'localhost' IDENTIFIED BY 'UYGVc%$#Erfgt*&^%4';

GRANT ALL PRIVILEGES ON ccconcrete.* TO 'ccconcrete'@'localhost';



The above commands will give complete access to the user ccconcrete. We would suggest using a strong and long password.

Configuring Apache vHost

Now, create a new Apache configuration file for Concrete5 with the following command.

Replace with the domain name of your own for all the below code examples:

vi /etc/apache2/sites-available/

Now, press i to go to INSERT mode and type in the following lines of codes in the file.

<VirtualHost *:80>

DocumentRoot /var/www/html/

ErrorLog ${APACHE_LOG_DIR}/dev.domainhere.info_error.log
CustomLog ${APACHE_LOG_DIR}/dev.domainhere.info_access.log combined

<Directory /var/www/html/>
Options FollowSymlinks
AllowOverride All
Require all granted


Now make directory for Concrete5 files:

mkdir -p /var/www/html/

Enable SSL and Rewrite:


a2enmod rewrite ssl

Restart Apache:

systemctl restart apache2

Enable http and https ( 80/443 ):

To enable http and https connection through the firewall, follow the commands:

ufw allow 80/tcp

ufw allow 443/tcp

Download Concrete5

Let's download Concrete5:

cd /var/www/html/

git clone

cd concrete5/

composer install

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

chmod -R 775 /var/www/html/

Configuring Concrete5

Now open the IP address from your browser, this will redirect you to configuring the final parts of the Concrete5 installation.

Replace the with the actual IP or domain configured on the server.

Input the Database details which was configured earlier. Follow the below steps:

Now you have successfully installed Concrete5 with LAMP Stack on Ubuntu 21.10.