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

В процессе установки обязательно потребуется указать подключение к базе данных и домен в файле системных настроек /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) и пароль, такой же как указали в файле.
  • после успешной авторизации - пароль меняется на новый, а файл автоматически удаляется.

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

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

Установка проекта локально

Требования к настройке web-сервера на локальном компьютере аналогичны описанным пунктам выше. Для работы необходимо настроить виртуальный домен вида local.example.com либо любой другой поддомен основного домена, на который распространяется лицензия. Также обратите внимание на доступные инструменты разработчика.