Flash Sale:75% Off Hosting + Free DomainEnds in13h47m14sView Plans
Hostvento logoHostvento

Install Concrete CMS on Ubuntu (LAMP)

Install Apache, PHP and MariaDB, then Concrete CMS, and finish the setup in your browser.

CMS and Apps2 min read5 steps22 screenshots

Step 1: Update the system

sudo apt update && sudo apt upgrade -y
Updating the system

Step 2: Install Apache

sudo apt-get install apache2
Installing Apache

Start it and enable it at boot:

sudo systemctl start apache2 && sudo systemctl enable apache2
Starting and enabling Apache

Check it:

sudo systemctl status apache2
The Apache status

Step 3: Install PHP

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-dom php-xml php-mbstring php-zip
Installing PHP and its libraries
php -v
The PHP version

Step 4: Install MariaDB

sudo apt install mariadb-server
Installing MariaDB
sudo systemctl start mariadb && sudo systemctl enable mariadb
Starting MariaDB

Log in to the database:

sudo mysql -u root
Opening the MariaDB shell

Create a database and a user. Choose a strong password:

CREATE DATABASE concrete5;
CREATE USER 'concrete5'@'localhost' IDENTIFIED BY 'change-this-password';
GRANT ALL PRIVILEGES ON concrete5.* TO 'concrete5'@'localhost';
FLUSH PRIVILEGES;
Creating the database and the user
QUIT;
Leaving the MariaDB shell

Step 5: Download Concrete CMS

Get the link of the latest version from the Concrete CMS website and download it:

wget https://www.concretecms.com/application/files/3016/5350/5462/concrete-cms-9.1.1.zip
Downloading Concrete CMS

Unzip it (install unzip first if needed):

unzip concrete-cms-9.1.1.zip
Unzipping the archive

Move it to the web folder:

sudo mv concrete-cms-9.1.1 /var/www/html/concrete5
Moving the files

Set the owner and the permissions:

sudo chown -R www-data:www-data /var/www/html/concrete5/
Setting the owner
sudo chmod -R 755 /var/www/html/concrete5
Setting the permissions

Step 6: Create an Apache virtual host

sudo nano /etc/apache2/sites-available/concrete5.conf

Add (change the domain and the paths to match your setup):

<VirtualHost *:80>
    ServerAdmin admin@your-domain.com
    DocumentRoot /var/www/html/concrete5
    ServerName your-domain.com

    <Directory /var/www/html/concrete5>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
    CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined
</VirtualHost>
The virtual host file

Step 7: Enable the site

sudo a2ensite concrete5.conf
sudo a2enmod rewrite
sudo systemctl reload apache2
Reloading Apache

Step 8: Finish in the browser

Open https://your-domain.com/index.php/install (or http:// if you do not have SSL yet).

The Concrete CMS installer
  1. Check the requirements and choose your language.
    The installation items
  2. Enter the name of the site, your admin email and a password.
  3. Enter the database details: server localhost, the database name, user name and password from step 4.
    The database settings
  4. Choose a starting point (sample content or blank site) and click Install Concrete CMS.
  5. When it finishes, log in to your new site.
    Concrete CMS is installed

Quick recap

  • Install the LAMP stack and create a database.
  • Download Concrete CMS to /var/www/html/concrete5 and make a virtual host.
  • Finish the setup at /index.php/install.