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 CentOS 7 Vultr.
Requisiti
- Requisiti software:
- Node.js v7 o versioni successive
- MariaDB
- nginx
- Redis (opzionale)
- Requisiti hardware:
Controlla la versione di CentOS.
cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)
Crea un nuovo non-root
account utente con sudo
accesso e passa ad esso.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
NOTA : sostituisci johndoe
con il tuo nome utente .
Imposta il fuso orario.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Assicurati che il tuo sistema sia aggiornato.
sudo yum update -y
Installa Development Tools
e unzip
.
sudo yum groupinstall -y 'Development Tools' && sudo yum install -y unzip
Per semplicità, disabilita SELinux e Firewall.
sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld
Installa Node.js e npm
Installa Node.js e npm utilizzando il repository YUM NodeSource per Node.js.
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs
Controlla le versioni.
node -v && npm -v
# v8.11.4
# 5.6.0
Installa MariaDB
Installa MariaDB.
sudo yum install -y mariadb-server
Controlla la versione
mysql --version
Avviare e abilitare MariaDB.
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Esegui lo mysql_secure installation
script per migliorare la sicurezza.
sudo mysql_secure_installation
Connettiti alla shell MariaDB come utente root.
mysql -u root -p
# Enter password:
Creare un database e un utente 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 yum install -y nginx
Controlla la versione
nginx -v
Avvia e abilita Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Configurare Nginx come proxy inverso HTTP
o HTTPS
(se si utilizza SSL) per Mailtrain. Esegui sudo vi /etc/nginx/conf.d/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;
}
}
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
vi 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. Per maggiori informazioni, visita la pagina wiki di Mailtrain Github .