Перейти к содержанию

Настройка 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