Сервер VDE для телеграмм бота

Сервер VDE для телеграмм бота

Сразу после установки

  1. Обновляемся
    • bash> apt update
    • bash> apt upgrade
  2. Установил MC
  3. Создается пользователь для ftp, запрещаем доступ по ssh:
    • bash>usermod -s /sbin/nologin testuser
    • не забыть создать папку для ftp
  4. Установка vsftp:
    • директивы .config
      • listen=NO
      • listen_ipv6=YES
      • local_enable=YES
      • write_enable=YES
      • local_umask=022
      • dirmessage_enable=YES
      • use_localtime=YES
      • xferlog_enable=YES
      • connect_from_port_20=YES
      • chroot_local_user=YES
      • user_sub_token=$USER
      • local_root=/home/$USER/[ftp-каталог]
      • allow_writeable_chroot=YES
      • pam_service_name=vsftpd
      • rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
      • rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
      • ssl_enable=NO
      • utf8_filesystem=YES
  5. Настраиваем python:
    • установка pip
      • bash> apt install python3-pip
    • создаем пользователя для скрипта
      • bash> useradd
    • логинимся пользователем и создаем окружение
      • bash> python3 -m venv .[проект]_venv
    • активируем окружение
      • bash> source .eureka_py_venv/bin/activate
    • с активированным окружением устанавливаем нужные пакеты
      • bash pip install [что нужно]
  6. Делаем запуск как службу
    • в каталоге /etc/systemd/system/ создайте файл службы [имя_службы].service
    • в файл записываем следующие строки
      • [Unit]
        • Description=My Python Service
        • After=network.target
      • [Service]
        • # Путь к вашему интерпретатору Python и скрипту
        • ExecStart=/[путь к окружению venv]/bin/python3 /[путь к скрипту]/[скрипт]
        • # Указываем рабочую директорию проекта
        • WorkingDirectory=/path/to/project
        • # Указываем пользователя, от имени которого будет запущена служба
        • User=your_username
        • # Группа
        • Group=your_group
        • # Перезапуск службы в случае сбоя
        • # Restart=always
        • # Опционально: задержка перед перезапуском
        • RestartSec=5
      • [Install]
        • WantedBy=multi-user.target
    • обновляем демон systenctl
      • bash> systemctl daemon-reload
    • запускаем службу и смотрим статус
      • bash> systemctl start [имя службы]
      • bash> systemctl status [имя службы]
    • если все нормально — включаем в автозапуск
      • bash> systemctl enable [имя службы]
    • если нет — смотрим ошибки
      • bash> journalctl -u [имя службы] -n [количество строк просмотра — не меньше 50]
    • исправляем и пробуем опять