Listmonk — это автономный, самостоятельный, информационный бюллетень и менеджер списков рассылки. Он быстрый, многофункциональный и упакован в один бинарный файл, и единственная зависимость — это база данных Postgres. В этой статье мы узнаем, как установить Listmonk на Ubuntu 22.04. Итак, приступим.

Предпосылки

  • Сервер с Ubuntu 22.04 в качестве ОС
  • Права пользователя: пользователь root или обычный пользователь с привилегиями sudo

Шаг 1. Обновите систему

Свежая установка Ubuntu 22.04 требует обновления пакетов до последних доступных версий.

1
sudo apt-get update -y && sudo apt-get upgrade -y

Шаг 2. Установите PostgreSQL

Установите пакет Postgres вместе с пакетом contrib, который добавляет некоторые дополнительные утилиты и функции.

1
sudo apt install postgresql postgresql-contrib

После установки запустите и включите службу PostgreSQL.

1
sudo systemctl enable postgresql.service && sudo systemctl start postgresql.service

Шаг 3. Создание базы данных

Нам нужно создать базу данных для Listmonk для работы.

1
2
3
sudo -u postgres psql -c "CREATE USER listmonk WITH PASSWORD 'yourpassword';"
sudo -u postgres psql -c "CREATE DATABASE listmonk_db OWNER listmonk;"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE listmonk_db TO listmonk;"

Шаг 4. Создайте пользователя для запуска

1
sudo useradd -s /usr/sbin/nologin -r -M listmonk

Шаг 5. Установите Listmonk

Загрузите последний бинарный файл со страницы релизов на GitHub.

1
2
3
4
5
wget https://github.com/knadh/listmonk/releases/download/v2.4.0/listmonk_2.4.0_linux_amd64.tar.gz
wget https://github.com/knadh/listmonk/releases/download/v2.4.0/listmonk_2.4.0_checksums.txt
shasum -a 256 -c listmonk_2.4.0_checksums.txt
tar -xvf listmonk_2.4.0_linux_amd64.tar.gz
sudo mv listmonk /usr/local/bin/

Создайте новый файл конфигурации с помощью следующей команды

1
sudo mkdir -p /etc/listmonk/
1
listmonk --new-config
1
2
sudo mv config.toml /etc/listmonk/
sudo chown listmonk:listmonk /etc/listmonk/

Отредактируйте файл config.toml, чтобы он соответствовал вашим данным, включая ваше имя пользователя и безопасный пароль.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
[app]
address = "0.0.0.0:9000"
admin_username = "listmonk"
admin_password = "StrongPassword"

# Database.
[db]
host = "localhost"
port = 5432
user = "listmonk"
password = "yourpassword"
database = "listmonk_db"
ssl_mode = "disable"
max_open = 25
max_idle = 25
max_lifetime = "300s"

Сохраните и закройте файл.

Используйте следующую команду для установки таблиц PostgreSQL.

1
listmonk --install

После этого выполните следующую команду, чтобы запустить его.

1
listmonk

Затем перейдите в браузере по адресу http://localhost:9000 чтобы получить доступ к listmonk.

Шаг 6. Настройте службу systemd для запуска Listmonk

1
sudo nano /etc/systemd/system/listmonk.service
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
[Unit]
Description=ListMonk - mailing list and newsletter manager
Requires=network.target
After=network.target
After=postgresql.service

[Service]
Type=simple
User=listmonk
Group=listmonk
WorkingDirectory=/etc/listmonk/
EnvironmentFile=/etc/listmonk/config.toml
ExecStart=/usr/local/bin/listmonk --config /etc/listmonk/config.toml
Restart=on-failure
RestartSec=3

[Install]
WantedBy=multi-user.target

Включите и запустите listmonk при загрузке.

1
2
sudo systemctl start listmonk.service
sudo systemctl enable listmonk.service

Все, что осталось, — это войти в систему, используя учетные данные администратора, которые мы установили в файле config.toml, и ввести все наши пользовательские настройки на вкладке «Настройки».

Обновление Listmonk

Загрузите последний бинарный выпуск с GitHub и извлеките его содержимое и замените бинарный файл.

Выполните следующую команду для обновления.

1
listmonk --upgrade

Затем посетите веб-сайт по адресу http://localhost:9000 для доступа.

Собственно на этом всё, теперь вы можете создавать кампании и отправлять сообщения всем своим подписчикам обо всех ваших выгодных предложениях.

Если вам понравился этот пост о том, как установить Listmonk на Ubuntu 22.04, делитесь нашими постами и помогайте нам расти.