Install and configure Concrete5 on your LAMP server - Ubuntu or Debian 7
Time: 30 minutes
Concrete5 is an open-source content management system (CMS) made in PHP. Concrete5 is easy to understand and learn. In this article you will learn, how to install and configure concrete5 on your LAMP server, whether you're using Debian 7 or Ubuntu.
To use this article, you need to have a LAMP stack installed on your server:
We also recommend setting up an Apache virtual host for the domain name you want to use, which includes pointing your domain name to it:
Install the required dependencies
- Install the
unzipand the PHP GD libraries.sudo apt-get install unzip php5-gd
- Restart the Apache services to make the changes effective.
sudo service apache2 restart
Download and configure conrete5
- Navigate to your virtual host directory for the domain name:
cd your domain's Apache virtual host directory
If you didn't set up a virtual host directory, you can use
cd /var/www/html(Ubuntu) or
cd /var/www(Debian 7)
- In a browser, visit the official Concrete5 downloads page.
- Copy the download link for the newest version of Concrete5.
- Use this link with
wgetto download the latest version as a zip file:sudo wget --trust-server-names URL from concrete.org for version you want to download
- Extract the downloaded source.
sudo unzip downloaded file name
- The folder will be named
concrete5.x.x.xwith each number representing the version number. Use the
mvcommand to simplify this directory.sudo mv concrete5.x.x.x concrete5
- Navigate to the
- Enable the
rewritemodule.sudo a2enmod rewrite
- Open your
php.inifile in a text editor.sudo vim /etc/php5/apache2/php.ini
- Make sure the following line is not commented out (that is: remove the
#from in front of it):cgi.fix_pathinfo=1
- Save and close the file:
- Restart the Apache server:
sudo service apache2 restart
Create a MySQL database
- Log into your MySQL admin account:
sudo mysql -u root -p
- At the prompt, enter the MySQL root password you chose:
If you do not remember your root MySQL password, you can reset your root MySQL password.
- Create a new MySQL database:
CREATE DATABASE your conrete5 database;
- Create the database administrator account:
CREATE USER your concrete5 username@localhost IDENTIFIED BY 'your concrete5 password';
- Give, or grant, your user permissions to the database:
GRANT ALL PRIVILEGES ON your conrete5 database.* TO your concrete5 username@localhost;
- Confirm that the changes to this user are properly applied:
SHOW GRANTS FOR 'your username'@'localhost';If the changes worked, you should see an output that looks something like this:GRANT USAGE ON *.* TO 'your username'@'localhost' IDENTIFIED BY PASSWORD '*977FDAC11B3F74324912DA4F9D489A3E6D59B281'If the changes did not apply properly, refresh the MySQL cache and try again:
GRANT ALL PRIVILEGES ON `your wordpress database`.* TO 'your username'@'localhost'FLUSH PRIVILEGES;
- Once you confirm that the changes worked, exit MySQL:
- Change ownership of the document root to make it writable by Concrete5.
sudo chown -R www-data:www-data /var/www/html/concrete5
Remember that if you are using Debian 7, you will use
/var/www/ in your path instead of
- In your web browser, go to:
http://your domain name or IP address/concrete5
- Make sure that all server requirements are met, and click Continue to Installation.
- Enter the required information for Site, Database, and Administrator. Use the MySQL credentials that you created earlier for the Database Information section. Unless you are using a remote database server, your Server field should just be localhost.
- Select the option to install sample content, or create an empty site.
- Once all fields have been filled, click Install concrete5.
- After the installation process is complete, click Continue to your site.
You will be redirected to the Welcome screen of concrete5.
- Select any of the guides to get started.
That's it! You successfully installed Concrete5 and are ready to start building.