PHPackages                             ale10257/multi-site-cms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. ale10257/multi-site-cms

ActiveProject[Framework](/categories/framework)

ale10257/multi-site-cms
=======================

v0.9(8y ago)3503BSD-3-ClausePHPPHP &gt;=7.1.0

Since Jan 28Pushed 8y ago2 watchersCompare

[ Source](https://github.com/ale10257/multiSiteCMS)[ Packagist](https://packagist.org/packages/ale10257/multi-site-cms)[ RSS](/packages/ale10257-multi-site-cms/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (3)Dependencies (23)Versions (4)Used By (0)

 [ ![](https://avatars0.githubusercontent.com/u/993323) ](https://github.com/yiisoft)

Заготовка для простой CMS на основе Yii 2 Basic Template
========================================================

[](#заготовка-для-простой-cms-на-основе-yii-2-basic-template)

Зависимости
-----------

[](#зависимости)

Минимальная версия php - 7.1, база данных - MySql

Особенности
-----------

[](#особенности)

1. Данная CMS изначально спроектирована для работы с несколькими сайтами в рамках одного web приложения. Т.е. одна админ панель, и одна БД, для нескольких сайтов с похожим функционалом (multiSite).
2. Реализовано разделение на слои. Основной рабочий код в каталоге core. Репозитории работают только с БД, модели форм отвечают только за формы, сервисы работают с контроллерами. Вся логика приложения только в сервисах, которые или возвращают результат контроллеру, или выкидывают исключения.
3. В основе работы приложения лежит паттерн DI. Зависимости описаны в файле config/bootstrap/SetUp.php

Установка
---------

[](#установка)

`composer create-project ale10257/multi-site-cms my-directory`

Начало работы
-------------

[](#начало-работы)

1. В каталоге с приложением переименовать файл config/db-test.php в config/db.php, прописать параметры подключения к базе данных MySql, и последовательно выполнить команды:

    `php yii migrate`

    `php yii init`

    При инициализации приложения будет предложено ввести логин, пароль, email для суперпользователя с ролью root
2. Создать тестовый домен, например, test.loc, в качестве корневой директории прописать /path/your/application/web/startSite. После инициализации перейти по адресу: test.loc/admin/login, и залогиниться в админке.

Соглашение о константах
-----------------------

[](#соглашение-о-константах)

Все web директории для сайтов расположены в каталоге web установленного приложения. Например, изначально в папке web есть директория startSite с демо данными. В каталоге web/startSite - единственная точка входа на сайт (и в админ панель, и на фронтэнд) - файл index.php. В данном файле объявлены две глобальные константы SITE\_ROOT\_NAME и UPLOAD\_DIR:

`defined('SITE_ROOT_NAME') or define('SITE_ROOT_NAME', 'startSite');`
`defined('UPLOAD_DIR') or define('UPLOAD_DIR', 'uploads');`

Для корректной работы приложения следующие каталоги должны быть названы так же, как константа SITE\_ROOT\_NAME, (например, если вы присвоили значение test):

1. Web каталог web/test должен существовать.
2. Конфигурационные файлы должно находиться в папке config/test
3. Контроллеры и представления должны находиться в папке sites/test

Константа UPLOAD\_DIR определяет название каталога для загружаемых файлов. По умолчанию 'uploads'. Каталог uploads создается автоматически, при первой загрузке какого-либо файла в web директорию.

Как добавить еще один домен в приложение
----------------------------------------

[](#как-добавить-еще-один-домен-в-приложение)

В каталоге с приложением выполнить команду:

`php yii create-domain`

Вам будет предложено определить значение константы SITE\_ROOT\_NAME и имя приложения (домена) - Application Name.

Предположим, что вы определили значение константы SITE\_ROOT\_NAME как test.

Результат работы команды php yii create-domain:

1. В папке config приложения будет создан каталог config/test
2. В папке sites приложения будет создан каталог sites/test
3. В папке web приложения будет создан каталог web/test

Также необходимо создать новый домен, прописать корневую директорию (/path/your/application/web/test) для созданного домена в вашем web сервере (apache, или ngnix), и перезапустить web сервер, например: sudo service apache2 restart.

Как удалить домен в приложении
------------------------------

[](#как-удалить-домен-в-приложении)

В каталоге с приложением выполнить команду:

`php yii delete-domain`

Вам будет предложено ввести значение константы SITE\_ROOT\_NAME.

Демо версия приложения
----------------------

[](#демо-версия-приложения)

Вход в админ панель управления сайтом:

Login: demo

Password: 123456

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~20 days

Total

3

Last Release

2988d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1f7a16a8b9afbd7222ecacc9dfca006c08f1156e7c62531ebd6bd32e53661a8b?d=identicon)[AlexeyKulagin](/maintainers/AlexeyKulagin)

---

Top Contributors

[![ale10257](https://avatars.githubusercontent.com/u/20130612?v=4)](https://github.com/ale10257 "ale10257 (112 commits)")

---

Tags

frameworkyii2project templatebasic

### Embed Badge

![Health badge](/badges/ale10257-multi-site-cms/health.svg)

```
[![Health](https://phpackages.com/badges/ale10257-multi-site-cms/health.svg)](https://phpackages.com/packages/ale10257-multi-site-cms)
```

###  Alternatives

[skeeks/cms

SkeekS CMS — control panel and tools based on php framework Yii2

13825.6k47](/packages/skeeks-cms)[yii2mod/base

Base application template for Yii2

531.3k](/packages/yii2mod-base)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
