A Maitrain egy nyílt forráskódú, saját üzemeltetésű hírlevél-alkalmazás, amely Node.js-re és MySQL/MariaDB-re épül. Mailtrain forrása van GitHub . Ez az útmutató megmutatja, hogyan telepítheti a Mailtraint egy friss FreeBSD 12 Vultr példányra.
Követelmények
- Szoftverkövetelmények:
- Node.js v7 vagy újabb
- MySQL v5.5
- Nginx
- Redis (opcionális)
- Hardverkövetelmények:
Mielőtt elkezded
Ellenőrizze a FreeBSD verzióját.
uname -ro # FreeBSD 12.0-RELEASE
Győződjön meg arról, hogy a FreeBSD rendszere naprakész.
freebsd-update fetch install pkg update && pkg upgrade -y
Telepítse a szükséges csomagokat.
pkg install -y sudo vim unzip wget git bash socat
Hozzon létre egy új felhasználói fiókot a kívánt felhasználónévvel (használjuk 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!
Futtassa a visudoparancsot, és törölje a megjegyzéseket %wheel ALL=(ALL) ALL, hogy a wheelcsoport tagjai bármilyen parancsot végrehajthassanak.
visudo # Uncomment by removing hash (#) sign # %wheel ALL=(ALL) ALL
Most váltson az újonnan létrehozott felhasználóra a suparanccsal.
su - johndoe
MEGJEGYZÉS: Cserélje johndoeki a felhasználónevét.
Állítsa be az időzónát.
sudo tzsetup
Telepítse a Node.js és az npm fájlt
Telepítse a Node.js és az npm fájlt.
sudo pkg install -y node10 npm-node10
Ellenőrizze a verziókat.
node -v && npm -v # v10.15.3 # 6.9.0
Telepítse a MariaDB-t
Telepítse a MariaDB-t.
sudo pkg install -y mariadb102-client mariadb102-server
Ellenőrizze a verziót.
mysql --version # mysql Ver 15.1 Distrib 10.2.24-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1
Indítsa el és engedélyezze a MariaDB-t.
sudo sysrc mysql_enable="yes" sudo service mysql-server start
Futtassa a mysql_secure_installationszkriptet a MariaDB telepítés biztonságának javítása érdekében.
sudo mysql_secure_installation
Jelentkezzen be a MariaDB-be root felhasználóként.
mysql -u root -p # Enter password:
Hozzon létre egy új MariaDB adatbázist és felhasználót. Emlékezzen az új felhasználó hitelesítő adataira.
CREATE DATABASE dbname; GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit;
Telepítse az Nginx-et
Telepítse az Nginx-et.
sudo pkg install -y nginx
Ellenőrizze a verziót.
nginx -v # nginx version: nginx/1.14.2
Engedélyezze és indítsa el az Nginxet.
sudo sysrc nginx_enable=yes sudo service nginx start
Futtassa sudo vim /usr/local/etc/nginx/mailtrain.confés állítsa be az Nginxet a Maitrainhez.
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; } }
Mentse el a fájlt és lépjen ki.
Most bele kell foglalnunk mailtrain.confa nginx.conffőfájlba.
Futtassa, sudo vim /usr/local/etc/nginx/nginx.confés adja hozzá a következő sort a http {}blokkhoz.
include mailtrain.conf;
Tesztelje a konfigurációt.
sudo nginx -t
Töltse újra az Nginxet.
sudo service nginx reload
Telepítse a Maitraint
Hozzon létre egy üres dokumentum gyökérmappát, ahová a Mailtraint telepíteni kell.
sudo mkdir -p /usr/local/www/mailtrain
Navigáljon a dokumentum gyökérmappájához.
cd /usr/local/www/mailtrain
Módosítsa a /usr/local/www/mailtrainmappa tulajdonjogát felhasználóra johndoe.
sudo chown -R johndoe:johndoe /usr/local/www/mailtrain
Töltse le és csomagolja ki a Maitraint.
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
Futtassa npm install --productiona Mailtrain mappát a szükséges függőségek telepítéséhez.
Másolja config/default.tomlmásként, config/production.tomlés frissítse a MySQL-t és a benne lévő egyéb beállításokat.
cp config/default.toml config/production.toml vim config/production.toml
Futtassa a szervert.
NODE_ENV=production npm start
A telepítés befejeződött. Jelentkezzen be a felhasználónévvel adminés a jelszóval test. Miután bejelentkezett, frissítse a felhasználói adatokat és a jelszót a Mailtrain webes felületén.