Установка бота на хостинг
В этом разделе описан процесс установки TG Support Bot на хостинг без использования Docker Compose.
Альтернативный способ установки
Установка через Docker Compose автоматически разворачивает все необходимые сервисы: базу данных, логирование и мониторинг. При установке на хостинг вам потребуется заранее создать базу данных и самостоятельно указать доступы к ней в файле .env.
Видеоинструкции
Исправление к видеоинструкции
В видео упоминается ключ secret_key — это ошибка. Правильное название параметра: secret_token.
Клонирование репозитория
Перейдите в директорию проекта и убедитесь, что она пуста:
ls -AЕсли директория не пуста, очистите её:
find . -mindepth 1 -deleteКлонируйте репозиторий:
git clone https://github.com/prog-time/tg-support-bot.git .Создание бота и группы в Telegram
- Откройте @BotFather и создайте нового бота командой
/newbot; - Задайте имя и имя пользователя (username) для бота;
- Скопируйте и сохраните полученный токен;
- Создайте новую приватную Telegram-группу;
- Добавьте бота в группу и назначьте его администратором;
- В настройках группы включите возможность создавать темы;
- Чтобы узнать ID группы, временно добавьте в неё бота @getMyId или аналогичный. После получения ID удалите его из группы.
Создание файла .env
Скопируйте файл конфигурации из шаблона:
cp .env.example .envЗаполнение .env
Откройте файл .env и замените значения переменных на реальные данные: токен бота, секретный ключ, параметры базы данных и прочее.
Применение миграций базы данных
После настройки подключения к базе данных выполните миграции для создания необходимых таблиц:
php artisan migrateПеренаправление запросов в директорию public
TIP
Этот шаг может отличаться в зависимости от вашего хостинга. Если настройка не получится, обратитесь в техническую поддержку хостинга или задайте вопрос в нашем Telegram-сообществе — t.me/pt_tg_support.
Для корректной работы приложения все входящие запросы должны направляться в директорию public. Создайте файл .htaccess в корне проекта со следующим содержимым:
RewriteEngine On
RewriteRule (.*) public/$1После этого убедитесь, что запросы корректно обрабатываются через public/index.php.