How To Install Concrete5 CMS on Ubuntu 22.04

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.

Pre-requisites :

  • A system with Ubuntu 22.04 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 Concrete CMS installation and configuration.

Update the System

apt update -y 

apt upgrade -y

Installing ConcreteCMS 5 on Ubuntu 22

Download the latest version of Concrete5 from the official site,

wget https://www.concretecms.com/application/files/3016/5350/5462/concrete-cms-9.1.1.zip    

unzip concrete-cms-9.1.1.zip

sudo mv concrete-cms-9.1.1 /var/www/html/concrete5

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

sudo chmod -R 755 /var/www/html/concrete5

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 DATABASE concretecms;

CREATE USER 'concrete'@'localhost' IDENTIFIED BY 'skj138u38347Y@234!';

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

FLUSH PRIVILEGES;

QUIT

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

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

ufw enable

Configuring Apache vHost

Now, create a new Apache configuration file cms.domainhere.info.conf for Concrete CMS with the following command.

Replace cms.domainhere.info with the domain name of your own for all the below code examples:

vi /etc/apache2/sites-available/cms.domainhere.info.conf

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

<VirtualHost *:80>

ServerName cms.domainhere.info
ServerAlias cms.domainhere.info
ServerAdmin admin@cms.domainhere.info
DocumentRoot /var/www/html/concrete5

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

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

</VirtualHost>

Enable SSL and Rewrite:

a2ensite cms.domainhere.info

a2enmod rewrite ssl

Restart Apache:

systemctl restart apache2

Configuring Concrete CMS

Now open the domain name with a /install.html from your browser, this will redirect you to configuring the final parts of the Concrete CMS installation.

https://cms.domainhere.info/install.html

Replace the cms.domainhere.info 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 Concrete CMS with LAMP Stack on Ubuntu 22.04.