Concrete5 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 http://www.concrete5.org/ :
cd /root wget http://www.concrete5.org/download_file/-/view/58379/8497/ -O concrete5.zip unzip concrete5.zip
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> FLUSH PRIVILEGES; 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:
ServerAdmin admin@your-domain.com DocumentRoot /var/www/html/concrete5/ ServerName www.your-domain.com <Directory /var/www/html/concrete5/> Options FollowSymLinks AllowOverride All </Directory> ErrorLog logs/your-domain.com-error_log CustomLog logs/your-domain.com-access_log 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 http://your-domain.com/ 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.
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.