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 Listenmönch ist, dass es mit fast jedem externen Mail-Zustellungsserver im Internet funktionieren 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.

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:

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

[app]

Adresse = „0.0.0.0:9000“ admin_username = „listmonk“ admin_password = „listmonk“

[db]
host = „listmonk_db“ port = 5432 user = „listmonk“ passwort = „INSERT_RANDOM_PASSWORD_HERE“ Datenbank = „listmonk“ ssl_mode = „disable“ max_open = 25 max_idle = 25 max_lifetime = „300s“ params = „“

Notiz: Sie können ganz einfach ein zufälliges Passwort mit dem Befehl erstellen: cat /dev/urandom | tr -dc 'A-Za-z0-9' | falten -w 32 | Kopf -n 1

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 Ihre neue .yml-Datei ein. Dies ist die Standarddatei „docker-compose.yml“ für Listmonk, die ich geändert habe, damit sie mit meiner Zeitzone funktioniert:

--- Version: „3.7“ Bild: postgres:13 Ports: - 9432:5432 Netzwerke: - Listmonk-Umgebung: - POSTGRES_PASSWORD=INSERT_RANDOM_PASSWORD_HERE - POSTGRES_USER=listmonk - POSTGRES_DB=listmonk Neustart: sofern nicht gestoppt Gesundheitsprüfung: Test: - CMD-SHELL - pg_isready -U Listmonk-Intervall: 10s Timeout: 5s Wiederholungen: 6 Dienste: Datenbank: Bild: Postgres: 13 Ports: - 9432:5432 Netzwerke: - Listmonk-Umgebung: - POSTGRES_PASSWORD=INSERT_RANDOM_PASSWORD_HERE - POSTGRES_USER=listmonk - POSTGRES_DB=listmonk Neustart: sofern nicht gestoppt Gesundheitsprüfung: Test: - CMD -SHELL - pg_isready -U Listmonk-Intervall: 10 Sekunden Zeitüberschreitung: 5 Sekunden Wiederholungsversuche: 6 Containername: Listmonk_DB-Volumes: - Typ: Volume-Quelle: Listmonk-Daten Ziel: /var/lib/postgresql/data App: Neustart: sofern nicht gestoppt Bild: Listmonk /listmonk:latest ports: - 9000:9000 Netzwerke: - listmonk-Umgebung: - TZ=Asia/Manila Containername: listmonk_app depend_on: - Datenbank-Volumes: - ./config.toml:/listmonk/config.toml Netzwerke: 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:

Ö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 die Eingabetaste, wenn 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.

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

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 { Servername listmonk.myvpsserver.top;  Standort / { Proxy_pass http://127.0.0.1:9000;  Proxy_http_version 1.1;  Proxy_set_header Upgrade $http_upgrade;  Proxy_set_header Verbindung „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 nginx neu laden

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:

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.

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

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

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

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

Notiz: Vergessen Sie nicht, den Standardbenutzernamen und das Standardkennwort zu ändern.

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.

Klicken Sie auf „Ihr Google-Konto verwalten“.

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“.

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

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“.

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“.

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.

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

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“.

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

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

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.

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

Index
  1. Vorteile der Verwendung von Listmonk
  2. Installation von Listmonk
    1. Beziehen von Docker und Docker Compose
    2. Listmonk einrichten und bereitstellen
    3. Bereitstellen des Listmonk-Docker-Containers
  3. Erstellen eines Nginx-Reverse-Proxys
  4. SSL-Zertifikat installieren
  5. Auf Listmonk zugreifen und es konfigurieren
    1. Verknüpfen eines Gmail-Kontos mit Listmonk
    2. Erstellen eines neuen Listmonk-Newsletters

Schreibe einen Kommentar

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

Go up