Hvordan lage ditt eget nyhetsbrev med Listmonk 1

Hvordan lage ditt eget nyhetsbrev med Listmonk

Listmonk er en enkel, alt-i-ett selvdrevet nyhetsbrev og e-postlisteløsning for Linux. I motsetning til tradisjonelle postlisteprogrammer, utmerker den seg ved å tilby en slank plattform som er lett og rask. Her viser vi deg hvordan du installerer Listmonk ved hjelp av Docker på Ubuntu, og hvordan du kommer i gang med å bruke det til å sende nyhetsbrev.

Fordeler med å bruke Listmonk

Et av de største salgsargumentene til Listmonk er at den kan fungere med nesten hvilken som helst ekstern postleveringsserver på Internett. Dette betyr at du kan sende nyhetsbrevene dine med en vertsbasert e-postleverandør, for eksempel Gmail, eller ditt eget e-postoppsett som er vert for deg selv.

Et skjermbilde som viser oversikten over en ny Listmonk-forekomst.

Listmonk kommer også med muligheten til å lage programmerbare e-postmaler. Dette gjør det mulig å lage tilpassede e-poster som kan justere seg selv avhengig av konteksten brukeren mottar meldingen gjennom.

Til slutt kommer Listmonk med en intuitiv analysemodul for deg å spore hvert nyhetsbrev som kjører i programmet. Den kan spore både antall klikk hver melding får, så vel som de generelle visningene en hel e-postliste oppnår i løpet av en periode.

Installasjon av Listmonk

Skaffe Docker og Docker Compose

Antagelse: Denne artikkelen forutsetter at du kjører Listmonk på en alltid-på-VPS. Videre forutsetter det også at du allerede har et domenenavn med en A- og PTR-post som peker til din VPS.

For å begynne, hent depotnøkkelen for Docker- og Docker Compose-pakkene:

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

Opprett den nye depotfilen for Docker- og Docker Compose-pakkene dine:

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

Skriv følgende kodelinje i den nye depotfilen din:

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

Oppdater og oppgrader hele Ubuntu-systemet ditt ved å kjøre følgende kommando:

sudo apt update && sudo apt upgrade

Installer Docker Engine sammen med Docker Compose og dens komponentavhengigheter:

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

Sørg for at din nåværende bruker har de riktige tillatelsene til å få tilgang til Docker-binærfilene:

sudo usermod -aG docker ramces

Sette opp og distribuere Listmonk

Opprett en ny mappe for Docker-filene dine i hjemmekatalogen til din nåværende bruker:

mkdir ~/listmonk && cd ~/listmonk

Opprett en ny konfigurasjonsfil for Listmonk-forekomsten din:

nano ./config.toml

Lim inn følgende kode i den nye konfigurasjonsfilen:

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

Merk: Du kan enkelt lage et tilfeldig passord med kommandoen: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1

Lagre den nye konfigurasjonsfilen din, og lag deretter Listmonk-forekomstens docker-compose.yml:

nano ./docker-compose.yml

Lim inn følgende kodeblokk i den nye .yml-filen. Dette er standard docker-compose.yml-filen for Listmonk som jeg endret for å fungere med min tidssone:

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

Distribuerer Listmonk Docker Container

Kjør følgende Docker-kommando for å generere forekomstens databasefil:

docker compose up db

Åpne en ny SSH-tilkobling, og start deretter byggeprosessen for Listmonk ved å kjøre «listmonk»-binæren inne i Docker-beholderen:

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

Skriv «Y», og trykk deretter Tast inn når byggeskriptet ber deg om å slette eksisterende data på den kjørende databasen. Dette vil sikre at Listmonk-beholderen din er ren når den starter.

En terminal som viser databasen klar melding for Listmonk Docker Container.

Gå tilbake til SSH-økten for din forekomsts database og trykk Ctrl + C for å avslutte økten elegant.

En terminal som viser at den midlertidige databasen lukkes elegant.

Til slutt, start alle Docker-beholderne for Listmonk på nytt med de riktige innstillingene:

docker compose up -d app db

Opprette Nginx Reverse Proxy

Selv om Listmonk har begynt å kjøre på en Docker-forekomst, er den ikke offentlig tilgjengelig før du har konfigurert en omvendt proxy for å koble til den. Følg instruksjonene nedenfor for å konfigurere en Nginx omvendt proxy.

Opprett en ny sidekonfigurasjonsfil for Listmonk-forekomsten din:

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

Lim inn følgende kodeblokk i den nye konfigurasjonsfilen for nettstedet:

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

Koble din nye konfigurasjonsfil fra /etc/nginx/sites-available til /etc/nginx/sites-enabled:

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

Start Nginx-serverdemonen på nytt ved å kjøre følgende kommando:

sudo systemctl reload nginx

Installerer SSL-sertifikat

Når du har konfigurert omvendt proxy, vil nettstedet ditt være offentlig tilgjengelig. Det er imidlertid ikke sikkert da det ikke er noe SSL-sertifikat. Dermed er neste trinn å installere SSL-sertifikatet.

Sørg for at kjernen snap-daemon kjører i systemet ditt:

sudo snap install core

Installer certbot snap-pakken fra Electronic Frontier Foundation (EFF). Dette verktøyet lar deg be om et SSL-sertifikat som serveren din kan bruke til å kryptere forbindelser mellom verter.

sudo snap install certbot --classic

Test om certbot-pakken din kjører riktig ved å registrere den til EFF:

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

Skaff et nytt SSL-sertifikat for Listmonk-installasjonen din ved å kjøre følgende kommando:

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

Få tilgang til og konfigurering av Listmonk

Åpne en nettleser, og naviger deretter til adressen til Listmonk-forekomsten din. Dette vil få opp en enkel nettside med en påloggingsknapp.

Et skjermbilde som viser Listmonk-påloggingsskjermen.

Klikk på «Logg inn»-knappen, og skriv deretter «listmonk» i både brukernavn og passord-feltene.

Et skjermbilde som viser forespørselen om legitimasjon.

Å gjøre det vil laste inn hoveddashbordet for Listmonk-forekomsten din. Klikk på «Innstillinger»-alternativet på sidens venstre sidefelt.

Et skjermbilde som fremhever

Erstatt verdien av «Root URL»-tekstboksen med den fullstendige adressen til Listmonk-forekomsten din.

Et skjermbilde som fremhever "Rot-URL" verdi ved å bruke VPS sitt domenenavn.

Klikk «Lagre» øverst til høyre på siden for å lagre den nye innstillingen.

Merk: Ikke glem å endre standard brukernavn og passord.

Koble en Gmail-konto til Listmonk

Logg på Gmail-kontoen din, og klikk deretter på brukerikonet øverst til høyre på siden.

Et skjermbilde som fremhever brukerikonet i Gmail.

Klikk «Administrer Google-kontoen din.»

Et skjermbilde som fremhever

Klikk på «Sikkerhet»-kategorien på sidens venstre sidefelt. Velg alternativet «2-trinns bekreftelse» på undersiden Sikkerhet.

Et skjermbilde som fremhever

Rull ned til bunnen av siden, og klikk deretter på «App-passord»-knappen.

Et skjermbilde som viser

Dette vil få opp en melding om å be deg om navnet på applikasjonen du vil koble til. Skriv «listmonk», og klikk deretter «Opprett.»

Siden vil da dukke opp et lite vindu med 16 tilfeldige tegn gruppert i firere. Kopier dette til en tekstfil og klikk deretter «Ferdig».

Et skjermbilde som viser et eksempel på app-passord.

Gå tilbake til Listmonk-dashbordsiden, og klikk deretter på «Innstillinger»-alternativet på sidens venstre sidefelt.

Velg «SMTP»-fanen på sidens øvre linje. Klikk på «Gmail»-koblingen under rullegardinlisten «Auth Protocol».

Et skjermbilde som fremhever Gmail-mallenken.

Skriv inn hele e-postadressen til Gmail-kontoen din i «Brukernavn»-feltet.

Klikk på «Passord»-feltet, og skriv deretter inn strengen på 16 bokstaver du kopierte fra Gmail-nettstedet uten mellomrom.

Et skjermbilde som viser en fullstendig Gmail-kobling.

Klikk «Lagre» for å bruke de nye SMTP-innstillingene.

Et skjermbilde som fremhever

Til slutt, gå til Generelt-fanen, og bytt ut verdien av tekstboksen «Standard ‘fra’-adresse» med adressen til Gmail-kontoen din.

Opprette et nytt Listmonk-nyhetsbrev

Gå til Listmonk Dashboard-siden din, klikk på kategorien «Lister» og klikk deretter på alternativet «Alle lister».

Et skjermbilde som fremhever

Velg «Ny»-knappen øverst til høyre på siden.

Et skjermbilde som fremhever

Fyll inn detaljene for den nye e-postlisten din, og klikk deretter på «Lagre».

Et skjermbilde som viser en grunnleggende offentlig nyhetsbrevliste.

Det er det. Du har fullført installasjonen av Listmonk.

Å være vertskap for ditt eget nyhetsbrev er bare en del av å lage din egen digitale plattform. Lær hvordan du kan utvide dette ved å være vert for en blogg i Linux ved å bruke Ghost og kjøre ditt eget Kanban-brett med Kanboard.

Bildekreditt: Nyhetsbrev – skrevet på en gammel skrivemaskin av 123RF. Alle endringer og skjermbilder av Ramces Red.

Støtt vårt arbeid ❤️

Hvis du likte denne artikkelen, vurder å gi en tips for å hjelpe oss med å fortsette å publisere kvalitetsinnhold.

Sikker betaling med PayPal