Как установить фреймворк HLEB на хостинг TIMEWEB

18 Января 2023 (ред)

Хостинг 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', // Пароль
        ],
] ];
fomiash fomiash + 221
Опубликовано в PHP фреймворк HLEB
Для ответа вы можете авторизоваться


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.