Concrete5 is an open source CMS which offers many distinctive and useful features to assist editors in producing contents easily and quickly.
This article will cover the process of installing Concrete5 on a CentOS 7 server.
A CentOS 7 x64 server instance.
A sudo user.
When logging in as a sudo user, you can update the system to the latest stable status as follows:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Deploying a Concrete5 website requires you to setup a web server. On CentOS 7, you can install the Apache web server using YUM:
sudo yum install httpd -y
Remove the Apache welcome page:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Disable Apacheâs public directory and file listing:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Start the Apache service and enable it on system boot:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Another component that Concrete5 requires is database software. On CentOS 7, you can install MariaDB 10.x as follows in order to get better performance.
cat <<EOF | sudo tee -a /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.1 CentOS repository list - created 2017-01-14 03:11 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
sudo /usr/bin/mysql_secure_installation
Reply to questions as below, and be sure to choose a strong MariaDB root password.
Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Log into the MySQL shell as root
:
mysql -u root -p
Type the MariaDB root password you set earlier and then press Enter
in order to log in.
In the MySQL shell, create a database concrete5
, a database user concrete5user
, and its password yourpassword
as follows.
Note: For security purposes, you should replace these sample parameters with your own ones.
CREATE DATABASE concrete5;
CREATE USER 'concrete5user'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON concrete5.* TO 'concrete5user'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
As required by Concrete5, you can install PHP 7.1 and necessary PHP extensions using the Webtatic YUM repo:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-mysqlnd php71w-xml php71w-common php71w-gd php71w-mbstring php71w-mcrypt php71w-cli php71w-xmlrpc -y
Download the latest stable release of Concrete5 from its official download page.
cd
wget https://core-releases.s3.amazonaws.com/9314/8193/0256/concrete5-8.0.3.zip
sudo yum install unzip -y
unzip concrete5-8.0.3.zip
sudo mv concrete5-8.0.3 /var/www/html
sudo chown -R apache:apache /var/www/html
Setup an Apache virtual host for Concrete5:
cat <<EOF | sudo tee -a /etc/httpd/conf.d/concrete5.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/concrete5-8.0.3/
ServerName concrete5.example.com
ServerAlias www.concrete5.example.com
<Directory /var/www/html/concrete5-8.0.3/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/concrete5.example.com-error_log
CustomLog /var/log/httpd/concrete5.example.com-access_log common
</VirtualHost>
EOF
Restart Apache:
sudo systemctl restart httpd.service
Modify firewall rules to allow http connections:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Point your web browser to http://203.0.113.1
, and then continue the installation.
On the Choose Language
page, choose your favorite language and then click the Right Arrow
button.
On the Testing Environment
page, make sure that all requests are satisfied, and then click the Continue to Installation
button.
On the Site Information
page, input information as below, and then click the Install Concrete5
button:
Site:
Name: example.com
Administrator Email Address: admin@example.com
Administrator Password: <your-admin-password>
Confirm Password: <your-admin-password>
Start Point:
Empty Site
or a Full Site
.Database:
Server: localhost
MySQL Username: concrete5user
MySQL Password: yourpassword
Database Name: concrete5
If nothing goes wrong, you will receive the Installation Complete
message on the screen. Click the Edit Your Site
button to start using Concrete5.
That concludes our tutorial. Thanks for reading.