mCMS — модульная self-hosted CMS на CodeIgniter 4 для сайтов, публикаций и интернет-магазинов, с собственными темами и расширениями.
Мне хотелось сделать систему управления сайтом, в которой ядро отвечает за основу — пользователей, права, настройки, установку и жизненный цикл расширений, — а прикладные возможности подключаются отдельными модулями. Без обязательной привязки к чужим облакам, внешним сервисам и тяжёлой инфраструктуре.
Так появилась mCMS. Нужен сайт со страницами и новостями — включаются соответствующие модули. Нужен каталог товаров с корзиной, остатками, заказами и доставкой — подключается магазинная часть. Темы и сторонние расширения можно устанавливать отдельно от ядра.
Интерфейс и темы оформления
Пример сайта на одной из штатных тем mCMS — внешний вид можно менять, не затрагивая содержимое и модули.
Основные возможности
- страницы, новости, меню, галереи, медиафайлы и поиск по опубликованным материалам;
- визуальное редактирование, предпросмотр неопубликованных изменений, автосохранение и история редакций;
- система пользователей, групп и прав доступа, публичные вход, регистрация с CAPTCHA и личный кабинет;
- четыре штатные темы оформления — Default, Signature, Depth и Focus, настройка внешнего вида, брендинга и главной страницы;
- Theme API и установка сторонних тем из ZIP-архивов;
- модульная архитектура: каждый модуль управляет собственными настройками, маршрутами, правами, миграциями и данными;
- каталог расширений, установка модулей из ZIP с проверкой зависимостей, обновление и безопасное удаление с сохранением данных или полным удалением;
- SEO-настройки страниц и новостей, метаданные, правила формирования заголовков и описаний;
- каталог товаров с изображениями, вариантами и ценами, учёт остатков и резервов, корзина и оформление заказов;
- способы доставки и самовывоза, отчёты по заказам и экспорт CSV;
- необязательная встроенная аналитика посещений без стороннего аналитического сервиса;
- создание, скачивание и восстановление полных резервных копий сайта из панели управления;
- опциональные проверки обновлений ядра, модулей и тем; автоматическое применение настраивается отдельно и по умолчанию выключено.
Архитектура и развёртывание
Ядро mCMS построено на PHP и CodeIgniter 4, административный интерфейс использует Tabler, а публичная часть — систему сменных тем. Прикладная функциональность живёт в модулях: Media, Pages, Menus, News, Galleries, Feedback, SEO, Catalogue, Stock, Cart, Orders, Delivery и других.
Предусмотрено два основных способа установки:
- Docker Compose / Portainer — приложение, веб-сервер, база данных и постоянные тома для данных; для некоторых сценариев доступен отдельный сервис обновлений.
- Обычный PHP-хостинг — полный ZIP-пакет из GitHub Releases, установка через браузер и работа с MySQL. Публичный корень должен указывать на
public_html, а приватные каталоги — находиться вне DocumentRoot.
Состояние проекта
Статус: активная разработка; модули контента, оформления и базовые функции интернет-магазина реализованы, интерфейсы и возможности продолжают развиваться.
Платформа: веб-сервер с PHP; Docker / Portainer или совместимый standalone-хостинг.
Технологии: PHP, CodeIgniter 4, MariaDB / MySQL, Bootstrap, Tabler, JavaScript, Docker.
Лицензия: MIT для собственного кода mCMS.
Последний стабильный релиз: .
Ссылки
Релизы и готовые пакеты · Руководство на русском · Исходный код · Сообщить об ошибке
Security patch based on the published v0.1.10 source. No unrelated See the PHP security advisory: https://www.php.net/archive/2026.php#2026-10-21-5 Stable patch release for existing mCMS 0.1.x Docker/Portainer installations and shared-hosting sites. Includes all 0.1.9 features; no new database schema migrations are required for this release. This release supports both Docker/Portainer deployments and conventional Apache/PHP/MySQL shared hosting without requiring Docker, SSH or Composer on the hosting account. It uses one Core/module/theme implementation for both modes. Get started / Начало работы: English manual · Руководство на русском. The official release asset All artifacts are built from this tag and checksummed in Источник: GitHub Releases · данные кэшируются на сервере.
История релизов
v0.1.11 — mCMS v0.1.11 — Docker and shared hosting
mCMS 0.1.11 — PHP2Shell security hotfix
main development changes are included.Security
Compatibility and upgrade
ghcr.io/mirivlad/mcms-app:v0.1.11 and ghcr.io/mirivlad/mcms-web:v0.1.11, or re-pull :stable after the image-ready release asset is published. Preserve all existing data volumes; keep a backup before upgrading.mcms-0.1.11-shared-hosting.zip package updates the mCMS application, not system PHP. Check the interpreter is patched (PHP 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 or later).php -r 'echo PHP_VERSION, "\\n";' inside the running app container and check the application after redeployment.v0.1.10 — mCMS v0.1.10 — Docker and shared hosting
mCMS 0.1.10 — account redesign and standalone hosting documentation
Changed
Upgrading & rollback
mcms-0.1.10-shared-hosting.zip (includes Composer dependencies, frontend assets and both manuals). Check SHA256SUMS from the same GitHub Release; do not use GitHub's source ZIP as a shared-host installer.ghcr.io/mirivlad/mcms-app:v0.1.10, ghcr.io/mirivlad/mcms-web:v0.1.10 and :stable. An opt-in Core auto-updater on portainer-release-stack.yml may deploy this compatible patch release only when Portainer HTTPS API credentials, Stack/Endpoint IDs, MariaDB digest pin and MCMS_IMAGE_TAG=stable are correctly configured./admin/updates. The existing webroot and rescue bootstrap files remain unchanged, allowing staged code swap/rollback.v0.1.9 — mCMS v0.1.9 — Docker and shared hosting
mCMS 0.1.9 — first public dual-deployment release
mcms-0.1.9-shared-hosting.zip includes all PHP dependencies, bundled frontend resources, both user manuals, and a browser-first MySQL installer. The standard Git Stack uses portainer-stack.yml; no Docker Hub mcms:dev image is needed.Major additions
Release safety notes
SHA256SUMS. Do not install the GitHub-generated "Source code" ZIP on shared hosting: it does not include vendor dependencies or built UI assets.
