Cómo crear su propio boletín con Listmonk

Cómo crear su propio boletín con Listmonk

Listmonk es una solución sencilla e integral de listas de correo y boletines autohospedados para Linux. A diferencia de los programas tradicionales de listas de correo, se destaca por proporcionar una plataforma ágil, liviana y rápida. Aquí le mostramos cómo instalar Listmonk usando Docker en Ubuntu y cómo comenzar a usarlo para enviar boletines.

Ventajas de utilizar Listmonk

Uno de los mayores puntos de venta de Listmonk es que puede funcionar con casi cualquier servidor de entrega de correo externo en Internet. Esto significa que puede enviar sus boletines con un proveedor de correo alojado como Gmail o su propia configuración de correo alojada propia .

Una captura de pantalla que muestra la descripción general de una nueva instancia de Listmonk.

Listmonk también viene con la capacidad de crear plantillas de correo electrónico programables. Esto permite crear correos electrónicos personalizados que pueden ajustarse según el contexto a través del cual el usuario recibe el mensaje.

Por último, Listmonk viene con un módulo de análisis intuitivo para que pueda realizar un seguimiento de cada boletín que se ejecuta dentro del programa. Puede realizar un seguimiento tanto de la cantidad de clics que recibe cada mensaje como de las vistas generales que logra una lista de correo completa en un período de tiempo.

Instalación de Listmonk

Obtención de Docker y Docker Compose

Supuesto: este artículo supone que está ejecutando Listmonk en un VPS siempre activo. Además, también se supone que ya tiene un nombre de dominio con un registro A y PTR apuntando a su VPS.

Para comenzar, recupere la clave del repositorio para los paquetes Docker y 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

Cree el nuevo archivo de repositorio para sus paquetes Docker y Docker Compose:

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

Escriba la siguiente línea de código dentro de su nuevo archivo de repositorio:

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

Actualice y actualice todo su sistema Ubuntu ejecutando el siguiente comando:

sudo apt update && sudo apt upgrade

Instale Docker Engine junto con Docker Compose y sus dependencias de componentes:

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

Asegúrese de que su usuario actual tenga los permisos adecuados para acceder a los archivos binarios de Docker:

sudo usermod -aG docker ramces

Configuración e implementación de Listmonk

Cree una nueva carpeta para sus archivos Docker dentro del directorio de inicio de su usuario actual:

mkdir ~/listmonk && cd ~/listmonk

Cree un nuevo archivo de configuración para su instancia de Listmonk:

nano. /config.toml

Pegue el siguiente código dentro de su nuevo archivo de configuración:

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

Guarde su nuevo archivo de configuración, luego cree el docker-compose.yml de su instancia de Listmonk:

nano. /docker-compose.yml

Pega el siguiente bloque de código dentro de tu nuevo. archivo yml. Este es el archivo docker-compose.yml predeterminado para Listmonk que modifiqué para que funcione con mi zona horaria:

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

Implementación del contenedor Docker de Listmonk

Ejecute el siguiente comando de Docker para generar el archivo de base de datos de su instancia:

docker compose up db

Abra una nueva conexión SSH, luego inicie el proceso de compilación de Listmonk ejecutando el binario «listmonk» dentro de su contenedor Docker:

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

Escriba «Y» y luego presione Entercuando el script de compilación le solicite que borre los datos existentes en la base de datos en ejecución. Esto asegurará que su contenedor Listmonk esté limpio cuando se inicie.

Una terminal que muestra el mensaje de borrado de la base de datos para Listmonk Docker Container.

Vuelva a la sesión SSH para la base de datos de su instancia y luego presione Ctrl+ Cpara finalizar la sesión correctamente.

Una terminal que muestra la base de datos temporal cerrándose elegantemente.

Por último, reinicie todos los contenedores Docker para Listmonk con su configuración adecuada:

docker compose up -d app db

Creación de proxy inverso de Nginx

Aunque Listmonk ha comenzado a ejecutarse en una instancia de Docker, no es accesible públicamente hasta que haya configurado un proxy inverso para vincularlo. Siga las instrucciones a continuación para configurar un proxy inverso de Nginx.

Cree un nuevo archivo de configuración del sitio para su instancia de Listmonk:

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

Pegue el siguiente bloque de código dentro del archivo de configuración de su nuevo sitio:

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

Vincula tu nuevo archivo de configuración desde /etc/nginx/sites-available a /etc/nginx/sites-enabled:

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

Reinicie el demonio de su servidor Nginx ejecutando el siguiente comando:

sudo systemctl reload nginx

Instalación del certificado SSL

Una vez que haya configurado el proxy inverso, su sitio será accesible públicamente. Sin embargo, no es seguro ya que no existe un certificado SSL. Así, el siguiente paso es instalar el certificado SSL.

Asegúrese de que el demonio Core Snap se esté ejecutando en su sistema:

sudo snap install core

Instale el paquete certbot snap de Electronic Frontier Foundation (EFF). Esta utilidad le permitirá solicitar un certificado SSL que su servidor puede utilizar para cifrar conexiones entre hosts.

sudo snap install certbot --classic

Pruebe si su paquete certbot se está ejecutando correctamente registrándolo en la EFF:

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

Obtenga un nuevo certificado SSL para su instalación de Listmonk ejecutando el siguiente comando:

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

Acceso y configuración de Listmonk

Abra un navegador web, luego navegue hasta la dirección de su instancia de Listmonk. Esto abrirá una página web simple con un botón de inicio de sesión.

Una captura de pantalla que muestra la pantalla de inicio de sesión de Listmonk.

Haga clic en el botón «Iniciar sesión», luego escriba «listmonk» en los campos Nombre de usuario y Contraseña.

Una captura de pantalla que muestra el mensaje de credenciales.

Al hacerlo, se cargará el panel principal de su instancia de Listmonk. Haga clic en la opción «Configuración» en la barra lateral izquierda de la página.

Una captura de pantalla que resalta el

Reemplace el valor del cuadro de texto «URL raíz» con la dirección completa de su instancia de Listmonk.

Una captura de pantalla que resalta el

Haga clic en «Guardar» en la esquina superior derecha de la página para guardar la nueva configuración.

Vincular una cuenta de Gmail a Listmonk

Inicie sesión en su cuenta de Gmail, luego haga clic en el ícono de usuario en la esquina superior derecha de la página.

Una captura de pantalla que resalta el ícono de usuario en Gmail.

Haga clic en «Administrar su cuenta de Google».

Una captura de pantalla que resalta el

Haga clic en la categoría «Seguridad» en la barra lateral izquierda de la página. Seleccione la opción «Verificación en 2 pasos» dentro de la subpágina Seguridad.

Una captura de pantalla que resalta el

Desplácese hasta el final de la página, luego haga clic en el botón «Contraseñas de aplicaciones».

Una captura de pantalla que muestra el

Aparecerá un mensaje que le pedirá el nombre de la aplicación que desea vincular. Escriba «listmonk» y luego haga clic en «Crear».

Luego, en la página aparecerá una pequeña ventana con 16 caracteres aleatorios agrupados en cuatro. Copie esto en un archivo de texto y luego haga clic en «Listo».

Una captura de pantalla que muestra un ejemplo de contraseña de aplicación.

Regrese a la página del panel de Listmonk y luego haga clic en la opción «Configuración» en la barra lateral izquierda de la página.

Seleccione la pestaña “SMTP” en la barra superior de la página. Haga clic en el enlace «Gmail» debajo del cuadro desplegable «Protocolo de autenticación».

Una captura de pantalla que resalta el enlace de la plantilla de Gmail.

Escriba la dirección de correo electrónico completa de su cuenta de Gmail en el campo «Nombre de usuario».

Haga clic en el campo «Contraseña», luego escriba la cadena de 16 letras que copió del sitio web de Gmail sin espacios.

Una captura de pantalla que muestra un enlace completo de Gmail.

Haga clic en «Guardar» para aplicar su nueva configuración SMTP.

Una captura de pantalla que resalta el

Por último, vaya a la pestaña General y luego reemplace el valor del cuadro de texto «Dirección ‘de’ predeterminada» con la dirección de su cuenta de Gmail.

Creando un nuevo boletín de Listmonk

Vaya a la página del Panel de control de Listmonk, haga clic en la categoría «Listas» y luego haga clic en la opción «Todas las listas».

Una captura de pantalla que resalta el

Seleccione el botón «Nuevo» en la esquina superior derecha de la página.

Una captura de pantalla que resalta el

Complete los detalles de su nueva lista de correo y luego haga clic en «Guardar».

Una captura de pantalla que muestra una lista básica de boletines públicos.

Eso es todo. Ha completado la instalación de Listmonk.

Alojamiento de su propio boletín es sólo una parte de la creación de su propia plataforma digital. Descubra cómo puede ampliar esto alojando un blog en Linux usando Ghost y ejecutando su propio tablero Kanban web con Kanboard .

Crédito de la imagen: Boletín informativo, escrito en una vieja máquina de escribir por 123RF. Todas las modificaciones y capturas de pantalla realizadas por Ramces Red.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *