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 .
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.
Ga terug naar de SSH-sessie voor de database van uw exemplaar en druk vervolgens op Ctrl+ Com de sessie correct te beëindigen.
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.
Klik op de knop ‘Inloggen’ en typ vervolgens ‘listmonk’ in zowel de velden Gebruikersnaam als Wachtwoord.
Als u dat doet, wordt het hoofddashboard voor uw Listmonk-instantie geladen. Klik op de optie “Instellingen” in de linkerzijbalk van de pagina.
Vervang de waarde van het tekstvak “Root URL” door het volledige adres van uw Listmonk-instantie.
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.
Klik op ‘Je Google-account beheren’.
Klik op de categorie ‘Beveiliging’ in de linkerzijbalk van de pagina. Selecteer de optie “Authenticatie in twee stappen” op de subpagina Beveiliging.
Scrol omlaag naar de onderkant van de pagina en klik vervolgens op de knop ‘App-wachtwoorden’.
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’.
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’.
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.
Klik op “Opslaan” om uw nieuwe SMTP-instellingen toe te passen.
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”.
Selecteer de knop ‘Nieuw’ in de rechterbovenhoek van de pagina.
Vul de gegevens van uw nieuwe mailinglijst in en klik vervolgens op ‘Opslaan’.
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