ГлавнаяОперационные системыLinuxКак создать собственную рассылку с помощью Listmonk

Как создать собственную рассылку с помощью Listmonk

Listmonk — это простое универсальное решение для самостоятельного размещения информационных бюллетеней и списков рассылки для Linux. В отличие от традиционных программ списков рассылки, он обеспечивает простую, легкую и быструю платформу. Здесь мы покажем вам, как установить Listmonk с помощью Docker в Ubuntu и как начать использовать его для отправки информационных бюллетеней.

Преимущества использования Listmonk

Одним из главных преимуществ Листмонк является то, что он может работать практически с любым внешним сервером доставки почты в Интернете. Это означает, что вы м

Преимущества использования Listmonk

ни через поставщика услуг электронной почты, например Gmail или ваша собственная настройка электронной почты .

Снимок экрана, показывающий обзор нового экземпляра Listmonk.

Listmonk также имеет возможность создавать программируемые шаблоны электронной почты. Это позволяет создавать собственные электронные письма, которые могут настраиваться в зависимости от контекста, в котором пользователь получает сообщение.

Наконец, Listmonk поставляется с интуитивно понятным аналитическим модулем, позволяющим отслеживать каждый информационный бюллетень, запущенный внутри программы. Он может отслеживать как количество кликов, полученных каждым сообщением, так и общее количество просмотров всего списка рассылки за определенный период времени.

Установка Listmonk

Получение Docker и Docker Compose

Предположение: В этой статье предполагается, что вы используете Listmonk на постоянно включенном VPS. Кроме того, предполагается, что у вас уже есть доменное имя с записью A и PTR, указывающей на ваш VPS.

Для начала получите ключ репозитория для пакетов Docker и Docker Compose:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Создайте новый файл репозитория для пакетов Docker и Docker Compose:

sudo nano /etc/apt/sources.list.d/docker.list

Напишите следующую строку кода внутри нового файла репозитория:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stableУстановка 

Получение Docker и Docker Compose

нив следующую команду:

sudo apt update && sudo apt upgrade

Установите Docker Engine вместе с Docker Compose и зависимостями его компонентов:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git curl

Убедитесь, что у вашего текущего пользователя есть необходимые разрешения на доступ к двоичным файлам Docker:

sudo usermod -aG docker ramces

Настройка и развертывание Listmonk

Создайте новую папку для файлов Docker в домашнем каталоге текущего пользователя:

mkdir ~/listmonk && cd ~/listmonk

Создайте новый файл конфигурации для вашего экземпляра Listmonk:

nano ./config.toml

Вставьте следующий код в новый файл конфигурации:

[app]
address = "0.0.0.0:9000"
admin_username = "listmonk"
admin_password = "listmonk"
 
[db]
host = "listmonk_db"
port = 5432
user = "listmonk"
password = "INSERT_RANDOM_PASSWORD_HERE"
 
database = "listmonk"
 
ssl_mode = "disable"
max_open = 25
max_idle = 25
max_lifetime = "300s"
 
params = ""

Примечание. Вы можете легко создать случайный пароль с помощью команды: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1

Сохраните новый файл конфигурации, затем создайте docker-compose.yml вашего экземпляра Listmonk:

nano ./docker-compose.yml

Вставьте следующий блок кода в новый файл.yml. Это файл docker-compose.yml по умолчанию для Listmonk, который я изменил для работы с моим часовым поясом:

---
version: "3.7"
x-app-defaults:
  restart: unless-stopped
  image: listmonk/listmonk:latest
  ports:
    - 9000:9000
  networks:
Настройка и развертывание Listmonk>:
    - TZ=Asia/Manila
x-db-defaults:
  image: postgres:13
  ports:
    - 9432:5432
  networks:
    - listmonk
  environment:
    - POSTGRES_PASSWORD=INSERT_RANDOM_PASSWORD_HERE
    - POSTGRES_USER=listmonk
    - POSTGRES_DB=listmonk
  restart: unless-stopped
  healthcheck:
    test:
      - CMD-SHELL
      - pg_isready -U listmonk
    interval: 10s
    timeout: 5s
    retries: 6
services:
  db:
    image: postgres:13
    ports:
      - 9432:5432
    networks:
      - listmonk
    environment:
      - POSTGRES_PASSWORD=INSERT_RANDOM_PASSWORD_HERE
      - POSTGRES_USER=listmonk
      - POSTGRES_DB=listmonk
    restart: unless-stopped
    healthcheck:
      test:
        - CMD-SHELL
        - pg_isready -U listmonk
      interval: 10s
      timeout: 5s
      retries: 6
    container_name: listmonk_db
    volumes:
      - type: volume
        source: listmonk-data
        target: /var/lib/postgresql/data
  app:
    restart: unless-stopped
    image: listmonk/listmonk:latest
    ports:
      - 9000:9000
    networks:
      - listmonk
    environment:
      - TZ=Asia/Manila
    container_name: listmonk_app
    depends_on:
      - db
    volumes:
      - ./config.toml:/listmonk/config.toml
  networks:
  listmonk: null
volumes:
  listmonk-data: null

Развертывание Docker-контейнера Listmonk

Выполните следующую команду Docker, чтобы создать файл базы данных вашего экземпляра:

docker compose up db

Откройте новое SSH-соединение, затем запустите процесс сборки Listmonk, запустив двоичный файл «listmonk» внутри его контейнера Docker:

docker compose run --rm app ./listmonk --install

Введите «Y», затем нажмите Enter, когда сценарий сборки попросит вас стереть все существующие данные в работающей базе данных. Это гарантирует, что ваш контейнер Listmonk будет чистым при запуске.

Терминал, показывающий запрос на очистку базы данных для Docker-контейнера Listmonk.

Вернитесь к сеансу SSH для базы данных вашего экземпляра, затем нажмите Ctrl+ C, чтобы корректно завершить сеанс.

Терминал, показывающий корректное закрытие временной базы данных.

И наконец, перезапустите все контейнеры Docker для Listmonk с правильными настройками:

docker compose up -d app db

Создание обратного прокси-сервера Nginx

Несмотря на то, что Listmonk начал работать на экземпляре Docker, он не доступен публично, пока вы не настроите обратный прокси для ссылки на него. Следуйте инструкциям ниже, чтобы настроить обратный прокси-сервер Nginx.

Создайте новый файл конфигурации сайта для вашего экземпляра Listmonk:

sudo nano /etc/nginx/sites-available/listmonk

Вставьте следующий блок кода в файл конфигурации нового сайта:

server {
 
        server_name listmonk.myvpsserver.top;
 
        location / {
           

Развертывание Docker-контейнера Listmonk

an>9000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; } }

Свяжите новый файл конфигурации из /etc/nginx/sites-available с /etc/nginx/sites-enabled:

sudo ln -s /etc/nginx/sites-available/listmonk /etc/nginx/sites-enabled/

Перезапустите демон сервера Nginx, выполнив следующую команду:

sudo systemctl reload nginx

Установка SSL-сертификата

После настройки обратного прокси-сервера ваш сайт станет общедоступным. Однако это небезопасно, поскольку отсутствует сертификат SSL. Таким образом, следующим шагом будет установка SSL-сертификата.

Убедитесь, что в вашей системе запущен демон core snap:

sudo snap install core

Установите пакет оснастки certbot от Electronic Frontier Foundation (EFF). Эта утилита позволит вам запросить сертификат SSL, который ваш сервер сможет использовать для шифрования соединений между хостами.

sudo snap install certbot --classic

Проверьте, правильно ли работает ваш пакет certbot, зарегистрировав его в EFF:

sudo certbot register --agree-tos -m you@your-email.invalid

Получите новый сертификат SSL для вашей установки Listmonk, выполнив следующую команду:

sudo certbot Создание обратного прокси-сервера Nginxserver.top

Доступ к Listmonk и его настройка

Откройте веб-браузер, затем перейдите по адресу вашего экземпляра Listmonk. Откроется простая веб-страница с кнопкой входа в систему.

Снимок экрана, показывающий экран входа в Listmonk.

Нажмите кнопку «Войти», затем введите «listmonk» в полях «Имя пользователя» и «Пароль».

Снимок экрана, показывающий запрос учетных данных.

При этом загрузится главная панель управления вашего экземпляра Listmonk. Нажмите кнопку «Настройки» на левой боковой панели страницы.

Скриншот, показывающий категорию «Настройки».

Замените значение текстового поля «Корневой URL-адрес» полным адресом вашего экземпляра Listmonk.

Снимок экрана, на котором показано значение «Корневой URL-адрес» с использованием доменного имени VPS.

Нажмите «Сохранить» в правом верхнем углу страницы, чтобы сохранить новые настройки.

Примечание. Не забудьте изменить имя пользователя и пароль по умолчанию.

Привязка учетной записи Gmail к Listmonk

Войдите в свою учетную запись Gmail, затем щелкните значок своего пользователя в правом верхнем углу страницы.

Скриншот, на котором выделен значок пользователя в Gmail.

Нажмите «Управление учетной записью Google».

Установка SSL-сертификатаle-account-highlight.png" alt="Скриншот, на котором выделена ссылка «Управление» для учетной записи Gmail.">

Нажмите категорию «Безопасность» на левой боковой панели страницы. Выберите опцию «Двухэтапная аутентификация» на подстранице «Безопасность».

Скриншот, показывающий опцию «Двухэтапная аутентификация».

Прокрутите страницу вниз и нажмите кнопку «Пароли приложений».

Снимок экрана, показывающий кнопку «Пароли приложений» для учетной записи Gmail.

Появится запрос на название приложения, которое вы хотите связать. Введите «listmonk» и нажмите «Создать».

На странице появится небольшое окно с 16 случайными символами, сгруппированными по четыре. Скопируйте это в текстовый файл и нажмите «Готово».

Снимок экрана с примером пароля приложения.

Вернитесь на страницу панели управления Listmonk и нажмите кнопку «Настройки» на левой боковой панели страницы.

Выберите вкладку «SMTP» на верхней панели страницы. Нажмите ссылку «Gmail» под раскрывающимся списком «Протокол аутентификации».

Доступ к Listmonk и его настройкаСкриншот, на котором выделена ссылка на шаблон Gmail.">

Введите полный адрес электронной почты вашей учетной записи Gmail в поле «Имя пользователя».

Нажмите на поле «Пароль», затем введите 16-значную строку, скопированную с веб-сайта Gmail, без пробелов.

Скриншот, показывающий полную ссылку на Gmail.

Нажмите «Сохранить», чтобы применить новые настройки SMTP.

Снимок экрана, на котором выделена кнопка «Сохранить» для текущих настроек Listmonk.

Наконец, перейдите на вкладку «Общие» и замените значение текстового поля «Адрес отправителя по умолчанию» на адрес вашей учетной записи Gmail.

Создание нового информационного бюллетеня Listmonk

Перейдите на страницу панели управления Listmonk, выберите категорию «Списки», затем выберите параметр «Все списки».

Снимок экрана, показывающий опцию «Все списки» на панели управления Listmonk.

Нажмите кнопку «Создать» в правом верхнем углу страницы.

Снимок экрана, на котором выделена кнопка «Новый» в категории «Списки».

Заполните данные нового списка рассылки, затем нажмите «Сохранить».

Снимок экрана, показывающий базовый список общедоступных информационных бюллетеней.

Вот и все. Вы завершили установку Listmonk.

Размещение собственного информационного бюллетеня — это лишь часть создания собственной цифровой платформы. Узнайте, как продлить это действие на Привязка учетной записи Gmail к Listmonkстинг блога в Linux с использованием Ghost и запустите собственную веб-доску Канбан с помощью Kanboard .

Изображение предоставлено: Информационный бюллетень, написанный на старой пишущей машинке. от 123RF. Все изменения и скриншоты Рамсеса Реда.

Создание нового информационного бюллетеня Listmonk

ПОХОЖИЕ СТАТЬИ

Популярные записи