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 .
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.
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.
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.
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.
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 nach unten 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 .
Bildnachweis: Newsletter – geschrieben auf einer alten Schreibmaschine von 123RF. Alle Änderungen und Screenshots von Ramces Red.
Schreibe einen Kommentar