Часть 2: Установка окружения Python на хостинге Beget
Часть 3: Запуск, запуск в фоновом режиме, запуск по расписанию, отключение
На этом этапе у нас имеется:
1. Специальное программное обеспечение PuTTy для доступа по SSH.
2. Техническая информация: адрес сервера, логин и пароль. А также разрешение подключаться к серверу по SSH.
3. Размещенный на хостинге файл с чат-ботом.
Действуем по инструкции хостинга: https://beget.com/ru/kb/how-to/web-apps/python#ustanovka-modulya-python
1. Запускаем PuTTY. В "Host name" вписываем имя сервера. в "Saved Sessons" любое слово. И нажимаем Open.
2. Вводим логин. Жмём Enter.
3. Вводим пароль. Обязательно следите за раскладкой, потому что символы пароля печататься не будут.
Если всё сделано верно, то появится строка приглашения к командам операционной среды сервера.
4. Для установки Python нам сначала нужно зайти в специальное окружение внутри хостинга, которое называется Docker.
ssh localhost -p222
При входе понадобится ещё раз ввести тот же самый пароль.
Если всё сделано верно, то появится строка приглашения к командам операционной среды сервера с надписью (docker).
5. Дальше работа ведется во временном каталоге.
Если он уже существует, то переходим в него командой:
cd ~/.beget/tmp/
Если не существует, то создаём и переходим командой:
mkdir -p ~/.beget/tmp && cd ~/.beget/tmp/
Проверить, существует (создан ли) каталог можно просто через файловый менеджер в панели управления хостингом.
6. Так как у нас версия Python 3.12 (выше 3.10), то по инструкции нам необходимо обновить сначала openssl.
Скачиваем архив командой:
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz
Распаковываем и переходим в каталог дистрибутива:
tar -xvzf openssl-1.1.1l.tar.gz && cd openssl-1.1.1l
Осуществляем настройку командой:
./config --prefix=$HOME/.local --openssldir=$HOME/.local/ssl '-Wl,--enable-new-dtags,-rpath,$(LIBRPATH)'
Запускаем компиляцию и установку командой:
make -j$((`nproc`/4)) && make install
Можно проверить, что всё установилось корректно командой:
~/.local/bin/openssl version
В ответ должны получить:
7. Теперь устанавливаем сам Python 3.12
Опять переходим во временный каталог:
cd ~/.beget/tmp
Скачиваем архив с нужной версией:
wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz
P.S. Версии можно посмотреть просто по адресу: https://www.python.org/ftp/python/
Распаковываем архив и переходим в каталог с дистрибутивом:
tar -xvzf Python-3.12.2.tgz && cd Python-3.12.2
Конфигурируем (берите из инструкции команду для Python 3.10 и выше):
./configure --prefix=$HOME/.local --with-openssl=$HOME/.local --with-openssl-rpath=auto --enable-optimizations --enable-loadable-sqlite-extensions LDFLAGS="-Wl,-rpath /usr/local/lib"
Устанавливаем:
make -j$((`nproc`/4)) && make install
Проверить корректность установки можно следующей командой:
python3 -V
В ответ должны получить:
Также через файловый менеджер вы увидите, что появилась новая папка python3.12 по адресу ../.local/lib
Окружение Python 3.12 установлено, но его команды будут доступны только после подключения к Docker. Если сейчас закрыть терминал PuTTY, снова в него зайти, но не заходить в Docker, вам будет доступен только Python версии 2.7.17.
8. Устанавливаем библиотеку
Мы пока находимся в Docker, нам доступны команды Python 3.12. Поэтому нам нужно установить библиотеку для чат-бота Telegram.
Выполняем команду:
pip3 install pyTelegramBotAPI
С установкой Python 3.12 и библиотеки для Telegram закончили. В следующей части запустим чат-бот и проверим его работу.
Часть 3: Запуск, запуск в фоновом режиме, запуск по расписанию, отключение