Mailtrain è un'app di newsletter self-hosted open source costruita su Node.js e MySQL / MariaDB. La fonte di Mailtrain è su GitHub . Questa guida ti mostrerà come installare Mailtrain su una nuova istanza di Debian 9 Vultr.
Requisiti
Requisiti software:
- Node.js versione 7 o successiva
- MySQL versione 5.5
- nginx
- Redis (opzionale)
Requisiti hardware:
Controlla la versione di Debian.
lsb_release -ds
# Debian GNU/Linux 9.5 (stretch)
Assicurati che il tuo sistema sia aggiornato.
apt update && apt upgrade -y
Installa i pacchetti richiesti.
apt install -y sudo dirmngr build-essential unzip git
Crea un nuovo account utente non root con sudo
accesso e passa ad esso.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTA: sostituisci johndoe
con il tuo nome utente.
Imposta il fuso orario.
sudo dpkg-reconfigure tzdata
Installa Node.js e NPM
Installa Node.js utilizzando il repository APT NodeSource.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
Controlla le versioni Node.js e npm.
node -v && npm -v
# v8.11.3
# 5.6.0
Installa MariaDB
Installa MariaDB.
sudo apt install -y mariadb-server
Controlla la versione
mysql --version
Esegui lo mysql_secure installation
script per migliorare la sicurezza di MariaDB.
sudo mysql_secure_installation
Connettiti alla shell MariaDB come utente root.
sudo mysql -u root -p
# Enter password:
Creare un database e un utente MariaDB vuoti e ricordare le credenziali.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
Installa Nginx
Installa Nginx.
sudo apt install -y nginx
Controlla la versione
sudo nginx -v
Configurare Nginx come proxy inverso HTTP
o HTTPS
(se si utilizza SSL) per l'applicazione Mailtrain. Esegui sudo vim /etc/nginx/sites-available/mailtrain.conf
e aggiungi la seguente configurazione.
server {
listen [::]:80;
listen 80;
server_name example.com;
charset utf-8;
client_max_body_size 50M;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream error timeout http_502 http_503 http_504;
}
}
Attiva la nuova mailtrain.conf
configurazione collegando il file alla sites-enabled
directory.
sudo ln -s /etc/nginx/sites-available/mailtrain.conf /etc/nginx/sites-enabled/
Prova la configurazione.
sudo nginx -t
Ricarica Nginx.
sudo systemctl reload nginx.service
Installa Mailtrain
Creare una cartella radice dei documenti vuota in cui installare Mailtrain.
sudo mkdir -p /var/www/mailtrain
Passare alla cartella principale del documento.
cd /var/www/mailtrain
Cambia la proprietà della /var/www/mailtrain
cartella in utente johndoe
.
sudo chown -R johndoe:johndoe /var/www/mailtrain
Scarica e decomprimi Mailtrain.
wget https://github.com/Mailtrain-org/mailtrain/archive/master.zip
unzip master.zip
rm master.zip
mv mailtrain-master/* . && mv mailtrain-master/.* .
rmdir mailtrain-master
Esegui npm install --production
nella cartella Mailtrain per installare le dipendenze richieste.
Copia config/default.toml
come config/production.toml
e aggiorna MySQL e qualsiasi altra impostazione al suo interno.
cp config/default.toml config/production.toml
vim config/production.toml
Esegui il server.
NODE_ENV=production npm start
L'installazione è completa. Accedi con il nome utente admin
e la password test
. Una volta effettuato l'accesso, aggiorna le informazioni utente e la password tramite l'interfaccia web di Mailtrain.