How to install Concrete5 on a CentOS 6 VPS

concrete5 vpsConcrete5 is a powerful open source content management system (CMS) written in PHP that allows to deploy complex content driven websites and easily manage their content and structure. Concrete5 comes with many features such as WYSIWYG text editor, integrated spellchecker, content scheduling, advanced permissions system and more.

To install and run Concrete5 on a Linux VPS with CentOS follow the very easy steps described below.
The installation instructions apply to any Linux RPM based server with LAMP (Linux, Apache, MySQL and PHP) installed on it.

Currently, Concrete5 requires:

  • PHP >= 5.3 with the following PHP extensions enabled: MySQL, GD graphics library with freetype, mcrypt, mbstring, curl, iconv, openssl and zip;
  • Apache Web Server compiled with mod_rewrite module and ‘AllowOverride All’ set;
  • MySQL >= 5.0 installed on your Linux virtual server.

Download and unpack the latest version of Concrete5 available at :

cd /root
wget -O

Create a new MySQL database for Concrete5 on your server:

mysql -u root -p
mysql> CREATE DATABASE concrete5db;
mysql> GRANT ALL PRIVILEGES ON concrete5db.* TO 'concrete5'@'localhost' IDENTIFIED BY 'your-password' WITH GRANT OPTION;
mysql> quit

Create a new virtual host directive in Apache. For example, edit your Apache configuration file (/etc/httpd/conf/httpd.conf by default):

Uncomment the following line:

#NameVirtualHost *:80

then, add the following lines at the end:

DocumentRoot /var/www/html/concrete5/
<Directory /var/www/html/concrete5/>
	Options FollowSymLinks
        AllowOverride All
ErrorLog logs/
CustomLog logs/ common

Locate the php configuration file using the following command:

#php -i | grep php.ini
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

Edit the ‘php.ini’ file and add/modify the following lines:

post_max_size = 20M
upload_max_filesize = 20M
memory_limit = 128M
safe_mode = Off

Restart the Apache web server for the changes to take effect.

Move the Concrete5 installation files to the document root directory defined in the virtual host directive above:

mv /root/concrete5.6.2.1 /var/www/html/concrete5

Also, the webserver user (Apache) needs to be able to write to ‘files’, ‘config’ and ‘packages’ directories and the ‘.htaccess’ file, so you can easily accomplish that by executing the following command:

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

Open in a web browser. If all the requirements are met, click on the ‘Continue to Installation’ button. Enter the following information: your site name, email address and password for the admin user and the database information, then click on the ‘Install concrete5’ button.

Once the installation is complete, enable the search engine friendly or ‘Pretty URLs’: click on the ‘dashboard’ hyperlink -> ‘System & Settings’ -> ‘Pretty URLs’ -> ‘Enable Pretty URLs’ and press ‘Save’. Concrete5 generates and tries to add the following lines to the .htaccess file (/var/www/html/concrete5/.htaccess):

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]

That is it. The Concrete5 installation is now complete.

concrete5 website

Of course you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install Concrete5 for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

How to install the latest versions of node.js and Bower on Ubuntu 13.10
Install YetiForce CRM on Ubuntu 16.04
Install GlassFish 4.1 on a Centos 7 VPS
There are currently no comments.