Como instalar o listmonk no Ubuntu com CloudPanel?

Este guia ensina a instalar e configurar o Listmonk, uma ferramenta de e-mail marketing de código aberto, em um servidor Ubuntu com o painel CloudPanel. A instalação inclui a criação do banco de dados PostgreSQL e configuração de proxy reverso usando a interface do próprio CloudPanel.

Pré-requisitos

1 – Instalar o PostgreSQL

Abra um terminal e execute:

ufw disable
sudo apt update
sudo apt install postgresql postgresql-contrib

2 – Criar banco e usuário no PostgreSQL

Acesse o usuário do PostgreSQL:

sudo -i -u postgres
psql

Crie o banco de dados e usuário:

Utilize o comando abaixo para realizar a criação do banco de dados.

CREATE DATABASE listmonk;

Utilize o comando abaixo para criar um novo usuário no banco de dados com uma senha.
Substitua listmonk_user pelo nome de usuário desejado e <senha_forte_do_bd> por uma senha segura gerada aleatoriamente:

CREATE USER listmonk_user WITH PASSWORD '<senha_forte_do_bd>';

Utilize o comando abaixo para conceder permissões ao usuário no banco. Substitua listmonk_user pelo nome de usuário criado.

GRANT ALL PRIVILEGES ON DATABASE listmonk TO listmonk_user;

Saia do terminal:

\q
exit

3 – Instalar o Listmonk

Baixe o Listmonk na versão mais recente e extraia para /opt:

mkdir -p /opt/listmonk && cd /opt/listmonk && wget -qO- https://github.com/knadh/listmonk/releases/download/v5.0.3/listmonk_5.0.3_linux_amd64.tar.gz | tar -xzf -

Gere o arquivo de configuração:

./listmonk --new-config

Gera o arquivo config.toml para configurar o Listmonk.

4 – Editar o arquivo config.toml

Edite o arquivo config.toml com qualquer editor (ex: vim, nano) e modifique as seguintes seções:

[app]
address = "0.0.0.0:9000"

[db]
host = "localhost"
port = 5432
user = "listmonk_user"
password = "<senha_forte_do_bd>"
database = "listmonk"
ssl_mode = "disable"
max_open = 25
max_idle = 25
max_lifetime = "300s"
params = ""

Configure com os mesmos dados que criou no PostgreSQL. Substitua <senha_forte_do_bd> pela senha usada anteriormente e listmonk_user pelo usuário criado.

5 – Inicializar o Listmonk

./listmonk --install

6 – Criar usuário e serviço do Listmonk

adduser --system --no-create-home --group listmonk
chown -R listmonk:listmonk /opt/listmonk

Crie o serviço systemd:

vim /etc/systemd/system/listmonk.service

Conteúdo do arquivo:

[Unit]
Description=Listmonk Email Marketing
After=network.target

[Service]
User=listmonk
Group=listmonk
WorkingDirectory=/opt/listmonk
ExecStart=/opt/listmonk/listmonk
Restart=always

[Install]
WantedBy=multi-user.target

Ative o serviço:

sudo systemctl daemon-reload
sudo systemctl start listmonk
systemctl status listmonk

Ver logs do serviço:

journalctl -u listmonk -f

7 – Criar o proxy reverso no CloudPanel

Acesse o CloudPanel pelo navegador.

Clique em + Adicionar site

Vá em “Crie um proxy reverso”

Preencha os campos:

CampoValor Exemplo
Nome do domínionews.seudominio.com
URL de proxy reversohttp://127.0.0.1:9000
Usuário do sitelistmonk-user
Senha do usuáriodefina ou gere uma senha

Acesse o Listmonk

Abra no navegador:

https://news.seudominio.com

Substitua pelo domínio configurado no proxy reverso.

AVISO LEGAL: Os procedimentos descritos neste documento devem ser executados de acordo com o contexto de cada sistema, de forma a evitar impactos negativos à segurança, disponibilidade, integridade e privacidade de dados. A CentralServer se reserva o direito de modificar a qualquer tempo e sem aviso prévio as informações aqui apresentadas a fim de refletir o lançamento de novos serviços, atualizações físicas e operacionais, e evolução do estado-da-arte da tecnologia.