So erstellen Sie Ihren eigenen Newsletter mit Listmonk

So erstellen Sie Ihren eigenen Newsletter mit Listmonk

Listmonk ist eine einfache Komplettlösung für selbst gehostete Newsletter und Mailinglisten für Linux. Im Gegensatz zu herkömmlichen Mailinglistenprogrammen zeichnet es sich durch die Bereitstellung einer schlanken Plattform aus, die leichtgewichtig und schnell ist. Hier zeigen wir Ihnen, wie Sie Listmonk mit Docker unter Ubuntu installieren und wie Sie damit beginnen, Newsletter zu versenden.

Vorteile der Verwendung von Listmonk

Eines der größten Verkaufsargumente von Listmonk ist, dass es mit fast jedem externen Mail-Zustellungsserver im Internet zusammenarbeiten kann. Das bedeutet, dass Sie Ihre Newsletter mit einem gehosteten E-Mail-Anbieter wie Gmail oder Ihrem eigenen selbst gehosteten E-Mail-Setup versenden können .

Ein Screenshot, der die Übersicht einer neuen Listmonk-Instanz zeigt.

Listmonk bietet außerdem die Möglichkeit, programmierbare E-Mail-Vorlagen zu erstellen. Dadurch ist es möglich, benutzerdefinierte E-Mails zu erstellen, die sich je nach Kontext, über den der Benutzer die Nachricht erhält, anpassen können.

Schließlich verfügt Listmonk über ein intuitives Analysemodul, mit dem Sie jeden Newsletter verfolgen können, der im Programm ausgeführt wird. Es kann sowohl die Anzahl der Klicks, die jede Nachricht erhält, als auch die Gesamtansichten, die eine gesamte Mailingliste in einem bestimmten Zeitraum erreicht, verfolgen.

Installation von Listmonk

Beziehen von Docker und Docker Compose

Annahme: In diesem Artikel wird davon ausgegangen, dass Sie Listmonk auf einem ständig aktiven VPS ausführen. Darüber hinaus wird davon ausgegangen, dass Sie bereits über einen Domainnamen mit einem A- und PTR-Eintrag verfügen, der auf Ihren VPS verweist.

Rufen Sie zunächst den Repository-Schlüssel für die Pakete Docker und Docker Compose ab:

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

Erstellen Sie die neue Repository-Datei für Ihre Docker- und Docker Compose-Pakete:

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

Schreiben Sie die folgende Codezeile in Ihre neue Repository-Datei:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Aktualisieren und aktualisieren Sie Ihr gesamtes Ubuntu-System, indem Sie den folgenden Befehl ausführen:

sudo apt update && sudo apt upgrade

Installieren Sie die Docker Engine zusammen mit Docker Compose und seinen Komponentenabhängigkeiten:

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

Stellen Sie sicher, dass Ihr aktueller Benutzer über die richtigen Berechtigungen für den Zugriff auf die Docker-Binärdateien verfügt:

sudo usermod -aG docker ramces

Listmonk einrichten und bereitstellen

Erstellen Sie einen neuen Ordner für Ihre Docker-Dateien im Home-Verzeichnis Ihres aktuellen Benutzers:

mkdir ~/listmonk && cd ~/listmonk

Erstellen Sie eine neue Konfigurationsdatei für Ihre Listmonk-Instanz:

nano. /config.toml

Fügen Sie den folgenden Code in Ihre neue Konfigurationsdatei ein:

[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 = ""

Speichern Sie Ihre neue Konfigurationsdatei und erstellen Sie dann die docker-compose.yml Ihrer Listmonk-Instanz:

nano. /docker-compose.yml

Fügen Sie den folgenden Codeblock in Ihr neues ein. yml-Datei. Dies ist die Standarddatei „docker-compose.yml“ für Listmonk, die ich geändert habe, damit sie mit meiner Zeitzone funktioniert:

---
version: "3.7"
x-app-defaults:
restart: unless-stopped
image: listmonk/listmonk:latest
ports:
- 9000:9000
networks:
- listmonk
environment:
- 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

Bereitstellen des Listmonk-Docker-Containers

Führen Sie den folgenden Docker-Befehl aus, um die Datenbankdatei Ihrer Instanz zu generieren:

docker compose up db

Öffnen Sie eine neue SSH-Verbindung und starten Sie dann den Erstellungsprozess für Listmonk, indem Sie die Binärdatei „listmonk“ in seinem Docker-Container ausführen:

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

Geben Sie „Y“ ein und drücken Sie dann, Enterwenn das Build-Skript Sie auffordert, alle vorhandenen Daten in der laufenden Datenbank zu löschen. Dadurch wird sichergestellt, dass Ihr Listmonk-Container beim Start sauber ist.

Ein Terminal, das die Eingabeaufforderung zum Löschen der Datenbank für den Listmonk-Docker-Container anzeigt.

Gehen Sie zurück zur SSH-Sitzung für die Datenbank Ihrer Instanz und drücken Sie dann Ctrl+ C, um die Sitzung ordnungsgemäß zu beenden.

Ein Terminal, das das ordnungsgemäße Schließen der temporären Datenbank anzeigt.

Starten Sie abschließend alle Docker-Container für Listmonk mit den richtigen Einstellungen neu:

docker compose up -d app db

Erstellen eines Nginx-Reverse-Proxys

Obwohl Listmonk mit der Ausführung auf einer Docker-Instanz begonnen hat, ist es erst dann öffentlich zugänglich, wenn Sie einen Reverse-Proxy für die Verknüpfung konfiguriert haben. Befolgen Sie die nachstehenden Anweisungen, um einen Nginx-Reverse-Proxy zu konfigurieren.

Erstellen Sie eine neue Site-Konfigurationsdatei für Ihre Listmonk-Instanz:

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

Fügen Sie den folgenden Codeblock in Ihre neue Site-Konfigurationsdatei ein:

server {

server_name listmonk.myvpsserver.top;


location / {
proxy_pass http://127.0.0.1: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;
}}

Verknüpfen Sie Ihre neue Konfigurationsdatei von /etc/nginx/sites-available mit /etc/nginx/sites-enabled:

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

Starten Sie Ihren Nginx-Server-Daemon neu, indem Sie den folgenden Befehl ausführen:

sudo systemctl reload nginx

SSL-Zertifikat installieren

Sobald Sie den Reverse-Proxy konfiguriert haben, ist Ihre Site öffentlich zugänglich. Allerdings ist es nicht sicher, da kein SSL-Zertifikat vorhanden ist. Daher besteht der nächste Schritt darin, das SSL-Zertifikat zu installieren.

Stellen Sie sicher, dass der Kern-Snap-Daemon in Ihrem System ausgeführt wird:

sudo snap install core

Installieren Sie das Certbot-Snap-Paket von der Electronic Frontier Foundation (EFF). Mit diesem Dienstprogramm können Sie ein SSL-Zertifikat anfordern, das Ihr Server zum Verschlüsseln von Verbindungen zwischen Hosts verwenden kann.

sudo snap install certbot --classic

Testen Sie, ob Ihr Certbot-Paket ordnungsgemäß läuft, indem Sie es beim EFF registrieren:

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

Erhalten Sie ein neues SSL-Zertifikat für Ihre Listmonk-Installation, indem Sie den folgenden Befehl ausführen:

sudo certbot --nginx -d listmonk.myvpsserver.top

Auf Listmonk zugreifen und es konfigurieren

Öffnen Sie einen Webbrowser und navigieren Sie dann zur Adresse Ihrer Listmonk-Instanz. Dadurch wird eine einfache Webseite mit einer Anmeldeschaltfläche angezeigt.

Ein Screenshot, der den Listmonk-Anmeldebildschirm zeigt.

Klicken Sie auf die Schaltfläche „Anmelden“ und geben Sie dann „listmonk“ in die Felder „Benutzername“ und „Passwort“ ein.

Ein Screenshot, der die Eingabeaufforderung für Anmeldeinformationen zeigt.

Dadurch wird das Haupt-Dashboard für Ihre Listmonk-Instanz geladen. Klicken Sie in der linken Seitenleiste der Seite auf die Option „Einstellungen“.

Ein Screenshot, der das hervorhebt

Ersetzen Sie den Wert des Textfelds „Root URL“ durch die vollständige Adresse Ihrer Listmonk-Instanz.

Ein Screenshot, der das hervorhebt

Klicken Sie oben rechts auf der Seite auf „Speichern“, um die neue Einstellung zu speichern.

Verknüpfen eines Gmail-Kontos mit Listmonk

Melden Sie sich bei Ihrem Gmail-Konto an und klicken Sie dann auf das Symbol Ihres Benutzers in der oberen rechten Ecke der Seite.

Ein Screenshot, der das Benutzersymbol in Gmail hervorhebt.

Klicken Sie auf „Ihr Google-Konto verwalten“.

Ein Screenshot, der das hervorhebt

Klicken Sie in der linken Seitenleiste der Seite auf die Kategorie „Sicherheit“. Wählen Sie auf der Unterseite „Sicherheit“ die Option „Bestätigung in zwei Schritten“.

Ein Screenshot, der das hervorhebt

Scrollen Sie nach unten zum Ende der Seite und klicken Sie dann auf die Schaltfläche „App-Passwörter“.

Ein Screenshot, der das zeigt

Daraufhin wird eine Eingabeaufforderung angezeigt, in der Sie nach dem Namen der Anwendung gefragt werden, die Sie verknüpfen möchten. Geben Sie „listmonk“ ein und klicken Sie dann auf „Erstellen“.

Die Seite öffnet dann ein kleines Fenster mit 16 zufälligen, in Vierergruppen gruppierten Zeichen. Kopieren Sie dies in eine Textdatei und klicken Sie dann auf „Fertig“.

Ein Screenshot, der ein Beispiel-App-Passwort zeigt.

Gehen Sie zurück zu Ihrer Listmonk-Dashboard-Seite und klicken Sie dann in der linken Seitenleiste der Seite auf die Option „Einstellungen“.

Wählen Sie in der oberen Leiste der Seite die Registerkarte „SMTP“. Klicken Sie auf den Link „Gmail“ unter dem Dropdown-Feld „Auth Protocol“.

Ein Screenshot, der den Link zur Gmail-Vorlage hervorhebt.

Geben Sie die vollständige E-Mail-Adresse Ihres Gmail-Kontos in das Feld „Benutzername“ ein.

Klicken Sie auf das Feld „Passwort“ und geben Sie dann die 16-Buchstaben-Zeichenfolge ein, die Sie von der Gmail-Website kopiert haben, ohne Leerzeichen.

Ein Screenshot, der einen vollständigen Gmail-Link zeigt.

Klicken Sie auf „Speichern“, um Ihre neuen SMTP-Einstellungen zu übernehmen.

Ein Screenshot, der das hervorhebt

Gehen Sie abschließend zur Registerkarte „Allgemein“ und ersetzen Sie den Wert des Textfelds „Standard-Absenderadresse“ durch die Adresse Ihres Gmail-Kontos.

Erstellen eines neuen Listmonk-Newsletters

Gehen Sie zu Ihrer Listmonk-Dashboard-Seite, klicken Sie auf die Kategorie „Listen“ und dann auf die Option „Alle Listen“.

Ein Screenshot, der das hervorhebt

Wählen Sie die Schaltfläche „Neu“ in der oberen rechten Ecke der Seite.

Ein Screenshot, der das hervorhebt

Geben Sie die Details Ihrer neuen Mailingliste ein und klicken Sie dann auf „Speichern“.

Ein Screenshot, der eine einfache Liste öffentlicher Newsletter zeigt.

Das ist es. Sie haben die Installation von Listmonk abgeschlossen.

Das Hosten Ihres eigenen Newsletters ist nur ein Teil der Erstellung Ihrer eigenen digitalen Plattform. Erfahren Sie, wie Sie dies erweitern können, indem Sie mit Ghost einen Blog unter Linux hosten und mit Kanboard Ihr eigenes Web-Kanban-Board betreiben .

Bildnachweis: Newsletter – geschrieben auf einer alten Schreibmaschine von 123RF. Alle Änderungen und Screenshots von Ramces Red.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert