如何在CentOS 7上安装 Mailtrain Newsletter Application

・7 分钟阅读

使用不同的系统?

Mailtrain是基于Node.js和mysql/MariaDB构建的开源通讯应用,Mailtrain的源代码位在gitHub,本指南将向你展示如何在新的Centos7实例上安装Mailtrain 。

要求

  • 软件要求:
    • Node.js v7或更高版本
    • MariaDB
    • Nginx
    • Redis (可选)
  • 硬件要求:
    • 1VCPU
    • 1024 MB RAM

检查CentOS版本。


cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)

使用sudo访问创建一个新的non-root用户帐户,并且切换到它。


useradd -c"John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

注:将johndoe替换为你的用户名。

设置时区。


timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

确保你的系统是最新的。


sudo yum update -y

安装Development Toolsunzip


sudo yum groupinstall -y 'Development Tools' && sudo yum install -y unzip

为了简便起见,禁用SELinux和防火墙。


sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld

安装Node.js和npm

使用Node.js的NodeSource YUM存储库安装Node.js和npm。


curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs

检查版本。


node -v && npm -v
# v8.11.4
# 5.6.0

安装MariaDB

安装MariaDB 。


sudo yum install -y mariadb-server

检查版本。

 
mysql --version

 

启动并启用MariaDB 。


sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

运行mysql_secure installation脚本以提高安全性。


sudo mysql_secure_installation

将MariaDB shell作为root用户连接到。


mysql -u root -p
# Enter password:

创建空数据库和用户,并记住凭据。


CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit

安装Nginx

安装Nginx 。


sudo yum install -y nginx

检查版本。

 
nginx -v

 

启动并启用Nginx 。


sudo systemctl start nginx.service
sudo systemctl enable nginx.service

将Nginx配置为Mailtrain的HTTPHTTPS (如果你使用SSL )反向代理,运行 sudo vi /etc/nginx/conf.d/mailtrain.conf 并添加以下配置。


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

}

测试配置。

 
sudo nginx -t

 

重新加载Nginx 。


sudo systemctl reload nginx.service

安装Mailtrain

创建一个空文档根目录,其中应安装Mailtrain 。


sudo mkdir -p /var/www/mailtrain

导航到文档根目录。


cd /var/www/mailtrain

/var/www/mailtrain文件夹的所有权更改为用户johndoe


sudo chown -R johndoe:johndoe /var/www/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

在Mailtrain文件夹中运行npm install --production以安装所需的依赖项。

config/default.toml复制为config/production.toml,并且更新MySQL及其他设置。


cp config/default.toml config/production.toml
vi config/production.toml

运行服务器。


NODE_ENV=production npm start

安装完成使用用户名admin和密码test登录,登录后,通过Mailtrain web界面更新用户信息和密码,有关更多信息,请访问Mailtrain Github维基页面

月月 profile image