How to Install Concrete5 with LAMP Stack on Debian 11

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 Debian 11 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 DATABASE ccconcrete;

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

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

FLUSH PRIVILEGES;

quit

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 dev.domainhere.info.conf for Concrete5 with the following command.

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

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

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

<VirtualHost *:80>

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

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

<Directory /var/www/html/dev.domainhere.info>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

</VirtualHost>

Now make directory for Concrete5 files:

mkdir -p /var/www/html/dev.domainhere.info/

Enable SSL and Rewrite:

a2ensite dev.domainhere.info

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:

sudo ufw allow 80/tcp

sudo ufw allow 443/tcp

Download Concrete5

Let's download Concrete5:

cd /var/www/html/dev.domainhere.info

git clone https://github.com/concrete5/concrete5.git

cd concrete5/

composer install

chown -R www-data:www-data /var/www/html/dev.domainhere.info/

chmod -R 775 /var/www/html/dev.domainhere.info/

Configuring Concrete5

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

https://dev.domainhere.info

Replace the dev.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 Concrete5 with LAMP Stack on Debian 11.