Установка и настройка окружения
В процессе установки обязательно потребуется указать подключение к базе данных и домен в файле системных настроек /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):
- /custom/ - директория хранения модифицированных файлов расширений
- /files/ - системные файлы: кеш, лог-файлы, файлы миграций базы данных, ...
- /plugins/ - плагины
- /public_html/custom/ - модифицированные статические файлы приложения
- /public_html/files/ - файлы доступные для просмотра (изображения, ...)
- /public_html/plugins/ - статические файлы плагинов (css,js,img)
- /public_html/themes/ - статические файлы тем (css,js,img)
- /themes/ - темы
Полный список требуемых директорий, в случае ошибки доступа, вы найдете в разделе Состояние системы.
Админ-панель
Доступ в админ. панель проекта: {домен вашего проекта}/admin/
Если пароль администратора утерян выполните следующие действия:
- создайте файл /files/admin_password_recovery.txt, содержащий новый пароль администратора.
- под администратором подразумевается пользователь состоящий в группе "Главный администратор" (идентификатор пользователя #1).
- авторизуемся в админ панель, указываем логин администратора (по умолчанию admin) и пароль, такой же как указали в файле.
- после успешной авторизации - пароль меняется на новый, а файл автоматически удаляется.
Состояние системы
Для проверки корректности настроек сервера и окружения перейдите в раздел "Настройки сайта / Состояние системы" и выполните проверку нажав на кнопку "Проверить повторно".