Upgrading a Site

Improvements?

Let us know by posting here.

Prerequisite

  • Backup: Always back up your database and files before upgrading. There's no downgrade process for Concrete CMS; restore from backup if issues arise.
  • Check Compatibility: Ensure add-ons, themes, and custom code are compatible with the new version.

Upgrade Methods

Remote Dashboard Update

  • Navigate to Dashboard > System and Settings > Update Concrete.
  • Download updates directly.
  • Apply updates from the root updates/ directory.

Manual Dashboard Update

  • Download core from Concrete CMS download page.
  • Retain only the concrete directory from the unzipped file.
  • Move the directory to updates/.
  • Go to Dashboard > System and Settings > Update Concrete to apply.

Replacing Original Concrete Directory (Version 8+)

  • Download core from Concrete CMS download page.
  • Replace the concrete directory in web root.
  • Empty updates directory.
  • Delete application/config/update.php.
  • Replace composer.json and composer.lock (if pre-8.2.0).
  • Visit your site; Concrete will run required database migrations.

Command Line Upgrade (Version 8+)

  • Download and unzip the core.
  • SSH into server, navigate to web directory.
  • Enable Maintenance Mode: ./concrete/bin/concrete5 c5:config -g set concrete.maintenance_mode true.
  • Replace concrete directory.
  • Run ./concrete/bin/concrete5 c5:update.
  • Disable Maintenance Mode: ./concrete/bin/concrete5 c5:config -g set concrete.maintenance_mode false.

Emergency Steps (If unable to log in post-upgrade)

  • Create/edit concrete.php in application/config/.
  • Add:
<?php
return array(
    'updates' => array(
        'enable_permissions_protection' => false
    )
);
  • Remove after upgrade completion.