Hoe u uw eigen nieuwsbrief kunt maken met Listmonk

Hoe u uw eigen nieuwsbrief kunt maken met Listmonk

Listmonk is een eenvoudige, alles-in-één, zelfgehoste oplossing voor nieuwsbrieven en mailinglijsten voor Linux. In tegenstelling tot traditionele mailinglijstprogramma’s blinkt het uit in het bieden van een gestroomlijnd platform dat licht en snel is. Hier laten we u zien hoe u Listmonk kunt installeren met Docker op Ubuntu, en hoe u ermee aan de slag kunt gaan om nieuwsbrieven te verzenden.

Voordelen van het gebruik van Listmonk

Een van de grootste verkoopargumenten van Listmonk is dat het met vrijwel elke externe e-mailbezorgingsserver op internet kan werken. Dit betekent dat u uw nieuwsbrieven kunt verzenden met een gehoste e-mailprovider zoals Gmail of uw eigen zelfgehoste e-mailconfiguratie .

Een screenshot met het overzicht van een nieuwe Listmonk-instantie.

Listmonk wordt ook geleverd met de mogelijkheid om programmeerbare e-mailsjablonen te maken. Dit maakt het mogelijk om aangepaste e-mails te maken die zichzelf kunnen aanpassen, afhankelijk van de context waarin de gebruiker het bericht ontvangt.

Ten slotte wordt Listmonk geleverd met een intuïtieve analysemodule waarmee u elke nieuwsbrief kunt volgen die binnen het programma wordt uitgevoerd. Het kan zowel het aantal klikken op elk bericht bijhouden als het totale aantal weergaven dat een hele mailinglijst in een bepaalde periode bereikt.

Installatie van Listmonk

Docker en Docker Compose verkrijgen

Aanname: In dit artikel wordt ervan uitgegaan dat je Listmonk op een Always-on VPS draait. Verder wordt er ook van uitgegaan dat je al een domeinnaam hebt met een A- en PTR-record dat naar je VPS verwijst.

Haal om te beginnen de repositorysleutel op voor de Docker- en Docker Compose-pakketten:

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

Maak het nieuwe repositorybestand voor uw Docker- en Docker Compose-pakketten:

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

Schrijf de volgende coderegel in uw nieuwe repositorybestand:

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

Update en upgrade uw volledige Ubuntu-systeem door de volgende opdracht uit te voeren:

sudo apt update && sudo apt upgrade

Installeer de Docker Engine samen met Docker Compose en de componentafhankelijkheden:

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

Zorg ervoor dat uw huidige gebruiker de juiste machtigingen heeft voor toegang tot de binaire bestanden van Docker:

sudo usermod -aG docker ramces

Listmonk instellen en implementeren

Maak een nieuwe map voor uw Docker-bestanden in de thuismap van uw huidige gebruiker:

mkdir ~/listmonk && cd ~/listmonk

Maak een nieuw configuratiebestand voor uw Listmonk-instantie:

nano. /config.toml

Plak de volgende code in uw nieuwe configuratiebestand:

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

Sla uw nieuwe configuratiebestand op en maak vervolgens de docker-compose.yml van uw Listmonk-instantie:

nano. /docker-compose.yml

Plak het volgende codeblok in uw nieuwe. yml-bestand. Dit is het standaard docker-compose.yml-bestand voor Listmonk dat ik heb aangepast om met mijn tijdzone te werken:

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

Implementatie van de Listmonk Docker-container

Voer de volgende Docker-opdracht uit om het databasebestand van uw exemplaar te genereren:

docker compose up db

Open een nieuwe SSH-verbinding en start vervolgens het bouwproces voor Listmonk door het binaire bestand “listmonk” in de Docker-container uit te voeren:

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

Typ “Y” en druk vervolgens op Enterwanneer het buildscript u vraagt ​​om bestaande gegevens in de actieve database te wissen. Dit zorgt ervoor dat uw Listmonk-container schoon is wanneer deze wordt gestart.

Een terminal die de database-duidelijke prompt voor de Listmonk Docker Container toont.

Ga terug naar de SSH-sessie voor de database van uw exemplaar en druk vervolgens op Ctrl+ Com de sessie correct te beëindigen.

Een terminal die laat zien dat de tijdelijke database netjes wordt gesloten.

Start ten slotte alle Docker-containers voor Listmonk opnieuw op met de juiste instellingen:

docker compose up -d app db

Nginx omgekeerde proxy maken

Ook al draait Listmonk op een Docker-instantie, het is pas openbaar toegankelijk als je een reverse proxy hebt geconfigureerd om ernaar te linken. Volg de onderstaande instructies om een ​​Nginx reverse proxy te configureren.

Maak een nieuw siteconfiguratiebestand voor uw Listmonk-instantie:

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

Plak het volgende codeblok in uw nieuwe siteconfiguratiebestand:

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;
}}

Koppel uw nieuwe configuratiebestand van /etc/nginx/sites-available naar /etc/nginx/sites-enabled:

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

Start uw Nginx-serverdaemon opnieuw op door de volgende opdracht uit te voeren:

sudo systemctl reload nginx

SSL-certificaat installeren

Zodra u de reverse proxy heeft geconfigureerd, is uw site openbaar toegankelijk. Het is echter niet veilig omdat er geen SSL-certificaat is. De volgende stap is dus het installeren van het SSL-certificaat.

Zorg ervoor dat de kern-snap-daemon op uw systeem actief is:

sudo snap install core

Installeer het certbot snap-pakket van de Electronic Frontier Foundation (EFF). Met dit hulpprogramma kunt u een SSL-certificaat aanvragen dat uw server kan gebruiken om verbindingen tussen hosts te coderen.

sudo snap install certbot --classic

Test of uw certbot-pakket correct werkt door het te registreren bij de EFF:

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

Verkrijg een nieuw SSL-certificaat voor uw Listmonk-installatie door de volgende opdracht uit te voeren:

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

Listmonk openen en configureren

Open een webbrowser en navigeer vervolgens naar het adres van uw Listmonk-instantie. Er verschijnt een eenvoudige webpagina met een inlogknop.

Een screenshot van het Listmonk-inlogscherm.

Klik op de knop ‘Inloggen’ en typ vervolgens ‘listmonk’ in zowel de velden Gebruikersnaam als Wachtwoord.

Een schermafbeelding met de prompt voor inloggegevens.

Als u dat doet, wordt het hoofddashboard voor uw Listmonk-instantie geladen. Klik op de optie “Instellingen” in de linkerzijbalk van de pagina.

Een screenshot waarin de

Vervang de waarde van het tekstvak “Root URL” door het volledige adres van uw Listmonk-instantie.

Een screenshot waarin de

Klik op ‘Opslaan’ in de rechterbovenhoek van de pagina om de nieuwe instelling op te slaan.

Een Gmail-account koppelen aan Listmonk

Log in op uw Gmail-account en klik vervolgens op het gebruikerspictogram in de rechterbovenhoek van de pagina.

Een screenshot waarin het gebruikerspictogram in Gmail wordt gemarkeerd.

Klik op ‘Je Google-account beheren’.

Een screenshot waarin de

Klik op de categorie ‘Beveiliging’ in de linkerzijbalk van de pagina. Selecteer de optie “Authenticatie in twee stappen” op de subpagina Beveiliging.

Een screenshot waarin de

Scrol omlaag naar de onderkant van de pagina en klik vervolgens op de knop ‘App-wachtwoorden’.

Een schermafdruk die de

Er verschijnt een prompt waarin u wordt gevraagd naar de naam van de applicatie die u wilt koppelen. Typ ‘listmonk’ en klik vervolgens op ‘Maken’.

Op de pagina verschijnt dan een klein venster met 16 willekeurige tekens, gegroepeerd in vieren. Kopieer dit naar een tekstbestand en klik vervolgens op ‘Gereed’.

Een screenshot met een voorbeeld van een app-wachtwoord.

Ga terug naar uw Listmonk-dashboardpagina en klik vervolgens op de optie “Instellingen” in de linkerzijbalk van de pagina.

Selecteer het tabblad “SMTP” in de bovenste balk van de pagina. Klik op de link ‘Gmail’ onder de vervolgkeuzelijst ‘Auth Protocol’.

Een screenshot waarin de Gmail-sjabloonlink wordt gemarkeerd.

Typ het volledige e-mailadres van uw Gmail-account in het veld ‘Gebruikersnaam’.

Klik op het veld ‘Wachtwoord’ en typ vervolgens de reeks van 16 letters die u van de Gmail-website hebt gekopieerd, zonder spaties.

Een screenshot met een volledige Gmail-link.

Klik op “Opslaan” om uw nieuwe SMTP-instellingen toe te passen.

Een screenshot waarin de

Ga ten slotte naar het tabblad Algemeen en vervang vervolgens de waarde van het tekstvak ‘Standaard ‘van’-adres’ door het adres van uw Gmail-account.

Een nieuwe Listmonk-nieuwsbrief maken

Ga naar uw Listmonk Dashboard-pagina, klik op de categorie “Lijsten” en klik vervolgens op de optie “Alle lijsten”.

Een screenshot waarin de

Selecteer de knop ‘Nieuw’ in de rechterbovenhoek van de pagina.

Een screenshot waarin de

Vul de gegevens van uw nieuwe mailinglijst in en klik vervolgens op ‘Opslaan’.

Een schermafbeelding van een eenvoudige lijst met openbare nieuwsbrieven.

Dat is het. Je hebt de installatie van Listmonk voltooid.

Het hosten van uw eigen nieuwsbrief is slechts een onderdeel van het creëren van uw eigen digitale platform. Ontdek hoe u dit kunt uitbreiden door een blog in Linux te hosten met behulp van Ghost en uw eigen web-Kanban-bord te gebruiken met Kanboard .

Beeldcredits: Nieuwsbrief – geschreven op een oude typemachine door 123RF. Alle wijzigingen en screenshots door Ramces Red.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *