Конфигурация

Table of contents

  1. Обычная конфигурация
  2. Конфигурация на основе окружения
    1. Настройки системы
    2. Настройки окружения

Обычная конфигурация

Доступы к базе данных хранятся в файле

core\config\database\connections\default.php

Дальнейших настроек, кроме корректных логина и пароля к бд, Evolution CMS не требует.

Конфигурация на основе окружения

Многие значения параметров сайта должны различаться в зависимости от того, работает сайт у вас на компьютере или уже запущен на сервере.

Например, можно использовать разные методы отправки почты в локальном и боевом окружении. Или задать различные варианты подключения к базе данных.

Разумеется, вы должны исключить из вашей системы контроля версий эти файлы, чтобы изменения на dev-сайте не отразились на production версии. Проверьте ваш файл .gitignore и, при необходимости, добавьте эти строки

/core/custom/.env
/core/custom/config/cms/settings.php

Важно

Включение этих файлов в репозиторий будет угрозой безопасности. Если злоумышленник получит доступ к репозиторию, данные о доступах к базе данных и конфигурации сайта будут раскрыты.

Настройки системы

Настройки CMS, которые вы можете изменить в админ-панели, редактируются с помощью файла settings.php:

core\custom\config\cms\settings.php

Эти настройки имеют приоритет над теми, что задаются непосредственно в админ-панели. После включения настройки в конфигурационном файле её изменение в админ-панели невозможно.

Пример:

<?php
return [
    'site_name' => 'DEV-VERSION SiteName',
    'ControllerNamespace' => 'EvolutionCMS\\Main\\Controllers\\',
    'server_protocol' => 'http',
    'filemanager_path' => env('MODX_BASE_PATH'), 
    'rb_base_dir' => env('MODX_BASE_PATH') . 'assets/',
];

В примере мы задаём для сайта имя, назначаем область имён для контроллеров, выбираем протокол http для ссылок и устанавливаем файловые пути из переменных окружения. Переменные окружения будут заданы чуть позже в файле .env.

Где расположены эти настройки?

  • Доступные значения аналогичны значениям из таблицы system_settings.
  • Также вы можете увидеть значения настроек в админ-панели во вкладке “Системная конфигурация”.

Разумеется, вы можете не использовать директиву env() и сразу вписать нужные вам пути.

Также вы можете не использовать файл settings.php, а создавать для каждой настройки свой отдельный файл.

Пример

Для настройки Controller Namespace нужно создать файл ControllerNamespace.php.

custom/config/cms/settings/ControllerNamespace.php

Файл должен вернуть строку EvolutionCMS\\Main\\Controllers\\

<?php
return "EvolutionCMS\\Main\\Controllers\\";

Анаогичным образом можно задать любые другие настройки Evolution Cms.

Настройки окружения

Настройки базы данных и файловых путей, необходимых для работы системы, задаются с помощью .env файла.

core\custom\.env

Пример файла для локального сервера. Сервер расположен в директории D:/WebServer, сайт расположен в директории D:/WebServer/domains/sitename.localhost/ и имеет адрес http://sitename.localhost/.

APP_ENV=devel
DB_TYPE=mysql
DB_HOST=localhost
DB_USERNAME=local_local
DB_PASSWORD=local_local
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
DB_METHOD="SET NAMES"
DB_DATABASE=local_local
DB_PREFIX=prefix_
DB_SOCKET=
DB_STRICT=false
CORE_CLASS=\DocumentParser
HTTPS_PORT=443
COOKIE_PATH=
COOKIE_DOMAIN=
MODX_BASE_PATH=D:/WebServer/domains/sitename.localhost/
MODX_BASE_URL=/
MODX_SITE_URL=http://sitename.localhost/
MODX_SITE_HOSTNAMES=sitename.localhost

MGR_DIR=manager
MODX_MANAGER_PATH=D:/WebServer/domains/sitename.localhost/manager/
MODX_MANAGER_URL=http://sitename.localhost/manager/