Настройка Python Webhook Server на Ubuntu#
После создания машины для сервера нужно настроить на ней брандмауэр, установить необходимые компоненты и запустить сервер.
Ubuntu 20.04 и выше поставляются с предустановленным Python 3. Обновим систему:
sudo apt update
sudo apt -y upgrade
Нужно настроить правила брандмауэра. В Ubuntu брандмауэр UFW установлен по умолчанию, но если по какой-то причине он не установлен, установим:
sudo apt install ufw
Сначала создадим правила брандмауэра по-умолчанию:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Если мы сейчас активируем брандмауэр UFW, все входящие соединения будут запрещены. Чтобы после активации брандмауэра нам было доступно соединение по SSH нужно добавить правила:
sudo ufw allow ssh
Соединения HTTP на порту 80, которые используются веб-серверами без шифрования, с помощью команды:
sudo ufw allow http
Соединения HTTPS на порту 443, которые используются веб-серверами с шифрованием, с помощью команды:
sudo ufw allow https
Если на вашем сервере имеется публичный сетевой интерфейс под названием eth0, вы можете разрешить трафик HTTP (порт 80) для этого интерфейса с помощью следующей команды:
sudo ufw allow in on eth0 to any port 80
Название сетевого интерфейса можно узнать с помощью команды:
ip addr
Активация брандмауэра UFW:
sudo ufw enable
Теперь наш сервер может принимать входящие запросы на указанный нами порт.
Установим систему управления пакетами pip, если он не содержится в дистрибутиве ОС:
sudo apt install -y python3-pip
Теперь можно устанавливать нашу библиотеку.
Установка библиотеки:
pip3 install whatsapp-api-webhook-server-python
Можно в качестве примера запустить на сервере наш скрипт echo.py, он будет выводить в консоль информацию о полученных уведомлениях:
wget https://raw.githubusercontent.com/green-api/whatsapp-api-webhook-server-python/master/examples/echo.py
python3 echo.py