How to Install Concrete5 on CentOS 7

Using a Different System?

  • How to Install Concrete5 on Ubuntu 16.04 LTS

Are we missing a guide for your target system? Request one, or submit your own!


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.

Prerequisites

  • A CentOS 7 x64 server instance.
  • A sudo user.

Step 1: Update the system

When logging in as a sudo user, you can update the system to the latest stable status as follows:

sudo yum install epel-release -ysudo yum update -ysudo shutdown -r now

Step 2: Install Apache

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.servicesudo systemctl enable httpd.service

Step 3: Install MariaDB 10

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.

3.1 Create the MariaDB 10.1 YUM repo:

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 = MariaDBbaseurl = http://yum.mariadb.org/10.1/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1EOF

3.2 Install MariaDB 10.1 using YUM:

sudo yum install MariaDB-server MariaDB-client -y

3.3 Start the MariaDB service:

sudo systemctl start mariadb.servicesudo systemctl enable mariadb.service

3.4 Secure the installation of MariaDB:

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): EnterSet root password? [Y/n]: YNew password: <your-password>Re-enter new password: <your-password>Remove anonymous users? [Y/n]: YDisallow root login remotely? [Y/n]: YRemove test database and access to it? [Y/n]: YReload privilege tables now? [Y/n]: Y

3.5 Setup a database for Concrete5:

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;

Step 4: Install PHP 7

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.rpmsudo yum install mod_php71w php71w-mysqlnd php71w-xml php71w-common php71w-gd php71w-mbstring php71w-mcrypt php71w-cli php71w-xmlrpc -y

Step 5: Install Concrete5

Download the latest stable release of Concrete5 from its official download page.

cdwget https://core-releases.s3.amazonaws.com/9314/8193/0256/concrete5-8.0.3.zipsudo yum install unzip -yunzip concrete5-8.0.3.zipsudo mv concrete5-8.0.3 /var/www/htmlsudo 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.comDocumentRoot /var/www/html/concrete5-8.0.3/ServerName concrete5.example.comServerAlias www.concrete5.example.com<Directory /var/www/html/concrete5-8.0.3/>Options FollowSymLinksAllowOverride AllOrder allow,denyallow from all</Directory>ErrorLog /var/log/httpd/concrete5.example.com-error_logCustomLog /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=httpsudo 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:

  • Decide to create a 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.

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article

No comments

Powered by Blogger.