GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat aplikaci Mailtrain Newsletter na CentOS 7

Mailtrain je open source samoobslužná informační aplikace napsaná na Node.js. K odesílání e-mailů používá velmi populární knihovnu Node.js Nodemailer. Nabízí vynikající automatizaci a analýzu zcela zdarma. Pomocí importu souboru CSV můžete snadno vytvořit nebo importovat seznam e-mailů s milionem e-mailových adres. Podporuje také vlastní pole a formuláře. Poskytuje automatizaci prostřednictvím spouštěčů, které mohou odesílat konkrétní zprávy konkrétním uživatelům, když je akce spuštěna. K zasílání newsletteru můžete použít jakéhokoli poskytovatele e-mailu, který podporuje protokol SMTP spolu s podporou pro Amazon SES, ZoneMTA, SendGrid a Mailgun atd. Poskytuje několik WYSIWYG editorů pro vytváření krásných šablon pro newslettery.

V tomto tutoriálu nainstalujeme Mailtrain spolu se všemi požadovanými závislostmi na CentOS 7. Nastavíme také Nginx jako reverzní proxy pro obsluhu aplikace na standardním HTTP portu.

Požadavky

Metabase vyžaduje alespoň 1 GB RAM. Všechny požadované závislosti budou nainstalovány v průběhu kurzu. Budete potřebovat minimální instalaci CentOS 7 s přístupem root. Pokud jste přihlášeni jako uživatel bez oprávnění root, můžete spuštěním sudo -i přepnout na uživatele root.

Aktualizovat základní systém

Před instalací jakéhokoli balíčku se doporučuje aktualizovat balíčky a úložiště pomocí následujícího příkazu.

yum -y update

Instalovat Node.js

Node.js vyžaduje Mailtrain, protože je vytvořen pomocí Nodemailer. Node.js je velmi populární runtime JavaScript a Nodemailer je modul pro aplikace Node.js pro odesílání e-mailů.

Přidat úložiště Node.js 8.x:

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

Nainstalujte Node.js.

yum -y install nodejs

Instalovat MariaDB

Pro uložení databáze Mailtrain budeme muset nainstalovat MariaDB. MariaDB je fork MySQL
Nainstalujte si do systému úložiště MariaDB.

nano /etc/yum.repos.d/mariadb.repo

Přidejte do souboru následující řádky.

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Nyní nainstalujte MariaDB spuštěním.

yum -y install mariadb-server mariadb

Chcete-li spustit MariaDB a povolit její spuštění při spouštění pomocí následujících příkazů.

systemctl start mariadb
systemctl enable mariadb

Nyní spusťte následující příkazy k zabezpečení instalace MySQL nebo MariaDB.

mysql_secure_installation

Spustí malý skript, který vás požádá o zadání hesla uživatele root pro MariaDB. Protože jsme právě nainstalovali MariaDB, heslo root není nastaveno, stačí stisknout enter a pokračovat dále. Zeptá se vás, zda chcete nastavit heslo uživatele root pro vaši instalaci MariaDB, vyberte y a nastavte silné heslo pro instalaci. Také vás požádá o odstranění testovacích databází a anonymních uživatelů. Většina otázek je samovysvětlujících a na všechny otázky byste měli odpovědět ano nebo y.

Mailtrain vyžaduje pro práci dva uživatele databází, jeden pro správu databáze Mailtrain a druhý pro generování zpráv o pracovnících.

Pro vytvoření databáze se budeme muset nejprve přihlásit do příkazového řádku MySQL. Pro totéž spusťte následující příkaz.

mysql -u root -p

To vás vyzve k zadání hesla, zadejte heslo root MySQL, které jste nastavili dříve. Nyní spusťte následující dotaz a vytvořte novou databázi pro vaši instalaci Mailtrain.

CREATE DATABASE mailtrain CHARACTER SET utf8 COLLATE utf8_general_ci;

Výše uvedený dotaz vytvoří databázi s názvem mailtrain. Ujistěte se, že na konci každého dotazu používáte středník, protože dotaz vždy končí středníkem. Jakmile je databáze vytvořena, můžete vytvořit nového uživatele a udělit mu všechna oprávnění pro databázi. Použití uživatele root se pro databáze nedoporučuje. Chcete-li vytvořit nového uživatele databáze, spusťte následující dotaz.

CREATE USER 'mailtrain'@'localhost' IDENTIFIED BY 'StrongPassword';

Výše uvedený dotaz vytvoří uživatele s uživatelským jménem mailtrain. Místo mailtrain můžete použít libovolné preferované uživatelské jméno. Nahraďte StrongPassword silným heslem. Nyní poskytněte uživateli vaší databáze příslušná oprávnění k databázi, kterou jste vytvořili. Spusťte následující příkaz.

GRANT ALL PRIVILEGES ON mailtrain.* TO 'mailtrain'@'localhost';

Nyní vytvořte nového uživatele pro Mailtrain RO.

CREATE USER 'mailtrain_ro'@'localhost' IDENTIFIED BY 'StrongROPassword';

Poskytněte uživateli RO přístup pro čtení prostřednictvím databáze Mailtrain.

GRANT SELECT ON mailtrain.* TO 'mailtrain_ro'@'localhost';

Nyní spusťte následující příkaz, abyste okamžitě použili změny oprávnění k databázi.

FLUSH PRIVILEGES;

Ukončete výzvu MySQL pomocí příkazu exit.

EXIT;

Instalační závislosti

Mailtrain vyžaduje několik dalších závislostí, aby fungoval. Nainstalujte závislosti spuštěním:

yum -y install ImageMagick git python redis bind-utils gcc-c++ make

ImageMagick je nástroj pro zpracování bitmapových obrázků a Git bude použit ke klonování úložiště projektu aplikace. Redis je velmi oblíbená aplikace mezipaměti relací a ke kompilaci souborů aplikací budou použity Python, bind-utils, gcc-c++ a make.

Spusťte Redis a povolte jeho automatické spouštění:

systemctl start redis
systemctl enable redis

Stáhnout a nainstalovat Mailtrain

Naklonujte instalační soubory Mailtrain pomocí Git.

git clone git://github.com/Mailtrain-org/mailtrain.git /opt/mailtrain

Vytvořte nového uživatele Mailtrain pro spuštění démona Mailtrain. Tím zajistíte, že Mailtrain běží v izolovaném prostředí.

adduser mailtrain -d /opt/mailtrain

Výše uvedený příkaz vytvoří nový uživatelský mailtrain a /opt/mailtrain bude použit jako domovský adresář.

Přepněte se do adresáře Mailtrain spuštěním:

cd /opt/mailtrain

Než budete pokračovat dále, měli byste vygenerovat náhodný řetězec, který bude použit k šifrování dat relace. Pro vygenerování náhodného řetězce můžete použít utilitu pwgen.

Spusťte yum -y install pwgen pro instalaci nástroje pwgen. Spusťte pwgen -1 64 a vygenerujte řetězec o délce 64 znaků. Uvidíte:

[[email protected] mailtrain]# pwgen -1 64
Poy0aeLalie5uew7eenanootehohLudiuleac5aigaekah1amokumeeg5aiG2ied

Vytvořte nový konfigurační soubor production.toml. Konfigurace poskytnutá v tomto souboru přepíše výchozí konfigurační soubor default.toml. Výchozí konfigurační soubor bychom neměli upravovat. Vytvořte nový soubor production.toml pro uložení přepisující konfigurace.

nano config/production.toml

Naplňte soubor s následující konfigurací.

language="en"

user="mailtrain"
group="mailtrain"
rouser="nobody"
rogroup="nobody"

[log]
level="error"

[www]
host="localhost"
port="3000"
secret="RandomString"
remember=604800
proxy=true
tmpdir="/tmp"

[mysql]
user="mailtrain"
password="StrongPassword"
database="mailtrain"
port=3306
charset="utf8"


[redis]
enabled=true

[queue]
processes=5

[reports]
enabled=true

Výše uvedená konfigurace umožňuje, aby Mailtrain běžel jako uživatel mailtrain a uživatel Mailtrain Reports Worker jako uživatel nikdo. Dále nakonfiguruje vestavěný server tak, aby naslouchal localhost na portu 3000. Nastavíme Nginx jako reverzní proxy, takže webové rozhraní Mailtrain bude přístupné přes standardní HTTP port.

Nahraďte RandomString in secret=náhodným řetězcem vygenerovaným výše. Nastavte proxy na true, protože za Nginx proxy budeme provozovat vestavěný server Mailtrain.

Nastavte uživatelské jméno, heslo a název databáze databáze, kterou jste vytvořili pro ukládání dat Mailtrain.

Vytvořte také nový soubor pro uložení produkční konfigurace pro Worker Reports.

nano workers/reports/config/production.toml

Naplňte soubor s následující konfigurací.

[log]
level="error"

[mysql]
host="localhost"
user="mailtrain_ro"
password="StrongROPassword"
database="mailtrain"
port=3306
charset="utf8"
timezone="local"

Nyní stáhněte požadované závislosti Node.js a nainstalujte software:

npm install --production

Jakmile je aplikace nainstalována, můžete ji okamžitě spustit pomocí:

NODE_ENV=production npm start

Pokud server běží, měli byste vidět následující výstup.

[[email protected] mailtrain]# NODE_ENV=production npm start

> [email protected] start /opt/mailtrain
> node index.js
    
info Using local auth

Ale místo přímého spuštění aplikace použijeme službu systemd. Zastavte provádění stisknutím ctrl + C.

Poskytněte vlastnictví souborů uživateli Mailtrain a odeberte všechna oprávnění ke konfiguraci od ostatních uživatelů systému bez oprávnění root:

chown -R mailtrain:mailtrain /opt/mailtrain
chmod o-rwx /opt/mailtrain/config

Nastavení služby Systemd

Vytvořte nový soubor služby Systemd. Použití Systemd místo přímého příkazu ke spuštění serveru zajistí automatické spuštění serveru při selhání a restartu. Díky tomu je správa služby velmi snadná.

nano /etc/systemd/system/mailtrain.service

Naplňte soubor následující konfigurací.

[Unit]
Description=Mailtrain Server
Requires=mariadb.service
After=syslog.target network.target

[Service]
user=mailtrain
group=mailtrain
Environment="NODE_ENV=production"
WorkingDirectory=/opt/mailtrain
ExecStart=/usr/bin/node index.js
Type=simple
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=mailtrain

[Install]
WantedBy=multi-user.target

Spusťte Mailtrain a povolte jeho automatické spouštění při startu:

systemctl enable mailtrain
systemctl start mailtrain

Chcete-li zkontrolovat stav služby, spusťte:

systemctl status mailtrain

Měli byste vidět, že služba aktivně běží.

[[email protected] ~]# systemctl status mailtrain
? mailtrain.service - Mailtrain Server
   Loaded: loaded (/etc/systemd/system/mailtrain.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2017-10-09 11:15:40 UTC; 9s ago
 Main PID: 18092 (mailtrain)
   CGroup: /system.slice/mailtrain.service
           ??18092 mailtrain
           ??18105 /usr/bin/node /opt/mailtrain/services/executor.js
           ??18112 /usr/bin/node /opt/mailtrain/services/sender.js
           ??18117 /usr/bin/node /opt/mailtrain/services/sender.js
           ??18125 /usr/bin/node /opt/mailtrain/services/sender.js
           ??18131 /usr/bin/node /opt/mailtrain/services/sender.js
           ??18136 /usr/bin/node /opt/mailtrain/services/sender.js

Oct 09 11:15:40 liptan-pc systemd[1]: Started Mailtrain Server.
Oct 09 11:15:40 liptan-pc systemd[1]: Starting Mailtrain Server...
Oct 09 11:15:44 liptan-pc mailtrain[18092]: info Using local auth

Nastavit Logrotate

Logrotate je velmi užitečný nástroj pro obnovení zastaralých protokolů. Když služba běží nepřetržitě, generuje obrovské množství protokolů. Soubory obsahující protokoly zabírají hodně místa na disku. Logrotate pravidelně maže staré protokoly, takže položky protokolu mohou být nahrazeny novými.

Vytvořte nový konfigurační soubor logrotate:

nano /etc/logrotate.d/mailtrain

Naplňte soubor s následující konfigurací:

/var/log/mailtrain.log {
daily
rotate 12
compress
delaycompress
missingok
notifempty
copytruncate
nomail
}

Nastavit Nginx jako reverzní proxy

Vestavěné webové rozhraní Mailtrain jsme nakonfigurovali tak, aby naslouchalo localhost na portu 3000, protože je důležité provozovat produkční webový server, který bude web sloužit uživatelům. V tomto tutoriálu použijeme Nginx jako reverzní proxy, takže k aplikaci lze přistupovat přes standardní HTTP port. Nainstalujte webový server Nginx:

yum -y install nginx

Vytvořte nového virtuálního hostitele pro soubor bloku serveru pro Nginx:

nano /etc/nginx/conf.d/mailtrain.conf

Vyplňte soubor s:

server {
    listen 80;
    listen [::]:80;

    server_name news.example.com www.news.example.com ;
    access_log /var/log/nginx/mailtrain.log;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://127.0.0.1:3000;
        proxy_redirect off;
    }
}

Restartujte webový server Nginx a povolte jeho automatické spouštění při spouštění:

systemctl restart nginx
systemctl enable nginx

Konfigurace brány firewall a SELinux

Pokud na svém serveru používáte bránu firewall, budete ji muset nakonfigurovat tak, aby nastavila výjimku pro službu HTTP. Povolte Nginx reverznímu proxy připojení zvenčí sítě.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload

Pokud máte na svém systému povolen SELinux, budete muset přidat několik výjimek do zásad SELinux.

Chcete-li zkontrolovat, zda je povolen SELinux, spusťte:

getenforce

Pokud máte povolen SELinux, spusťte:

setsebool -P httpd_can_network_connect 1

Přístup k webovému rozhraní

Instalace Mailtrain je nyní dokončena. Nyní máte přístup k serveru Mailtrain na http://news.example.com. Zobrazí se následující rozhraní.

Klikněte na tlačítko přihlášení a přihlaste se pomocí uživatelského jména admin a testu hesla.

Procházet Účet části řídicího panelu a aktualizujte e-mailovou adresu a heslo. Je velmi důležité aktualizovat heslo co nejdříve.

Před použitím Mailtrain je také důležité aktualizovat nastavení.

Aktualizujte adresu URL webu a e-mail správce. Můžete také poskytnout ID sledování Google Analytics pro sledování statistik prostřednictvím služby Google Analytics. Můžete vložit nějaký HTML kód, který se zobrazí na domovské stránce vašeho serveru.

Nastavte výchozí nastavení kampaně, jako je vaše jméno Sander, Výchozí adresa, Výchozí název, e-mail a URL atd. Pokud při odesílání e-mailů nejsou tyto možnosti nakonfigurovány, použijí se výchozí hodnoty.

A konečně nejdůležitější konfigurace je poskytnout přihlašovací údaje k e-mailovému serveru. Můžete použít jakýkoli server SMTP nebo Amazon SES (Simple Email Service). Pokud používáte SMTP, zadejte název hostitele poštovního serveru, port, uživatelské jméno a heslo vašeho serveru SMTP. Pokud používáte Amazon SES, zadejte klíč API a další přihlašovací údaje.

Můžete si také nastavit svůj vlastní SMTP server. postupujte podle některého z těchto pokynů:

  • Jak vytvořit plně vybavený poštovní server pomocí poštovního serveru
  • Vybudujte plně vybavený poštovní server na CentOS 6 s Postfix, Dovecot, PostgreSQL
  • Nastavení poštovního serveru pomocí Exim4, Clamav, Dovecot, SpamAssassin a mnoha dalších v Debianu

Nyní máte na svém serveru CentOS 7 nainstalován plně funkční server Mailtrain. Vytvořte svůj první seznam a začněte posílat odběratelům newslettery. Můžete vytvořit interaktivní šablonu pomocí WYSIWYG editoru a odeslat e-maily pomocí kampaní. Mailtrain také poskytuje zprávy o odeslaných a otevřených e-mailech. Kartu Automatizace můžete použít k vytvoření spouštěčů, které odešlou e-mail, když je provedena nějaká konkrétní akce. Můžete také nastavit šifrování GPG. Pokud má seznam vlastní pole pro sadu veřejného klíče GPG, mohou předplatitelé nahrát svůj veřejný klíč GPG a přijímat zašifrované zprávy ze seznamu.


Cent OS
  1. Jak nainstalovat MariaDB na CentOS 7

  2. Jak nainstalovat PhpWiki na CentOS 7

  3. Jak nainstalovat LiteCart na CentOS 7

  1. Jak nainstalovat MariaDB na CentOS 8

  2. Jak nainstalovat Bamboo na CentOS 7

  3. Jak nainstalovat Brasero na CentOS 8

  1. Jak nainstalovat MariaDB na CentOS 6

  2. Jak nainstalovat MariaDB na CentOS 7

  3. Jak nainstalovat ProjectPier na CentOS 7