Concrete CMS (formerly concrete5) is known for its intuitive in-context editing experience — editors can click directly on page elements to modify them, without navigating a separate admin interface for basic content changes.
Prerequisites
- Ubuntu 22.04/24.04 VPS: 2 vCPU, 2-4 GB RAM
- Nginx or Apache, PHP 8.1+, MySQL/MariaDB
Step 1 — Install Required PHP Extensions
sudo apt install php8.2-gd php8.2-curl php8.2-mbstring php8.2-xml php8.2-zip php8.2-mysql -y
Step 2 — Create the Database
sudo mysql
CREATE DATABASE concretecms;
CREATE USER 'concrete'@'localhost' IDENTIFIED BY 'CHANGE_ME_STRONG_PASSWORD';
GRANT ALL PRIVILEGES ON concretecms.* TO 'concrete'@'localhost';
FLUSH PRIVILEGES;
Step 3 — Download Concrete CMS
cd /var/www
sudo wget https://www.concretecms.org/download_file/-/view/VERSION
sudo unzip concrete5-*.zip -d concrete
sudo chown -R www-data:www-data concrete
Step 4 — Configure Nginx
server {
listen 80;
server_name yourdomain.com;
root /var/www/concrete;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}
Step 5 — Run the Web Installer
http://yourdomain.com
Follow the setup wizard: database configuration and admin account creation.
Step 6 — Add HTTPS
sudo certbot --nginx -d yourdomain.com
Using In-Context Editing
Once logged in as an editor, browsing the live site itself presents editing controls directly on page elements — a genuinely different editing paradigm compared to most CMS platforms' separate admin-panel-only editing.
Installing Add-Ons
Through the dashboard's Extend Concrete CMS section, browse and install add-ons from the official marketplace to extend functionality.
Setting File Permissions for the Application Cache
sudo chmod -R 775 /var/www/concrete/application/files
sudo chmod -R 775 /var/www/concrete/application/config
Common Errors
"Unable to write to the file" errors — verify the web server user has write access to the application/files and related cache directories.
In-context editing controls don't appear — verify you're logged in with an account that has editing permissions, and that JavaScript isn't being blocked by any browser extension or CSP misconfiguration.
Continue Reading
- Choosing the Right CMS for Your Project: WordPress vs Drupal vs Joomla vs Craft
- How to Back Up and Restore a Drupal/Joomla Site
- How to Install Let's Encrypt SSL with Certbot (Nginx & Apache)
Browse more articles in CMS Platforms Beyond WordPress.