How to Install Concrete5 on CentOS 7

r00t February 1, 2018

Install Concrete5 on CentOS 7

In this tutorial we’ll learn how to install Concrete5 on CentOS 7. We will also install and configure its prerequisites. Concrete5 is a free and open source Content Management System (CMS). It is an easy to use, but yet powerful tool allowing users with no technical skills to build different types of websites. Concrete5 features in-context editing (the ability to edit website content directly on the page, rather than in an administrative interface or using web editor software).

I recommend to use a minimal CentOS server setup as a basis for the tutorial, that can be a virtual or a root server image with an CentOS 7 minimal install from a web hosting company or you use our minimal server tutorial to install a server from scratch.

Install Concrete5 on CentOS 7

Step 1. First, ensure your system and apt package lists are fully up-to-date by running the following:

yum -y install epel-release
yum -y update

Step 2. Installing LAMP on Ubuntu 16.04.

You should check out this LAMP stack install tutorial for Ubuntu 16.04, if you haven’t installed LAMP yet. Once it’s installed, come back here and read on. We also will install the required packages for LAMP stack and the important PHP extension that Concrete5 relies on:

apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0 php7.0-mcrypt php7.0-gd php7.0-mbstring php7.0-zip php7.0-dom php7.0-xml

Step 3. Installing Concrete5.

First, download Concrete5 from the official web site. The latest stable release is 8.0.3 so you can download it with the following command:

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

Now just set the right permissions for the folders:

sudo chown -R apache:apache /var/www/html

Step 4. Create a database for Concrete5.

Next, we need to create a database for the Concrete5 installation:

mysql -uroot -p

Run the following command to create a database for Concrete5:

MariaDB> CREATE DATABASE concrete5;
MariaDB> GRANT ALL PRIVILEGES ON concrete5.* TO 'concrete5usr'@'localhost' IDENTIFIED BY 'PASSWORD';
MariaDB> FLUSH PRIVILEGES;
MariaDB> exit

Step 5. Configure Apache web server for Concrete5.

Let’s configure an Apache virtual host. You can do this by creating /etc/httpd/conf.d/concrete.conf file:

sudo nano /etc/httpd/conf.d/concrete.conf

Add the following lines:

<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>

Save and close the file, then restart Apache service:

sudo systemctl restart httpd

We should allow HTTP traffic on port 80 through firewalld. You can do this by running the following command:

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload

Step 6. Accessing Concrete5.

You can now complete the installation with the Concrete5 web interface. Open your web browser and navigate to http://{your-server-ip} to launch the installer. During the installation you will be asked for your MariaDB parameters. Use the username, password and database name you created in Step 4.

Congratulation’s! You have successfully install and configured Concrete5 on your CentOS 7 server. Thanks for using this tutorial for installing Concrete5 content management system on CentOS 7 system.

The Tags:

Leave a Comment

Comments are closed.