Конфигурация
Table of contents
Обычная конфигурация
Доступы к базе данных хранятся в файле
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/