Переменные окружения

Веб-сервер

Для настройки компонентов используются переменные окружения. Веб-сервер nginx использует директиву fastcgi_param для задания значений переменным. Для удобства, все необходимые директивы необходимо записать в отдельный файл и использовать директиву include в обработчике php. В nginx пути для include вычисляются от корневого каталога с настройками /etc/nginx, а не от текущего файла!

Пример конфигурации сервера приведён в разделе Установка системы.

Настройка соединения с PostgreSQL

Переменные окружения:

DATABASE_URL представляет из себя строку вида postgres://shcc:PASSWORD@localhost/shcc, где postgres - имя драйвера БД (не используется), shcc:PASSWORD - имя пользователя и пароль для подключения в БД, localhost - адрес сервера базы данных,shcc (после /) - имя базы данных.

Настройка хранилища Redis

При настройке Redis по умолчанию никаких настроек производить не требуется.

Переменные окружения:

Параметр работает аналогично DATABASE_URL. Для TLS соединения необходимо указать драйвер rediss, например, rediss://127.0.0.1/.

Настройка механизма сессий

Переменные окружения:

Общие настройки системы

Переменные окружения:

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

Рекомендации по настройке

Минимально необходимые настройки:

fastcgi_param DATABASE_URL "postgres://shcc:PASSWORD@localhost/shcc";
fastcgi_param APP_ADMINS my_user;

где PASSWORD - пароль для доступа к базе данных shcc; my_user - логин вашего пользователя SHCC, который будет иметь полный доступ к системе, можно указать несколько логинов через запятую. Поскольку пароль в отрытом виде отображается через phpinfo() не рекомендуется размещать файл с данной командой на сайте SHCC.

Рекомендуемые настройки:

fastcgi_param SESSION_NAME shcc;
fastcgi_param TZ Asia/Uekaterinburg;

В качестве SESSION_NAME необходимо указать уникальную строку. Она будет использована в именах куки.

При явном указании часового пояса будет произведена соответствующая настройка PHP и PostgreSQL не зависимо от их настроек по умолчанию.

Системные сервисы

Для системных сервисов, при необходимости, создаётся отдельный ENV файл /etc/sysconfig/shcc.

Данный файл будет использован для установки переменных окружения для процессов, запущенных в виде системных сервисов. Непосредственно сервисы не обращаются к базе данных и хранилищу Redis, поэтому, в большинстве случаев необходимости создавать файл нет.

Переменные окружения, характерные только для системных сервисов:

Если по какой-то причине SHCC по данному адресу недоступен и должен использоваться другой, например http://shcc.local, то необходимо задать переменную окружения:

SERVER_URL=http://shcc.local

Если ваш экземпляр SHCC установлен на вашей основной машине и сервисы работают от имени вашего пользователя, то для доступа сервиса к pulseaudio/pipewire необходимо задать переменную окружения:

XDG_RUNTIME_DIR=/run/user/1000

где 1000 - UID вашего пользователя.