ηCMS в контексте другого сайта¶
В данной схеме развертывания предполагается работа ηCMS в контексте другого сайта под некоторым префиксом.

ηCMS в контексте основного сайта
- Входящий трафик проксируется веб сервером nginx и, в зависимости от контекста, перенаправляется либо на основной сайт, либо на ηCMS ресурсы, находящиеся под префиксом /<ncms_prefix>.
- Все ресурсы за путем http://example.com/<ncms_prefix>/* обрабатываются ηCMS.
- Все другие ресурсы обрабатываются основным сайтом.
Предупреждение
Подобная конфигурация развертывания ηCMS не рекомендуется для работы с MTT фильтрами трафика и A/B тестирования, поскольку при создании MTT правил необходимо всегда учитывать, в каком контексте находятся ресурсы ηCMS (http://example.com/<ncms_prefix>/*).
Конфигурация nginx¶
Ниже приведен пример nginx конфигурации для данного режима развертывания. Здесь rewrite правило перенаправляет трафик за /ncms_prefix/* на экземпляр ηCMS:
server {
listen 80 default_server;
server_name example.com;
root /var/www/html;
index index.html;
location /ncms_prefix {
rewrite ^(/ncms_prefix)$ $1/ break;
proxy_pass http://localhost:9191;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Конфигурация ηCMS¶
Основной файл конфигурации ηCMS должен содержать директиву app-prefix, настроенную на корректный путь, под которым работает ηCMS:
<app-prefix>/ncms_prefix</app-prefix>
<security>
...
<shiro-config-locations>/WEB-INF/shiro.ini</shiro-config-locations>
...
</security>
Также следует поменять конфигурацию Apache Shiro, ссылку на которую содержит элемент security/shiro-config-locations.
Добавляем ncms_prefix в пути, перечисленные в конфигурации shiro:
[main]
authc.successUrl = /ncms_prefix/adm/
[urls]
/ncms_prefix/rs/media/** = authcBasic[POST,PUT,DELETE]
/ncms_prefix/rs/adm/** = authcBasic
/ncms_prefix/adm/** = authcBasic
После перечисленных выше действий корень ηCMS будет доступен в контексте сайта example.com по адресу http://example.com/ncms_prefix/.