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

В процессе установки обязательно потребуется указать подключение к базе данных и домен в файле системных настроек /config/sys.php

Для установки приложения на сервере выполните следующие действия:

Требования к окружению

В качестве операционной системы рекомендуем использовать CentOS или другую Unix-подобную.

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

  • PHP версии 7.4
  • PHP расширения: apc(u), curl, dom, gd, gettext, fileinfo, json, mbstring, openssl, pdo_mysql, pcntl, posix, spl, xmlreader, zip
  • Включенная настройка PHP: short_open_tag=On
  • Расширение PHP Ioncube Loader 12+
  • База данных MySQL 8+
  • Менеджер пакетов composer

Web-сервер

В качестве web-сервера может быть:

  • Nginx+php-fpm, в таком случае необходимо в настройках server конфига nginx задействовать настройки описанные в файле /public_html/nginx.conf либо:
  • Apache+mod_php или Apache+php-cgi, в таком случае задействуется файл /public_html/.htaccess

При настройке домена на сервере, директорией домена необходимо указывать полный путь к /public_html

База данных

  • Создайте базу данных MySQL используя файлы:
    • /install/install.sql
    • /install/install.categories.sql
    • /install/install.regions.sql
  • Укажите доступ к созданной базе данных в файле системных настроек /config/sys.php (подробнее)

Домен проекта

Укажите домен проекта в настройках.

  • в системных настроках: /config/sys.php, настройки site.* (измените домен example.com)
  • для работы с данным файлом рекомендуем использовать редактор Notepad++ либо встроенные online-редакторы (в панели управления ISPManager и подобных) обычный редактор "Блокнот"(Notepad) для этих целей НЕ подойдет.

Composer (установка внешних библиотек)

Выполните следующую консольную команду в директории /bff проекта:

composer install
  • После чего будет выполнена установка внешних библиотек, используемых в проекте.
  • Не рекомендуем выполнять запуск от имени пользователя root.

Cron-менеджер

Настройте запуск следующей cron задачи:

* * * * * /usr/bin/php -q /path/to/public_html/index.php bff=cron-manager

  • Предварительно необходимо изменить путь, заменив "/path/to/" на актуальный путь к проекту на сервере.
  • Также для корректной его работы (и большей производительности) проверьте наличие расширения pcntl в настройках php.
  • Задача должна выполняться от имени пользователя, от которого выполняется запуск и работа проекта (запуск php). Некорректно настраивать её запуск от имени пользователя root.

Если сервер настроен как Nginx+php-fpm:

  • Nginx работает от пользователя nginx.
  • Php-fpm работает от пользователя username.
  • Пользователь username входит в группу nginx.
  • Владелец всех файлов и каталогов проекта username:nginx.
  • Крон задача должна запускаться от пользователя username. Файл /var/spool/cron/username:
  • * * * * * /usr/bin/php -q /path/to/public_html/index.php bff=cron-manager

Если сервер настроен как Apache+mod_php.

  • Apache работает от пользователя apache.
  • Владелец всех файлов и каталогов проекта apache:apache.
  • Крон задача должна запускаться от пользователя apache. Файл /etc/crontab:
  • * * * * * apache /usr/bin/php -q /path/to/public_html/index.php bff=cron-manager

Если сервер настроен как Apache+php-cgi.

  • Apache работает от пользователя apache.
  • Php-cgi работает от пользователя username.
  • Пользователь username входит в группу apache.
  • Владелец всех файлов и каталогов проекта username:apache.
  • Крон задача должна запускаться от пользователя username. Файл /var/spool/cron/username:
  • * * * * * /usr/bin/php -q /path/to/public_html/index.php bff=cron-manager

Доступ к файлам и директориям

Разрешите следующие папки (и все содержимое) на запись из php (775):

Полный список требуемых директорий, в случае ошибки доступа, вы найдете в разделе Состояние системы.

Админ-панель

Доступ в админ. панель проекта: {домен вашего проекта}/admin/

Если пароль администратора утерян выполните следующие действия:

  • создайте файл /files/admin_password_recovery.txt, содержащий новый пароль администратора.
  • под администратором подразумевается пользователь состоящий в группе "Главный администратор" (идентификатор пользователя #1).
  • авторизуемся в админ панель, указываем логин администратора (по умолчанию admin) и пароль, такой же как указали в файле.
  • после успешной авторизации - пароль меняется на новый, а файл автоматически удаляется.

Состояние системы

Для проверки корректности настроек сервера и окружения перейдите в раздел "Настройки сайта / Состояние системы" и выполните проверку нажав на кнопку "Проверить повторно".