Jak stworzyć własny biuletyn za pomocą Listmonk
Listmonk to proste, wszechstronne rozwiązanie do samodzielnego hostowania biuletynów i list mailingowych dla systemu Linux. W przeciwieństwie do tradycyjnych programów list mailingowych, wyróżnia się dostarczaniem smukłej platformy, która jest lekka i szybka. Tutaj pokazujemy, jak zainstalować Listmonk przy użyciu Dockera na Ubuntu i jak zacząć używać go do wysyłania biuletynów.
Zalety korzystania z Listmonka
Jedną z największych zalet Listmonk jest to, że może współpracować z prawie każdym zewnętrznym serwerem dostarczania poczty w Internecie. Oznacza to, że możesz wysyłać biuletyny za pośrednictwem dostawcy poczty hostowanej, takiego jak Gmail, lub korzystając z własnej konfiguracji poczty hostowanej .
Listmonk oferuje także możliwość tworzenia programowalnych szablonów wiadomości e-mail. Dzięki temu możliwe jest tworzenie niestandardowych wiadomości e-mail, które można dostosować w zależności od kontekstu, w jakim użytkownik otrzymuje wiadomość.
Wreszcie Listmonk jest wyposażony w intuicyjny moduł analityczny umożliwiający śledzenie każdego biuletynu wyświetlanego w programie. Może śledzić zarówno liczbę kliknięć każdej wiadomości, jak i ogólną liczbę wyświetleń całej listy mailingowej w danym okresie.
Instalacja Listmona
Uzyskiwanie Dockera i Docker Compose
Założenie: W tym artykule założono, że używasz Listmonka na zawsze aktywnym VPS. Co więcej, zakłada się również, że masz już nazwę domeny z rekordem A i PTR wskazującym na Twój VPS.
Aby rozpocząć, pobierz klucz repozytorium dla pakietów Docker i 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
Utwórz nowy plik repozytorium dla pakietów Docker i Docker Compose:
sudo nano /etc/apt/sources.list.d/docker.list
Wpisz następujący wiersz kodu w swoim nowym pliku repozytorium:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Zaktualizuj i uaktualnij cały system Ubuntu, uruchamiając następujące polecenie:
sudo apt update && sudo apt upgrade
Zainstaluj silnik Docker wraz z Docker Compose i zależnościami jego komponentów:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git curl
Upewnij się, że bieżący użytkownik ma odpowiednie uprawnienia dostępu do plików binarnych Dockera:
sudo usermod -aG docker ramces
Konfigurowanie i wdrażanie Listmonk
Utwórz nowy folder na pliki Dockera w katalogu domowym bieżącego użytkownika:
mkdir ~/listmonk && cd ~/listmonk
Utwórz nowy plik konfiguracyjny dla swojej instancji Listmonk:
nano. /config.toml
Wklej następujący kod do nowego pliku konfiguracyjnego:
[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 = ""
Zapisz nowy plik konfiguracyjny, a następnie utwórz plik docker-compose.yml instancji Listmonk:
nano. /docker-compose.yml
Wklej następujący blok kodu do pliku new. plik yml. To jest domyślny plik docker-compose.yml dla Listmonk, który zmodyfikowałem tak, aby działał z moją strefą czasową:
---
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
Wdrażanie kontenera dokowanego Listmonk
Uruchom następującą komendę Dockera, aby wygenerować plik bazy danych instancji:
docker compose up db
Otwórz nowe połączenie SSH, a następnie rozpocznij proces kompilacji Listmonk, uruchamiając plik binarny „listmonk” w jego kontenerze Docker:
docker compose run --rm app. /listmonk --install
Wpisz „Y”, a następnie naciśnij Enter, gdy skrypt kompilacji poprosi o wyczyszczenie wszelkich istniejących danych w działającej bazie danych. Dzięki temu kontener Listmonk będzie czysty po uruchomieniu.
Wróć do sesji SSH dla bazy danych swojej instancji, a następnie naciśnij Ctrl+ C, aby bezpiecznie zakończyć sesję.
Na koniec zrestartuj wszystkie kontenery Dockera dla Listmonk z odpowiednimi ustawieniami:
docker compose up -d app db
Tworzenie odwrotnego proxy Nginx
Mimo że Listmonk zaczął działać na instancji Dockera, nie jest on publicznie dostępny, dopóki nie skonfigurujesz odwrotnego proxy , aby się z nim połączyć. Postępuj zgodnie z instrukcjami poniżej, aby skonfigurować odwrotne proxy Nginx.
Utwórz nowy plik konfiguracyjny witryny dla swojej instancji Listmonk:
sudo nano /etc/nginx/sites-available/listmonk
Wklej następujący blok kodu do pliku konfiguracyjnego nowej witryny:
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;
}}
Połącz swój nowy plik konfiguracyjny z /etc/nginx/sites-available do /etc/nginx/sites-enabled:
sudo ln -s /etc/nginx/sites-available/listmonk /etc/nginx/sites-enabled/
Uruchom ponownie demona serwera Nginx, uruchamiając następujące polecenie:
sudo systemctl reload nginx
Instalacja certyfikatu SSL
Po skonfigurowaniu odwrotnego proxy Twoja witryna będzie publicznie dostępna. Nie jest to jednak bezpieczne, ponieważ nie ma certyfikatu SSL. Zatem kolejnym krokiem jest instalacja certyfikatu SSL.
Upewnij się, że w systemie działa demon Core Snap:
sudo snap install core
Zainstaluj pakiet snap certbot z Electronic Frontier Foundation (EFF). To narzędzie umożliwia zażądanie certyfikatu SSL, którego serwer może używać do szyfrowania połączeń między hostami.
sudo snap install certbot --classic
Sprawdź, czy Twój pakiet certbota działa poprawnie, rejestrując go w EFF:
sudo certbot register --agree-tos -m you@your-email.invalid
Uzyskaj nowy certyfikat SSL dla swojej instalacji Listmonk, uruchamiając następującą komendę:
sudo certbot --nginx -d listmonk.myvpsserver.top
Dostęp i konfiguracja Listmonk
Otwórz przeglądarkę internetową, a następnie przejdź do adresu swojej instancji Listmonk. Spowoduje to wyświetlenie prostej strony internetowej z przyciskiem logowania.
Kliknij przycisk „Zaloguj się”, a następnie wpisz „listmonk” w polach Nazwa użytkownika i Hasło.
Spowoduje to załadowanie głównego pulpitu nawigacyjnego dla Twojej instancji Listmonk. Kliknij opcję „Ustawienia” na lewym pasku bocznym strony.
Zastąp wartość pola tekstowego „Root URL” pełnym adresem instancji Listmonk.
Kliknij „Zapisz” w prawym górnym rogu strony, aby zapisać nowe ustawienie.
Łączenie konta Gmail z Listmonk
Zaloguj się na swoje konto Gmail, a następnie kliknij ikonę użytkownika w prawym górnym rogu strony.
Kliknij „Zarządzaj swoim kontem Google”.
Kliknij kategorię „Bezpieczeństwo” na lewym pasku bocznym strony. Na podstronie Bezpieczeństwo wybierz opcję „Weryfikacja dwuetapowa”.
Przewiń w dół strony, a następnie kliknij przycisk „Hasła do aplikacji”.
Spowoduje to wyświetlenie monitu z prośbą o podanie nazwy aplikacji, którą chcesz połączyć. Wpisz „listmonk”, a następnie kliknij „Utwórz”.
Na stronie wyświetli się małe okno z 16 losowymi znakami pogrupowanymi w czwórki. Skopiuj to do pliku tekstowego, a następnie kliknij „Gotowe”.
Wróć do strony panelu kontrolnego Listmonk, a następnie kliknij opcję „Ustawienia” na lewym pasku bocznym strony.
Wybierz zakładkę „SMTP” na górnym pasku strony. Kliknij link „Gmail” pod listą rozwijaną „Protokół uwierzytelniania”.
Wpisz pełny adres e-mail swojego konta Gmail w polu „Nazwa użytkownika”.
Kliknij pole „Hasło”, a następnie wpisz 16-literowy ciąg skopiowany ze strony Gmaila bez spacji.
Kliknij „Zapisz”, aby zastosować nowe ustawienia SMTP.
Na koniec przejdź do karty Ogólne i zastąp wartość pola tekstowego „Domyślny adres „od”” adresem swojego konta Gmail.
Tworzenie nowego biuletynu Listmonk
Przejdź do strony panelu kontrolnego Listmonk, kliknij kategorię „Listy”, a następnie kliknij opcję „Wszystkie listy”.
Wybierz przycisk „Nowy” w prawym górnym rogu strony.
Podaj szczegóły nowej listy mailingowej, a następnie kliknij „Zapisz”.
Otóż to. Zakończyłeś instalację Listmonka.
Hostowanie własnego biuletynu to tylko jeden z elementów tworzenia własnej platformy cyfrowej. Dowiedz się, jak możesz to rozszerzyć, hostując blog w systemie Linux za pomocą Ghost i uruchamiając własną tablicę internetową Kanban za pomocą Kanboard .
Źródło zdjęcia: Newsletter – napisany na starej maszynie do pisania przez 123RF. Wszystkie zmiany i zrzuty ekranu wykonał Ramces Red.
Dodaj komentarz