Concrete CMS is free Content Management System (CMS) software you can use to build a website. Once installed, you will be able to log into the backend of your site to start customizing it how you like. Concrete CMS also provides a Marketplace where you can download new themes and add-ons to customize further.
View the following link for case studies of Concrete CMS websites.
This article contains the following steps to install this software on your site.
Step 1 — Install an SSL certificate
All modern websites should be secured with an SSL certificate. This ensures that all traffic to and from your site is secure. There are two SSL certificate options in the DreamHost panel.
- Let's Encrypt (Free)
- Sectigo (Paid)
Both of these certificates can be used to secure your site, however, if you are going to sell products on your site, a paid Sectigo certificate is recommended as it will appear more trustworthy to potential customers. View the following article for further details.
View the following article for instructions on how to install your chosen certificate.
Step 2 — Create a database
Concrete CMS requires a database to run your site. View the following article to create a new database in your DreamHost panel.
Step 3 — Download the software
There are two options to download the Concrete CMS software to your site.
- FTP (easy) — Download the software to your computer, then upload it to your site using an FTP client.
- SSH (advanced) — Download the software directly to your site via SSH.
There is also an option to install via SSH using Composer, however, this is only available if your site is running on a VPS (private server) or Dedicated Server. View the Composer section below for further details.
Downloading via FTP
- Visit the following page to download the Concrete CMS software.
- Click the link to download the .zip file to your computer.
- Locate the file you just downloaded. Most often you can find it in your /downloads directory. It will be titled something like concrete5-8.5.5.zip.
- In Windows, right-click the file and choose Extract All... from the pop-up menu.
- A new window opens. In the new window, click the Extract button. All files are extracted to a new folder titled the same as the .zip file.
- Log into your server using an FTP client.
- In the left pane, navigate to the directory on your computer you extracted the .zip file. You should see a list of files.
- In the right pane, make sure you're in your website's directory. There should not be any files here other than a possible favicon.ico file.
- Highlight all files in the left pane and drag them into the right pane to upload them to your site.
This could take several minutes as there are many files to upload.
Downloading via SSH
- Log into your server via SSH.
- Navigate into your user's home directory.
[server]$ cd ~
- Visit the following page to download the Concrete CMS software.
- Right-click the download button. From the pop-up menu, choose Copy link address.
- Run the following command to download Concrete CMS.
Change the URL to the one you copied above.
[server]$ wget https://www.concretecms.org/download_file/-/view/113632/
- This downloads the software into a new file. The file name may vary, but this example will use 3abec4a4-1a45-489c-9fe7-bb3f100dea99.
- Run the following command to unzip the file.
Make sure to change the file name to the file you downloaded.
[server]$ unzip 3abec4a4-1a45-489c-9fe7-bb3f100dea99
- The files are extracted into a new directly titled concrete5-8.5.5.
- Navigate into this directory.
[server]$ cd concrete5-8.5.5
- Copy all contents into your website directory.
Make sure to change username to your Shell user and example.com to your website.
[server]$ cp -r ./* /home/username/example.com
- Check your website directory to confirm the files have been migrated.
[server]$ ls -la /home/username/example.com
Step 4 — Install the software
Now that the files are in your website directory, you can complete the installation.
- Visit your website in a browser. You will see the Concrete CMS homepage.
- Select your language and click the arrow button to proceed.
- The next page checks the server configuration. Everything should appear as green checkmarks. Click the Continue to Installation button on the bottom right.
- On the next page, enter your store information and database credentials.
- When finished click the Install Concrete CMS button.
- The installation will begin. You can view its progress on the top left.
- When the installation is complete, a confirmation message displays.
- Click the Edit Your Site button on the bottom left to begin working on your site. You could also log in at example.com/index.php/login.
Downloading via SSH using Composer
You must use a VPS or Dedicated Server in order to run Composer due to the amount of resources it requires.
- Log into your server by SSH.
- Install Composer using the following article.
- Navigate into your website's directory.
[server]$ cd ~/example.com
- Run the following command to create a new Concrete CMS project. You can name it anything you like. This command names it 'mysite'.
[server]$ composer create-project -n concrete5/composer mysite
- Navigate into this new directory.
[server]$ cd mysite
- Run the following command to install.
[server]$ ./vendor/bin/concrete5 c5:install -i
- During the installation process, you are asked for your database credentials and site details.
The Canonical URL must be the full URL of your site (including the project directory) and end with /. For example.
Location of database server? [127.0.0.1]: mysql.example.com Database name?: database Database username?: user Database password?: The system time zone, compatible with the database one? [America/Los_Angeles]: Name of the site? [concrete5 Site]: name your site Canonical URL?: https://example.com/mysite/ Alternative canonical URL?: https://example.com/mysite/ Starting point to use? [elemental_blank]:  elemental_blank  elemental_full > 1 Email of the admin user of the install? [firstname.lastname@example.org]: email@example.com Password of the admin user of the install?: Additional user username?: admin2 Additional user email? [firstname.lastname@example.org]: email@example.com Additional user password?: The default concrete5 interface language (eg en_US)? [en_US]: The default site locale (eg en_US)? [en_US]: Use configuration file for installation? [none]:
- You will then be asked if you would like to install the site with these settings.
Would you like to install with these settings? [Y]es / [N]o / [E]dit: Y
- The database installs. You are notified once it completes.
Updating your web directory
You must now update your web directory in your panel since the site will only load at the following URL ending in /public.
View the following article for instructions on how to do this.
In the Web directory field enter the following:
Make sure to click the Change settings button to save. Within 10 minutes your site will load your new Concrete CMS installation. You can then log in at example.com/index.php/login.