CCMS Update Center
Download the latest release, view the changelog, and follow the install guide to keep your CCMS installation up to date.
Downloads
Everything you need to get CCMS running from scratch. Extract the zip, upload all files to your web server, then navigate to /ccms/install.php in your browser to run the setup wizard.
Step-by-step installation guide covering server requirements, database setup, and first-run configuration.
View Setup GuideUse for major version upgrades. Back up your config.php and uploaded data first, then extract and replace all application files on your server. Your config and data folders are not included in this zip.
Changed files only — overlay directly onto your existing install. Config and uploaded data are untouched. Published for minor and hotfix releases.
No Patch AvailableDetailed upgrade instructions, database migration notes, and rollback procedures.
View Upgrade GuideInstallation Guide
config.php before applying any update.
Back up your installation
Download a copy of your current installation and export your database. Save your config.php separately — it will not be overwritten by a patch update.
Download the release zip
Use Full Release for a fresh install or major version jump. Use a Patch zip for minor/hotfix versions to preserve your existing config.
Verify the checksum (recommended)
Run sha256sum ccms-v1.0.5-full.zip and compare to the SHA-256 hash listed above to confirm the file is intact.
Extract and upload
Full release: extract the zip and replace all files on your server, keeping your config.php and uploads/ folder intact.
Patch: extract and upload only the files in the zip, overlaying them on your existing installation.
Run the upgrade script (if required)
If the release includes database changes, visit /ccms/upgrade.php in your browser. It will apply schema migrations and then delete itself.
Verify the update
Log in to your CCMS admin panel. The version in Settings → About should now read v1.0.5.
Changelog
v1.0.5 — Beta
- bkDelete / bkRestoreServer buttons silently did nothing — JSON.stringify(filename) emitted double-quoted strings inside double-quoted onclick="" attributes; replaced with data-file attributes
- Backup History stuck on "Loading…" — DOMContentLoaded never fires in fragment-injected pages; changed to call bkInit() directly
- backup-api.php line 85 crash — $rit->getSubPathName() proxy unreliable; replaced with substr($item->getPathname(), strlen($src) + 1)
- Confirm modal not appearing — admin_dash.php only loads theme CSS, not var.css; added structural .am-modal-overlay rules to a <style> block in admin_dash.php head
- PHP arrow function (fn=>) in delete_backup action broke on PHP <7.4; replaced with anonymous function
- Equal-height admin cards: align-items:stretch on .page-grid, flex column on .admin-card, flex:1 on .admin-card-content — applied to all 5 themes
- Backup page uses page-grid--2col for uniform 2-column layout
- Disk cap enforced: when history exceeds 20, trimmed entries have their ZIP files deleted from disk (was only trimming the DB list before)
- showConfirm upgraded to accept a config object (icon, title, body, warn, confirmLabel) for properly structured modal content; plain string still accepted for compatibility
- Built full Backup & Restore system: backup-api.php, backup-download.php, backup.js, admin_backup_restore.php
- Pure-PDO SQL dump — no mysqldump dependency required
- Server-side restore from history list and from uploaded ZIP
- Downloadable backup ZIPs streamed via backup-download.php
- Backup history tracked in DB (backup_history setting, capped at 20)
- Themed confirm modals — showConfirm() in backup.js creates a am-modal-overlay modal instead of window.confirm(); all 3 call sites updated (delete, restore server, restore upload)
- backup-download.php validates filename with strict regex (/^ccms-backup-[\w\-]+\.zip$/) before streaming
- backups directory added to protected paths in auto_install_update — never overwritten by an update
- .htaccess auto-created in backups on first backup to block direct HTTP access
System Requirements