How to install Concrete CMS on Rocky Linux 9.3
To Install Concrete CMS On Rocky Linux 9.3
Introduction:
Concrete CMS is an open-source content management system (CMS) that allows users to build and manage websites easily. It provides a user-friendly interface and various tools and features for creating and maintaining web content.
Installation Steps:
Step 1: Check the OS version by using the below command.
[root@Linuxhelp ~]# cat /etc/os-release
NAME="Rocky Linux"
VERSION="9.3 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.3"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.3 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
SUPPORT_END="2032-05-31"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.3"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.3"
Step 2: Install Apache web server by using the below command
[root@Linuxhelp ~]# dnf install httpd -y
Rocky Linux 9 - BaseOS 4.6 kB/s | 4.1 kB 00:00
Rocky Linux 9 - BaseOS 1.4 MB/s | 2.2 MB 00:01
Rocky Linux 9 - Extras 3.5 kB/s | 2.9 kB 00:00
Dependencies resolved.
===============================================================================================================
Package Architecture Version Repository Size
===============================================================================================================
Installing:
httpd x86_64 2.4.57-5.el9 appstream 46 k
Installing dependencies:
apr x86_64 1.7.0-12.el9_3 appstream 122 k
apr-util x86_64 1.6.1-23.el9 appstream 94 k
mod_lua x86_64 2.4.57-5.el9 appstream 60 k
Transaction Summary
===============================================================================================================
Install 11 Packages
Total download size: 2.0 M
Installed size: 6.0 M
Downloading Packages:
(1/11): mod_lua-2.4.57-5.el9.x86_64.rpm 201 kB/s | 60 kB 00:00
(2/11): httpd-2.4.57-5.el9.x86_64.rpm 548 kB/s | 46 kB 00:00
---------------------------------------------------------------------------------------------------------------
Total 1.3 MB/s | 2.0 MB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : apr-1.7.0-12.el9_3.x86_64 1/11
Installing : apr-util-bdb-1.6.1-23.el9.x86_64 2/11
Verifying : rocky-logos-httpd-90.14-2.el9.noarch 1/11
Verifying : mod_lua-2.4.57-5.el9.x86_64 2/11
Installed:
httpd-filesystem-2.4.57-5.el9.noarch httpd-tools-2.4.57-5.el9.x86_64 mod_http2-1.15.19-5.el9.x86_64
mod_lua-2.4.57-5.el9.x86_64 rocky-logos-httpd-90.14-2.el9.noarch
Complete!
Step 3: Enable and start the Apache Service by using the below command
[root@Linuxhelp ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.servi ce.
[root@Linuxhelp ~]# systemctl start httpd
Step 4: Check the status of the Apache service by using the below command
[root@Linuxhelp ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
Active: active (running) since Thu 2023-12-21 04:40:29 IST; 18s ago
Docs: man:httpd.service(8)
Main PID: 214512 (httpd)
Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec"
Tasks: 213 (limit: 22877)
Memory: 33.3M
CPU: 224ms
CGroup: /system.slice/httpd.service
├─214512 /usr/sbin/httpd -DFOREGROUND
├─214513 /usr/sbin/httpd -DFOREGROUND
├─214514 /usr/sbin/httpd -DFOREGROUND
├─214515 /usr/sbin/httpd -DFOREGROUND
└─214516 /usr/sbin/httpd -DFOREGROUND
Dec 21 04:40:29 Linuxhelp systemd[1]: Starting The Apache HTTP Server...
Dec 21 04:40:29 Linuxhelp httpd[214512]: AH00558: httpd: Could not reliably determine the server's fully quali>
Dec 21 04:40:29 Linuxhelp systemd[1]: Started The Apache HTTP Server.
Dec 21 04:40:29 Linuxhelp httpd[214512]: Server configured, listening on: port 80
lines 1-20/20 (END)
Step 5: Install php and its modules by using the below command
[root@Linuxhelp ~]# dnf install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring -y php-zip
Last metadata expiration check: 0:02:20 ago on Thursday 21 December 2023 04:38:53 AM.
Dependencies resolved.
===============================================================================================================
Package Architecture Version Repository Size
===============================================================================================================
Installing:
php x86_64 8.0.30-1.el9_2 appstream 7.7 k
php-fpm x86_64 8.0.30-1.el9_2 appstream 1.6 M
php-gd x86_64 8.0.30-1.el9_2 appstream 39 k
Installing dependencies:
libzip x86_64 1.7.3-7.el9 appstream 62 k
nginx-filesystem noarch 1:1.20.1-14.el9_2.1 appstream 8.5 k
Installing weak dependencies:
php-cli x86_64 8.0.30-1.el9_2 appstream 3.1 M
Transaction Summary
===============================================================================================================
Install 13 Packages
Total download size: 6.8 M
Installed size: 36 M
Downloading Packages:
[=== ] --- B/s | 0 B --:-- ETA
(1/13): nginx-filesystem-1.20.1-14.el9_2.1.noarch.rpm 43 kB/s | 8.5 kB 00:00
(2/13): php-pecl-zip-1.19.2-6.el9.x86_64.rpm 237 kB/s | 54 kB 00:00
(3/13): libzip-1.7.3-7.el9.x86_64.rpm 266 kB/s | 62 kB 00:00
---------------------------------------------------------------------------------------------------------------
Total 3.9 MB/s | 6.8 MB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : php-common-8.0.30-1.el9_2.x86_64 1/13
Installing : php-pdo-8.0.30-1.el9_2.x86_64 2/13
Verifying : nginx-filesystem-1:1.20.1-14.el9_2.1.noarch 1/13
Verifying : libzip-1.7.3-7.el9.x86_64 2/13
Verifying : php-pecl-zip-1.19.2-6.el9.x86_64 3/13
Installed:
libzip-1.7.3-7.el9.x86_64 nginx-filesystem-1:1.20.1-14.el9_2.1.noarch
php-8.0.30-1.el9_2.x86_64 php-cli-8.0.30-1.el9_2.x86_64
php-pdo-8.0.30-1.el9_2.x86_64 php-pecl-zip-1.19.2-6.el9.x86_64
php-xml-8.0.30-1.el9_2.x86_64
Complete!
Step 6: Check the installed version of the PHP by using the below command
[root@Linuxhelp ~]# php -v
PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
Step 7: Install mariadb-server by using the below command
[root@Linuxhelp ~]# dnf install mariadb-server -y
Last metadata expiration check: 0:03:11 ago on Thursday 21 December 2023 04:38:53 AM.
Dependencies resolved.
===============================================================================================================
Package Architecture Version Repository Size
===============================================================================================================
Installing:
mariadb-server x86_64 3:10.5.22-1.el9_2 appstream 9.6 M
Installing dependencies:
mariadb x86_64 3:10.5.22-1.el9_2 appstream 1.6 M
mariadb-common x86_64 3:10.5.22-1.el9_2 appstream 27 k
perl-DBD-MariaDB x86_64 1.21-16.el9_0 appstream 151 k
perl-Sys-Hostname x86_64 1.23-480.el9 appstream 17 k
Installing weak dependencies:
mariadb-backup x86_64 3:10.5.22-1.el9_2 appstream 6.4 M
mariadb-gssapi-server x86_64 3:10.5.22-1.el9_2 appstream 15 k
mariadb-server-utils x86_64 3:10.5.22-1.el9_2 appstream 210 k
Transaction Summary
===============================================================================================================
Install 13 Packages
Total download size: 18 M
Installed size: 109 M
Downloading Packages:
(1/13): mariadb-connector-c-config-3.2.6-1.el9_0.noarch.rpm 45 kB/s | 9.8 kB 00:00
(2/13): perl-Sys-Hostname-1.23-480.el9.x86_64.rpm 223 kB/s | 17 kB 00:00---------------------------------------------------------------------------------------------------------------
Total 5.9 MB/s | 18 MB 00:03
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : mariadb-connector-c-config-3.2.6-1.el9_0.noarch 1/13
Installing : mariadb-common-3:10.5.22-1.el9_2.x86_64 2/13
Installing : mariadb-connector-c-3.2.6-1.el9_0.x86_64 3/13
libsemanage.semanage_direct_install_info: Overriding mysql module at lower priority 100 with module at priority 200.
Verifying : mysql-selinux-1.0.5-1.el9_0.noarch 1/13
Verifying : mariadb-connector-c-3.2.6-1.el9_0.x86_64 2/13
Verifying : mariadb-connector-c-config-3.2.6-1.el9_0.noarch 3/13
Installed:
mariadb-3:10.5.22-1.el9_2.x86_64 mariadb-backup-3:10.5.22-1.el9_2.x86_64
mariadb-common-3:10.5.22-1.el9_2.x86_64 mariadb-connector-c-3.2.6-1.el9_0.x86_64
perl-DBD-MariaDB-1.21-16.el9_0.x86_64 perl-File-Copy-2.34-480.el9.noarch
perl-Sys-Hostname-1.23-480.el9.x86_64
Complete!
Step 8: Enable and Start the MariaDB service by using the below command
[root@Linuxhelp ~]# systemctl enable mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.s ervice.
[root@Linuxhelp ~]# systemctl start mariadb
Step 9: Check the status of the MariaDB service by using the below command
[root@Linuxhelp ~]# systemctl status mariadb
● mariadb.service - MariaDB 10.5 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: disabled)
Active: active (running) since Thu 2023-12-21 04:42:45 IST; 7s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 216568 ExecStartPre=/usr/libexec/mariadb-check-socket (code=exited, status=0/SUCCESS)
Main PID: 216673 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 14 (limit: 22877)
Memory: 74.3M
CPU: 779ms
CGroup: /system.slice/mariadb.service
└─216673 /usr/libexec/mariadbd --basedir=/usr
Dec 21 04:42:45 Linuxhelp mariadb-prepare-db-dir[216629]: The second is mysql@localhost, it has no password ei>
Dec 21 04:42:45 Linuxhelp mariadb-prepare-db-dir[216629]: you need to be the system 'mysql' user to connect.
Step 10: Login to the MariaDB console by using the below command
[root@Linuxhelp ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.5.22-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Step 11: Create a database by using the below command
MariaDB [(none)]> create database concrete5;
Query OK, 1 row affected (0.001 sec)
Step 12: Create a user by using the below command
MariaDB [(none)]> create user 'concrete5_usr'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.001 sec)
Step 13: Grant all privileges to the database for that user by using the below command
MariaDB [(none)]> grant all privileges on concrete5.* to 'concrete5_usr'@'localhost';
Query OK, 0 rows affected (0.001 sec)
Step 14: Flush the privileges by using the below command
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)
Step 15: Download the Concrete CMS package by using wget command
[root@Linuxhelp tmp]# wget --trust-server-names https://www.concretecms.com/download_file/277af433-97d4-4817-b4 8c-a758cd8adf96 -O concrete5.zip
--2023-12-21 04:44:41-- https://www.concretecms.com/download_file/277af433-97d4-4817-b48c-a758cd8adf96
Resolving www.concretecms.com (www.concretecms.com)... 108.158.251.124, 108.158.251.35, 108.158.251.101, ...
Connecting to www.concretecms.com (www.concretecms.com)|108.158.251.124|:443... connected.
HTTP request sent, awaiting response... 307 Temporary Redirect
Location: https://www.concretecms.com/application/files/7316/8202/4279/concrete-cms-9.2.0.zip [following]
--2023-12-21 04:44:42-- https://www.concretecms.com/application/files/7316/8202/4279/concrete-cms-9.2.0.zip
Reusing existing connection to www.concretecms.com:443.
HTTP request sent, awaiting response... 200 OK
Length: 76901122 (73M) [application/zip]
Saving to: ‘concrete5.zip’
concrete5.zip 100%[==========================================>] 73.34M 11.1MB/s in 6.6s
2023-12-21 04:44:49 (11.1 MB/s) - ‘concrete5.zip’ saved [76901122/76901122]
Step 16: Unzip the downloaded package by using the following package
[root@Linuxhelp tmp]# unzip concrete5.zip
Archive: concrete5.zip
creating: concrete-cms-9.2.0/
inflating: concrete-cms-9.2.0/composer.lock
extracting: concrete-cms-9.2.0/index.php
creating: concrete-cms-9.2.0/concrete/
creating: concrete-cms-9.2.0/concrete/blocks/
creating: concrete-cms-9.2.0/concrete/blocks/desktop_featured_theme/
inflating: concrete-cms-9.2.0/concrete/blocks/desktop_featured_theme/controller.php
inflating: concrete-cms-9.2.0/concrete/blocks/desktop_featured_theme/view.php
creating: concrete-cms-9.2.0/concrete/blocks/switch_language/
inflating: concrete-cms-9.2.0/concrete/blocks/switch_language/add.php
extracting: concrete-cms-9.2.0/concrete/blocks/switch_language/icon.png
inflating: concrete-cms-9.2.0/concrete/blocks/switch_language/controller.php
inflating: concrete-cms-9.2.0/concrete/blocks/switch_language/db.xml
inflating: concrete-cms-9.2.0/concrete/blocks/switch_language/view.php
creating: concrete-cms-9.2.0/concrete/blocks/switch_language/templates/
creating: concrete-cms-9.2.0/concrete/blocks/switch_language/templates/flags/
inflating: concrete-cms-9.2.0/concrete/blocks/switch_language/templates/flags/view.php
creating: concrete-cms-9.2.0/concrete/blocks/switch_language/templates/flags_set_default/
inflating: concrete-cms-9.2.0/concrete/blocks/switch_language/templates/flags_set_default/view.php
inflating: concrete-cms-9.2.0/concrete/blocks/switch_language/edit.php
inflating: concrete-cms-9.2.0/concrete/blocks/switch_language/form.php
creating: concrete-cms-9.2.0/concrete/blocks/page_attribute_display/
Step 17: Move the directory to the Apache document root directory by using the below command
[root@Linuxhelp ~]# mv concrete-cms-9.2.0/ /var/www/concrete5
Step 18: Change the ownership of the directory by using the below command
[root@Linuxhelp ~]# chown -R apache:apache /var/www/concrete5/
Step 19: Change the permission of the directory by using the below command
[root@Linuxhelp ~]# chmod -R 755 /var/www/concrete5/
Step 20: Create the file in the /etc/apache2/sites-available directory by using the below command
[root@Linuxhelp ~]# vim /etc/httpd/conf.d/concrete5.conf
Insert the following lines
<VirtualHost *:80>
ServerAdmin admin@linuxhelp.xyz
DocumentRoot /var/www/concrete5
ServerName linuxhelp.xyz
<Directory /var/www/concrete5>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /etc/httpd/logs/error.log
CustomLog /etc/httpd/logs/access.log combined
</VirtualHost>
Step 21: Check the syntax of the Apache configuration by using the below command
[root@Linuxhelp ~]# httpd -t
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:fe5f:5581%ens160. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Step 22: Disable the Apache default welcome page by using the below command
[root@Linuxhelp ~]# setenforce 0
Step 23: Check the syntax of the Apache configuration by using the below command
[root@Linuxhelp ~]# systemctl restart httpd
Now go to the browser and search with your local IP address , you will see the following page, Click next button
Here check the testing environment and click continue to Installation
Now, you will see the Site information page, Enter the following details and click Install Concrete CMS
It will take some times for installation
After the installation has been completed, Click edit your site button
Here you will see the concrete CMS welcome page
Conclusion:
We have reached the end of this article. In this guide, we have walked you through the steps required to Installation of Concrete CMS on Rocky Linux 9.3. Your feedback is much welcome.