Concrete5 linux installation manualConcrete5 is a CMS ( content management system ) which allows users to edit any page via editing toolbar and change its content or design without reading complicated manuals or navigating complex administration back-end.This article is a step-by-step installation guide of concrete5 CMS on Fedora linux using Apache webserver and mysql. There are no prerequisites required except a running RedHat/CentOS/Fedora Linux system and Internet connection.

Step 1: Install all prerequisites

# yum install httpd mysql-server php \ 
php-mysql php-gd

Step 2: Setup Apache

At this point you should have a Apache default /var/www/html directory ready. Otherwise follow these instructions on how to create a new VirtualHost, so you are able to run more websites on the same server. In this guide we will use/var/www/html directory as a root directory for Concrete5 installation.

Restart your Apache webserver:

# /etc/init.d/httpd restart

Step 3: Download Concrete5

At this point we can download Concrete5 installation pack from Concrete5 official website: .

When done, you should have a concrete5.<version>. zip file downloaded somewhere on your filesystem.

Step 4: Set Concrete5 for installation

In this step we will first copy concrete5.<version>. zip into /var/www/html , unzip it and set correct permissions. Let's start with coping a concrete5.<version>. zip file into /var/www/html:

# cp /your/location/concrete5.<version>.zip /var/www/html

unzip concrete5 installation files:

# cd /var/www/html
# unzip concrete5.<version>.zip

Move all Concrete5 installation files to a root of /var/www/html and change owner to apache. Change a version number to reflect your concrete5 installation pack:

# mv concrete5.4.1.1/* .; rmdir concrete5.4.1.1

Change owner to Apache user:

# chown -R apache.apache /var/www/html/

Change SElinux context to read and write for config/, packages/ and files/ directories within /var/www/html/

# cd /var/www/html/
# chcon -R -t httpd_sys_content_rw_t config/ packages/ files/

If you are experiencing problems that may be related to SElinux see this guide to learn how to disable SElinux temporarily or permanently.

Step 5: Create mysql database

At this point we need to create a MySQL database to by used by concrete5 CMS. Follow the steps below to create a database named concrete5. Also we will create a user “concrete5” with full access the concrete5 database and set user’s password to concrete5pass: Note: If this is your fresh MySQL installation you might need to restart your mysql service with:

# /etc/init.d/mysqld restart

Note: Default installation of MySQL provides a root user with an empty password. Consider change your root password with:

# /usr/bin/mysqladmin -u root password 'new-password'
# /usr/bin/mysqladmin -u root -h  password 'new-password'

and use -p option with MySQL command below:

# mysql
mysql> create database concrete5;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'concrete5'@'localhost' IDENTIFIED BY 'concrete5pass';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on concrete5.* to concrete5@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> quit

Step 6: Reaching for Concrete5 installer

At this point navigate your browser to your webserver’s hostname/IP and follow instructions provided by Concrete5 installer. The installation from this point on is rather self explanatory. For Database Information section use database details created in previous step. As "Server" use a hostname of your MySQL server, usually it is “localhost”.