Come creare la tua newsletter con Listmonk
Listmonk è una soluzione semplice e completa per newsletter e mailing list self-hosted per Linux. A differenza dei tradizionali programmi di mailing list, eccelle nel fornire una piattaforma snella, leggera e veloce. Qui ti mostriamo come installare Listmonk utilizzando Docker su Ubuntu e come iniziare a usarlo per inviare newsletter.
Vantaggi dell’utilizzo di Listmonk
Uno dei maggiori punti di forza di Listmonk è che può funzionare con quasi tutti i server di consegna della posta esterni su Internet. Ciò significa che puoi inviare le tue newsletter con un provider di posta ospitato come Gmail o con la tua configurazione di posta ospitata autonomamente .
Listmonk ha anche la possibilità di creare modelli di posta elettronica programmabili. Ciò consente di creare email personalizzate che possono adattarsi a seconda del contesto attraverso il quale l’utente riceve il messaggio.
Infine, Listmonk è dotato di un modulo di analisi intuitivo che ti consente di tenere traccia di ogni newsletter in esecuzione all’interno del programma. Può tenere traccia sia della quantità di clic ricevuti da ciascun messaggio sia delle visualizzazioni complessive ottenute da un’intera mailing list in un periodo di tempo.
Installazione di Listmonk
Ottenere Docker e Docker Compose
Presupposto: questo articolo presuppone che tu stia eseguendo Listmonk su un VPS sempre attivo. Inoltre, si presuppone anche che tu abbia già un nome di dominio con un record A e PTR che punta al tuo VPS.
Per iniziare, recupera la chiave del repository per i pacchetti Docker e Docker Compose:
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
Crea il nuovo file repository per i tuoi pacchetti Docker e Docker Compose:
sudo nano /etc/apt/sources.list.d/docker.list
Scrivi la seguente riga di codice all’interno del tuo nuovo file repository:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Aggiorna e aggiorna l’intero sistema Ubuntu eseguendo il seguente comando:
sudo apt update && sudo apt upgrade
Installa Docker Engine insieme a Docker Compose e alle sue dipendenze dei componenti:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git curl
Assicurati che il tuo utente attuale disponga delle autorizzazioni corrette per accedere ai file binari di Docker:
sudo usermod -aG docker ramces
Configurazione e distribuzione di Listmonk
Crea una nuova cartella per i tuoi file Docker all’interno della directory home del tuo utente attuale:
mkdir ~/listmonk && cd ~/listmonk
Crea un nuovo file di configurazione per la tua istanza di Listmonk:
nano. /config.toml
Incolla il seguente codice nel tuo nuovo file di configurazione:
[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 = ""
Salva il tuo nuovo file di configurazione, quindi crea il docker-compose.yml della tua istanza Listmonk:
nano. /docker-compose.yml
Incolla il seguente blocco di codice all’interno del tuo nuovo file. file yml. Questo è il file docker-compose.yml predefinito per Listmonk che ho modificato per funzionare con il mio fuso orario:
---
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
Distribuzione del contenitore Docker Listmonk
Esegui il seguente comando Docker per generare il file di database della tua istanza:
docker compose up db
Apri una nuova connessione SSH, quindi avvia il processo di compilazione per Listmonk eseguendo il binario “listmonk” all’interno del suo contenitore Docker:
docker compose run --rm app. /listmonk --install
Digita “Y”, quindi premi Enterquando lo script di build ti chiede di cancellare tutti i dati esistenti sul database in esecuzione. Ciò garantirà che il contenitore Listmonk sia pulito all’avvio.
Torna alla sessione SSH per il database della tua istanza, quindi premi Ctrl+ Cper terminare la sessione senza problemi.
Infine, riavvia tutti i contenitori Docker per Listmonk con le impostazioni corrette:
docker compose up -d app db
Creazione del proxy inverso Nginx
Anche se Listmonk ha iniziato a funzionare su un’istanza Docker, non è accessibile pubblicamente finché non hai configurato un proxy inverso per collegarti ad esso. Segui le istruzioni seguenti per configurare un proxy inverso Nginx.
Crea un nuovo file di configurazione del sito per la tua istanza di Listmonk:
sudo nano /etc/nginx/sites-available/listmonk
Incolla il seguente blocco di codice all’interno del nuovo file di configurazione del sito:
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;
}}
Collega il tuo nuovo file di configurazione da /etc/nginx/sites-available a /etc/nginx/sites-enabled:
sudo ln -s /etc/nginx/sites-available/listmonk /etc/nginx/sites-enabled/
Riavvia il demone del server Nginx eseguendo il seguente comando:
sudo systemctl reload nginx
Installazione del certificato SSL
Una volta configurato il proxy inverso, il tuo sito sarà accessibile pubblicamente. Tuttavia, non è sicuro poiché non esiste un certificato SSL. Pertanto, il passaggio successivo è installare il certificato SSL.
Assicurati che il demone snap principale sia in esecuzione nel tuo sistema:
sudo snap install core
Installa il pacchetto snap certbot dalla Electronic Frontier Foundation (EFF). Questa utility ti consentirà di richiedere un certificato SSL che il tuo server può utilizzare per crittografare le connessioni tra host.
sudo snap install certbot --classic
Verifica se il tuo pacchetto certbot funziona correttamente registrandolo su EFF:
sudo certbot register --agree-tos -m you@your-email.invalid
Ottieni un nuovo certificato SSL per la tua installazione Listmonk eseguendo il seguente comando:
sudo certbot --nginx -d listmonk.myvpsserver.top
Accesso e configurazione di Listmonk
Apri un browser web, quindi vai all’indirizzo della tua istanza di Listmonk. Verrà visualizzata una semplice pagina Web con un pulsante di accesso.
Fare clic sul pulsante “Accedi”, quindi digitare “listmonk” nei campi Nome utente e Password.
In questo modo verrà caricata la dashboard principale per la tua istanza di Listmonk. Fai clic sull’opzione “Impostazioni” nella barra laterale sinistra della pagina.
Sostituisci il valore della casella di testo “Root URL” con l’indirizzo completo della tua istanza di Listmonk.
Fare clic su “Salva” nell’angolo in alto a destra della pagina per salvare la nuova impostazione.
Collegamento di un account Gmail a Listmonk
Accedi al tuo account Gmail, quindi fai clic sull’icona dell’utente nell’angolo in alto a destra della pagina.
Fai clic su “Gestisci il tuo account Google”.
Fai clic sulla categoria “Sicurezza” nella barra laterale sinistra della pagina. Seleziona l’opzione “Verifica in due passaggi” nella sottopagina Sicurezza.
Scorri verso il basso fino alla fine della pagina, quindi fai clic sul pulsante “Password app”.
Verrà visualizzato un messaggio che ti chiederà il nome dell’applicazione che desideri collegare. Digita “listmonk”, quindi fai clic su “Crea”.
La pagina farà quindi apparire una piccola finestra con 16 caratteri casuali raggruppati per quattro. Copialo in un file di testo, quindi fai clic su “Fine”.
Torna alla pagina della dashboard di Listmonk, quindi fai clic sull’opzione “Impostazioni” nella barra laterale sinistra della pagina.
Seleziona la scheda “SMTP” nella barra superiore della pagina. Fai clic sul collegamento “Gmail” sotto la casella a discesa “Protocollo di autenticazione”.
Digita l’indirizzo email completo del tuo account Gmail nel campo “Nome utente”.
Fai clic sul campo “Password”, quindi digita la stringa di 16 lettere che hai copiato dal sito Web di Gmail senza spazi.
Fai clic su “Salva” per applicare le nuove impostazioni SMTP.
Infine, vai alla scheda Generale quindi sostituisci il valore della casella di testo “Indirizzo del mittente predefinito” con l’indirizzo del tuo account Gmail.
Creazione di una nuova newsletter Listmonk
Vai alla pagina della dashboard di Listmonk, fai clic sulla categoria “Elenchi”, quindi fai clic sull’opzione “Tutti gli elenchi”.
Seleziona il pulsante “Nuovo” nell’angolo in alto a destra della pagina.
Inserisci i dettagli della tua nuova mailing list, quindi fai clic su “Salva”.
Questo è tutto. Hai completato l’installazione di Listmonk.
Ospitare la tua newsletter è solo una parte della creazione della tua piattaforma digitale. Scopri come estendere tutto ciò ospitando un blog in Linux utilizzando Ghost ed esegui la tua bacheca Kanban web con Kanboard .
Credito immagine: Newsletter – scritta su una vecchia macchina da scrivere da 123RF. Tutte le modifiche e gli screenshot di Ramces Red.
Lascia un commento