
Хостинг Timeweb считается довольно популярным в России, но, к удивлению, внешний вид админпанели выглядит устаревшим как по удобству использования, так и по дизайну и вёрстке. Тем не менее, развернуть проект на нём очень просто.
Изначально при регистрации создается директория с доменом вида xxxxx.tw1.ru. Подробнее можно настроить в Панели управления в разделе Сайты - Мои сайты, там будет указана директория и домен. По клику на зелёную иконку открывается диалог с настройками версии PHP и прочими. Выбрал PHP 8.1, на данный момент фреймворк поддерживает все версии от 7.1
Версия HLEB2 поддерживает PHP 8.2+

Через раздел Файловый менеджер открывается доступ к содержимому директории сайта. Здесь находится папка public_html, в которую и направлен домен. Также есть предложение "Чтобы добавить файлы, перетащите их в это окно". Но это для самых маленьких. Спустя некоторое время удалось найти раздел FAQ, где объясняется как их загружать одним из нормальных способов по SFTP.
Для подключения по SSH / SFTP с помощью SSH-клиента необходимо использовать следующие параметры:
- Хост: имя_сервера.timeweb.ru (или IP-адрес сервера). Узнать имя сервера вы можете на главной странице панели управления аккаунтом, на вкладке "Сервер".
- Логин и пароль как от панели управления аккаунтом.
- Порт: стандартный (22). Предварительно необходимо включить доступ по SSH на главной странице панели управления.
Небольшой нюанс - чтобы пользоваться FTP нужно подтвердить номер телефона. После этого на основной странице Панели управления доступно переключение SSH в рабочее положение и там же находятся настройки доступа по FTP.
Установка фреймворка
Воспользуйтесь инструкцией для изменения названия публичной папки в public_html для своего проекта (на основе фреймворка HLEB), который хотите разместить на хостинге.
Теперь, при подключении через SSH (нужно включить в настройках хостинга) и через файловый менеджер типа FileZilla, можно разместить файлы фреймворка на хостинге.
Внимание! Перенести сам фреймворк нужно так, чтобы сам он находился в корневой папке сайта, а содержимое папки public_html попало в папку public_html сайта. Предварительно лучше удалить из этой папки все ненужные файлы-заглушки и перенести эту папку отдельно. Файл .bash_history удалить не получится из-за недостатка прав.

Выше показано размещение папок в FileZilla на рабочем проекте.
Чтобы на сервере режим DEBUG был отключён, удалите в локальном проекте файл start.hleb.php (подробнее), а на сервере оставьте его. Таким образом на хостинге будет один файл настроек - рабочий, а для локальной разработки - отладочный. Убедитесь заранее, что эти файлы настроены под каждую среду, то есть на хостинге параметр HLEB_PROJECT_DEBUG выставлен в false.
Для HLEB2 предыдущий пункт будет заключаться в том, чтобы скопировать файл /config/common.php в /config/common-local.php и в первом параметр debug установить в false, а во втором true. Теперь, если не переносить файл /config/common-local.php на сервер, настройки будут раздельны.
Настройка crontab
Планировщик задач расположен в меню Инструменты > Crontab Панели управления хостинга. При добавлении задачи она выполняется по указанному времени.
https://timeweb.com/ru/docs/virtualnyj-hosting/planirovshchik-zadanij-cron/ - ссылка на инструкцию по выполнению cron-задач. Команда для ротации логов фреймворка называется console rotate-logs-task, ее рекомендуется поставить в планировщик на ежедневное выполнение.
Для HLEB2 аналогичный файл будет console rotate-logs, а версия PHP равна 8.2 или выше.
Кнопка непосредственного запуска команды в интерфейсе отсутствует.
Настройка 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)
В меню Базы данных находится список БД, пока там нет созданных, поэтому нужно добавить одну, чтобы настроить подключение. Логин пользователя аналогичен названию созданной базы данных.
Для фреймворка подключение настраивается в файле "/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', // Пароль
],
] ];