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 Ubuntu 16.04 LTS Vultr.
Requisiti
- Requisiti software:
- Node.js v7 o versioni successive
- MySQL v5.5
- nginx
- Redis (opzionale)
- Requisiti hardware:
Controlla la versione di Ubuntu.
lsb_release -ds
# Ubuntu 16.04.4 LTS
Crea un nuovo non-root
account utente 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
Assicurati che il tuo sistema sia aggiornato.
sudo apt update && sudo apt upgrade -y
Installa build-essential
e unzip
.
sudo apt install -y build-essential unzip
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 Node.js e le npm
versioni.
node -v && npm -v
# v8.11.1
# 5.6.0
Installa MySQL
Installa MySQL.
sudo apt install -y mysql-server
Controlla la versione
mysql --version
Esegui lo mysql_secure installation
script per migliorare la sicurezza di MySQL.
sudo mysql_secure_installation
Connettiti alla shell MySQL come utente root.
mysql -u root -p
# Enter password:
Crea un database e un utente MySQL vuoti e ricorda 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.