
Хостинг Бегет один из популярных отечественных хостингов со штаб-квартирой в городе Санкт-Петербург. Недавно они повысили тарифы на многие услуги, но несмотря на это продолжают быть технологически продвинутым ресурсом с хорошей техподдержкой.
Предлагают также бесплатный хостинг с урезанными функциями, минимальными мощностями и отсутствием техподдержки. На него можно поставить пробный проект и разобраться в интерфейсе хостинга.
Установка фреймворка
При добавлении домена или поддомена (или использовании пробного вида xxxxx.beget.tech) к нему назначается так называемый "сайт", а по сути папка на выделенном месте на диске. В этой папке сайта будет ещё одна - public_html, которую нельзя ни изменить, ни удалить, потому что в неё направлен домен. Воспользуйтесь инструкцией для изменения названия папки для своего проекта (на основе фреймворка HLEB), который хотите разместить на хостинге.
Теперь, при подключении через SSH (нужно разрешить для сайта в настройках хостинга) и через файловый менеджер типа FileZilla, можно разместить файлы фреймворка на хостинге.
Внимание! Перенести сам фреймворк нужно так, чтобы сам он находился в папке сайта, а содержимое папки public_html попало в папку public_html сайта. Предварительно лучше удалить из этой папки все ненужные файлы-заглушки и перенести эту папку отдельно.
Чтобы на сервере режим DEBUG был отключён, удалите в локальном проекте файл start.hleb.php (подробнее), а на сервере оставьте его. Таким образом на хостинге будет один файл настроек - рабочий, а для локальной разработки - отладочный. Убедитесь заранее, что эти файлы настроены под каждую среду, то есть на хостинге параметр HLEB_PROJECT_DEBUG выставлен в false.
Для HLEB2 предыдущий пункт будет заключаться в том, чтобы скопировать файл /config/common.php в /config/common-local.php и в первом параметр debug установить в false, а во втором true. Теперь, если не переносить файл /config/common-local.php на сервер, настройки будут раздельны.

Выше показано размещение папок в FileZilla на реальном проекте.
Настройка crontab
Для выполнения регулярных задач на хостинге есть раздел "Планировщик заданий". При добавлении задачи она выполняется по указанному времени. Также её можно запустить из меню вручную. Например, для этого блога задачи могли бы выглядеть так:

Для HLEB2 задача для ротации логов называется rotate-logs вместо rotate-logs-task.
Здесь две активные задачи, которые выполняются в заданный промежуток времени. Первая - это стандартная задача фреймворка по ротации логов, вторая - для удаления неиспользуемых изображений, которую добавил из необходимости. Создать свою команду можно по инструкции.
Настройка MySQL
Для добавления баз данных есть специальный пункт в Панели управления, он называется на данный момент MySQL. В документации хостинга есть описание для этого раздела.
Для фреймворка подключение настраивается в файле "/database/dbase.config.php".
// Здесь указывается подключение по умолчанию (по его имени).
define('HLEB_TYPE_DB', 'mysql.name');
// Перечень существующих подключений.
define('HLEB_PARAMETERS_FOR_DB', [
// Подключение к MySQL
'mysql.name' => [
'mysql:host=localhost', // Хост MySQL
'port=3306', // Порт MySQL
'dbname=databasename', // Название конкретной базы данных.
'charset=utf8', // Кодировка соединения с БД
'user' => 'username', // Имя пользователя
'pass' => 'password' // Пароль
]
]);
Настройка MySQL (HLEB2)
Для добавления баз данных есть специальный пункт в Панели управления, он называется на данный момент MySQL. В документации хостинга есть описание для этого раздела.
Для фреймворка подключение настраивается в файле "/config/database.php".
return [
// Здесь указывается подключение по умолчанию (по его имени).
'base.db.type' =>'mysql.name',
// Перечень существующих подключений.
'db.settings.list' => [
'mysql.name' => [
'mysql:host=localhost', // Хост MySQL
'port=3306', // Порт MySQL
'dbname=databasename', // Название конкретной базы данных.
'charset=utf8', // Кодировка соединения с БД
'user' => 'username', // Имя пользователя
'pass' => 'password', // Пароль
],
] ];