Mailtrainเป็นแอปรับจดหมายข่าวโอเพ่นซอร์สที่สร้างขึ้นบน Node.js และ MySQL / MariaDB แหล่ง Mailtrain อยู่บนGitHub คู่มือนี้จะแสดงวิธีการติดตั้ง Mailtrain บนอินสแตนซ์ Debian 9 Vultr ใหม่
ความต้องการ
ข้อกำหนดซอฟต์แวร์:
- Node.js เวอร์ชั่น 7 หรือสูงกว่า
- MySQL เวอร์ชั่น 5.5
- Nginx
- Redis (เป็นทางเลือก)
ข้อกำหนดของฮาร์ดแวร์:
ตรวจสอบเวอร์ชั่นของเดเบียน
lsb_release -ds
# Debian GNU/Linux 9.5 (stretch)
ตรวจสอบให้แน่ใจว่าระบบของคุณทันสมัย
apt update && apt upgrade -y
ติดตั้งแพ็คเกจที่จำเป็น
apt install -y sudo dirmngr build-essential unzip git
สร้างบัญชีผู้ใช้ที่ไม่ใช่รูทใหม่ด้วยsudo
การเข้าถึงและเปลี่ยนเป็นบัญชี
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
หมายเหตุ: แทนที่johndoe
ด้วยชื่อผู้ใช้ของคุณ
ตั้งค่าเขตเวลา
sudo dpkg-reconfigure tzdata
ติดตั้ง Node.js และ NPM
ติดตั้ง Node.js โดยใช้ที่เก็บ NodeSource APT
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
ตรวจสอบรุ่น Node.js และ npm
node -v && npm -v
# v8.11.3
# 5.6.0
ติดตั้ง MariaDB
ติดตั้ง MariaDB
sudo apt install -y mariadb-server
ตรวจสอบเวอร์ชั่น
mysql --version
เรียกใช้mysql_secure installation
สคริปต์เพื่อปรับปรุงความปลอดภัย MariaDB
sudo mysql_secure_installation
เชื่อมต่อกับ MariaDB เชลล์ในฐานะผู้ใช้รูท
sudo mysql -u root -p
# Enter password:
สร้างฐานข้อมูล MariaDB ที่ว่างเปล่าและผู้ใช้และจดจำข้อมูลรับรอง
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
ติดตั้ง Nginx
ติดตั้ง Nginx
sudo apt install -y nginx
ตรวจสอบเวอร์ชั่น
sudo nginx -v
กำหนดค่า Nginx เป็นพร็อกซีย้อนกลับHTTP
หรือHTTPS
(ถ้าคุณใช้ SSL) สำหรับแอปพลิเคชัน Mailtrain เรียกใช้sudo vim /etc/nginx/sites-available/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;
}
}
เปิดใช้งานการmailtrain.conf
กำหนดค่าใหม่โดยเชื่อมโยงไฟล์ไปยังsites-enabled
ไดเรกทอรี
sudo ln -s /etc/nginx/sites-available/mailtrain.conf /etc/nginx/sites-enabled/
ทดสอบการกำหนดค่า
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
ดาวน์โหลดและเปิดเครื่องรูด 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
เรียกใช้npm install --production
ในโฟลเดอร์ Mailtrain เพื่อติดตั้งการพึ่งพาที่จำเป็น
คัดลอกconfig/default.toml
เป็นconfig/production.toml
และ MySQL การปรับปรุงและการตั้งค่าอื่น ๆ ที่อยู่ในนั้น
cp config/default.toml config/production.toml
vim config/production.toml
เรียกใช้เซิร์ฟเวอร์
NODE_ENV=production npm start
การติดตั้งเสร็จสมบูรณ์ เข้าสู่ระบบด้วยชื่อผู้ใช้และรหัสผ่านadmin
test
เมื่อเข้าสู่ระบบให้อัพเดทข้อมูลผู้ใช้และรหัสผ่านผ่านทางเว็บอินเตอร์เฟส Mailtrain