Mailtrainเป็นแอปรับจดหมายข่าวแบบโอเพ่นซอร์สที่สร้างขึ้นบน Node.js และ MySQL / MariaDB แหล่ง Mailtrain อยู่บนGitHub คู่มือนี้จะแสดงวิธีการติดตั้ง Mailtrain บนอินสแตนซ์ของ FreeBSD 12 Vultr ใหม่
ความต้องการ
- ข้อกำหนดซอฟต์แวร์:
- Node.js v7 หรือสูงกว่า
- MySQL v5.5
- Nginx
- Redis (เป็นทางเลือก)
- ข้อกำหนดของฮาร์ดแวร์:
ก่อนที่จะเริ่ม
ตรวจสอบเวอร์ชั่น FreeBSD
uname -ro
# FreeBSD 12.0-RELEASE
ตรวจสอบให้แน่ใจว่าระบบ FreeBSD ของคุณทันสมัย
freebsd-update fetch install
pkg update && pkg upgrade -y
ติดตั้งแพ็คเกจที่จำเป็น
pkg install -y sudo vim unzip wget git bash socat
สร้างบัญชีผู้ใช้ใหม่ด้วยชื่อผู้ใช้ที่คุณต้องการ (เราจะใช้johndoe
)
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
เรียกใช้visudo
คำสั่งและไม่แสดงข้อคิดเห็น%wheel ALL=(ALL) ALL
เพื่อให้สมาชิกของwheel
กลุ่มสามารถดำเนินการคำสั่งใด ๆ
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
ตอนนี้เปลี่ยนเป็นผู้ใช้ที่สร้างขึ้นใหม่ด้วยsu
คำสั่ง
su - johndoe
หมายเหตุ: แทนที่johndoe
ด้วยชื่อผู้ใช้ของคุณ
ตั้งค่าเขตเวลา
sudo tzsetup
ติดตั้ง Node.js และ npm
ติดตั้ง Node.js และ npm
sudo pkg install -y node10 npm-node10
ตรวจสอบเวอร์ชั่น
node -v && npm -v
# v10.15.3
# 6.9.0
ติดตั้ง MariaDB
ติดตั้ง MariaDB
sudo pkg install -y mariadb102-client mariadb102-server
ตรวจสอบเวอร์ชั่น
mysql --version
# mysql Ver 15.1 Distrib 10.2.24-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1
เริ่มและเปิดใช้งาน MariaDB
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
เรียกใช้mysql_secure_installation
สคริปต์เพื่อปรับปรุงความปลอดภัยของการติดตั้ง MariaDB ของคุณ
sudo mysql_secure_installation
ล็อกอินเข้าสู่ MariaDB ในฐานะผู้ใช้รูท
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 pkg install -y nginx
ตรวจสอบเวอร์ชั่น
nginx -v
# nginx version: nginx/1.14.2
เปิดใช้งานและเริ่ม Nginx
sudo sysrc nginx_enable=yes
sudo service nginx start
เรียกใช้sudo vim /usr/local/etc/nginx/mailtrain.conf
และตั้งค่า Nginx สำหรับ Mailtrain
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
ไว้ในnginx.conf
ไฟล์หลัก
เรียกใช้sudo vim /usr/local/etc/nginx/nginx.conf
และเพิ่มบรรทัดต่อไปนี้ในhttp {}
บล็อก
include mailtrain.conf;
ทดสอบการกำหนดค่า
sudo nginx -t
โหลดซ้ำ Nginx
sudo service nginx reload
ติดตั้ง Mailtrain
สร้างโฟลเดอร์รากเอกสารเปล่าที่ควรติดตั้ง Mailtrain
sudo mkdir -p /usr/local/www/mailtrain
นำทางไปยังโฟลเดอร์รูทเอกสาร
cd /usr/local/www/mailtrain
เปลี่ยนความเป็นเจ้าของของโฟลเดอร์ให้กับผู้ใช้/usr/local/www/mailtrain
johndoe
sudo chown -R johndoe:johndoe /usr/local/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