本文教你以最简单的方式在Ubuntu 18.04系统上安装Mailtrain,它基于Node.js和MySQL/MariaDB构建,同时本文介绍的使用Docker运行Mailtrain需要一台至少具有1GB RAM的服务器。
安装Mailtrain前要安装Docker和Docker Compose 安装Mailtrain最简单的方法是使用Docker,首先,我们需要安装Docker和Docker Compose,其最新版本可以从Docker的官方存储库安装,可以参考在Ubuntu 18.04.1服务器上安装docker的步骤,附基本配置说明一文,以下步骤适用于Ubuntu 18.04。 为Docker存储库创建源列表文件: sudo nano /etc/apt/sources.list.d/docker.list 复制以下行并将其粘贴到文件中: deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable 保存并关闭文件,然后通过运行以下命令导入Docker的PGP密钥: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 由于此存储库使用HTTPS连接,因此我们还需要安装apt-transport-https和ca-certificates包: sudo apt install apt-transport-https ca-certificates 接下来,更新软件包索引并安装最新版本的Docker CE(Community Edition): sudo apt update sudo apt install docker-ce 安装后,应自动启动Docker守护程序,可以查看: systemctl status docker 输出信息如下:
如果它没有运行,则使用以下命令启动守护程序: sudo systemctl start docker 在系统启动时自动启动: sudo systemctl enable docker 检查Docker版本,运行以下命令: docker -v Docker version 18.06.1-ce, build e68fc7a 你可以使用pip Python包管理器安装最新版本的docker compose。 sudo apt install python-pip sudo pip install docker-compose 检查Docker Compose版本: docker-compose --version docker-compose version 1.22.0, build f46880f
使用Docker运行Mailtrain的方法 从Github存储库下载Mailtrain文件: sudo apt install git git clone git://github.com/Mailtrain-org/mailtrain.git 更改文件的名称: cd mailtrain mv docker-compose.override.yml.tmpl docker-compose.override.yml 现在,你可以编辑docker-compose.yml文件以更改默认的MySQL用户登录信息,然后启动docker-compose.yml文件中定义的容器: sudo docker-compose up -d 将创建mailtrain_default网络并运行3个容器:mailtrain-latest、mysql和redis,可以通过输入以下命令看到: sudo docker network ls sudo docker ps 现在,可以通过端口3000访问Mailtrain Web界面: your-server-ip:3000
设置反向代理并启用HTTPS 在使用Mailtrain Web界面之前,让我们把它放在Nginx后面,然后启用HTTPS,在Ubuntu 18.04上安装Nginx Web服务器: sudo apt install nginx 为Mailtrain创建服务器块文件: sudo nano /etc/nginx/conf.d/mailtrain.conf 将以下行复制并粘贴到mailtrain.conf文件中,你可以为Mailtrain创建一个子域,如下所示,同时为该子域创建A记录: server { listen [::]:80; listen 80; server_name newsletter.X(X:这里填写你的域名,比如ywnz.com); 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; } } 保存并关闭文件,然后测试Nginx配置: sudo nginx -t 如果测试成功,请重新加载Nginx以使更改生效: sudo systemctl reload nginx 你现在应该可以通过子域访问Mailtrain Web界面:newsletter.your-domain.com。
使用Let’s Encrypt启用HTTPS 在Ubuntu 18.04服务器上安装Let的加密客户端(certbot): sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt install certbot python3-certbot-nginx 然后可以使用Nginx插件通过执行以下命令自动获取并安装TLS证书: sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address -d newsletter.your-domain.com 请注意修改为你的域名,比如下图:
现在,可以通过你的域名和安全的HTTPS连接访问Mailtrain Web界面了,如下图所示:
使用用户名admin和密码测试登录,然后更改你的帐户电子邮件地址和密码,转到设置页面以更改默认配置,你应该将服务地址从http://localhost:3000/更改为你的子域。 在邮件程序设置中,如果你拥有自己的电子邮件服务器或使用Amazon SES,则可以使用SMTP。实际上,你还可以在SMTP选项卡中使用其他SMTP服务:
保存设置,然后可以创建一个列表来测试Mailtrain的功能。
相关主题 |