How To Install Concrete5 CMS on Ubuntu 23.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.
Pre-requisites :
-
A system with Ubuntu 23.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 Concrete CMS installation and configuration.
Update the System
apt update -y
apt upgrade -y
Installing ConcreteCMS 5 on Ubuntu 23.10
Click Here to download the latest version of Concrete5 from the official site,
wget https://www.concretecms.com/download_file/71434b78-374b-4283-8d7d-da4fea982a13?_gl=1*qkwh2d*_ga*MTIzMzc5NTU3Mi4xNjk3NjY2OTgw*_ga_HFB3HPNNLS*MTY5NzY2Njk4MC4xLjEuMTY5NzY2NzEzNS4wLjAuMA.. -O concrete-cms-9.2.1.zip
unzip concrete-cms-9.2.1.zip
sudo mv concrete-cms-9.2.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 concrete.domainhere.info.conf
for Concrete CMS with the following command.
Replace
concrete.domainhere.info
with the domain name of your own for all the below code examples:
vi /etc/apache2/sites-available/concrete.domainhere.info.conf
Now, press i
to go to INSERT
mode and type in the following lines of codes in the concrete.domainhere.info.conf
file.
<VirtualHost *:80>
ServerName concrete.domainhere.info
ServerAlias concrete.domainhere.info
ServerAdmin admin@concrete.domainhere.info
DocumentRoot /var/www/html/concrete5
ErrorLog ${APACHE_LOG_DIR}/concrete.domainhere.info_error.log
CustomLog ${APACHE_LOG_DIR}/concrete.domainhere.info_access.log combined
<Directory /var/www/html/concrete5/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Enable SSL and Rewrite:
a2ensite concrete.domainhere.info
a2enmod rewrite ssl
Restart Apache:
systemctl restart apache2
Install Certbot
Certbot is a tool that simplifies the process of obtaining and renewing Let's Encrypt SSL certificates,
apt install certbot python3-certbot-apache
Generate SSL Certificate,
certbot --apache -d concrete.domainhere.info
Output:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/concrete.domainhere.info/fullchain.pem
Key is saved at: /etc/letsencrypt/live/concrete.domainhere.info/privkey.pem
This certificate expires on 2024-01-16.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for concrete.domainhere.info to /etc/apache2/sites-enabled/concrete.domainhere.info-le-ssl.conf
Your existing certificate has been successfully renewed, and the new certificate has been installed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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://concrete.domainhere.info/install.html
Replace the
concrete.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 23.10.
CrownCloud - Get a SSD powered KVM VPS at $4.5/month!
Use the code WELCOME
for 10% off!
1 GB RAM / 25 GB SSD / 1 CPU Core / 1 TB Bandwidth per month
Available Locations: LAX | MIA | ATL | FRA | AMS