Ako nainštalovať softvér Mailtrain Newsletter na Ubuntu 18.04
Na tejto stránke
- Požiadavky
- Začíname
- Nainštalujte Docker a Docker Compose
- Nainštalujte Mailtrain s Dockerom
- Prístup k webovému rozhraniu Mailtrain
- Nakonfigurujte Nginx ako reverzný proxy server pre Mailtrain
- Zabezpečte poštový vlak pomocou Lets Encrypt
- Záver
Mailtrain je bezplatná, open-source a samostatne hosťovaná aplikácia na zasielanie noviniek vytvorená z Node.js, ktorá podporuje databázové backendy MySQL/MariaDB. Mailtrain vám umožňuje pridávať predplatiteľov manuálne, prostredníctvom API alebo importovať zo súboru CSV. Mailtrain prichádza s bohatou sadou funkcií vrátane editorov šablón, automatizácie, vlastných polí, kampane RSS, editora HTML kódu a mnohých ďalších. Ak máte dlhý zoznam predplatiteľov a chcete ho ľahko spravovať, potom je pre vás Mailtrain tou najlepšou voľbou.
V tomto návode vám ukážeme, ako nainštalovať aplikáciu Mailtrain newsletter s Dockerom na serveri Ubuntu 18.04.
Požiadavky
- Server so systémom Ubuntu 18.04.
- Platný názov domény označený adresou IP vášho servera.
- Na vašom serveri je nakonfigurované heslo používateľa root.
Začíname
Pred spustením budete musieť aktualizovať svoj systém na najnovšiu verziu. Môžete to urobiť spustením nasledujúceho príkazu:
apt-get update -y
apt-get upgrade -y
Potom reštartujte systém, aby ste použili zmeny.
Nainštalujte Docker a Docker Compose
V predvolenom nastavení nie je najnovšia verzia Dockeru k dispozícii v predvolenom úložisku Ubuntu 18.04. Takže budete musieť do svojho systému pridať úložisko Docker.
Najprv nainštalujte požadované balíky pomocou nasledujúceho príkazu:
apt-get install curl git apt-transport-https ca-certificates -yPotom si stiahnite a pridajte kľúč PGP Dockera pomocou nasledujúceho príkazu:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -Potom pridajte úložisko Docker CE úpravou súboru /etc/apt/sources.list:
nano /etc/apt/sources.listNa koniec súboru pridajte nasledujúci riadok:
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
Po dokončení uložte a zatvorte súbor. Potom aktualizujte úložisko a nainštalujte Docker CE pomocou nasledujúcich príkazov:
apt-get update -y
apt-get install docker-ce -yPo úspešnom dokončení inštalácie môžete skontrolovať stav služby Docker pomocou nasledujúceho príkazu:
systemctl status dockerMali by ste vidieť nasledujúci výstup:
Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-10-24 16:15:25 UTC; 21min ago
Docs: https://docs.docker.com
Main PID: 1402 (dockerd)
Tasks: 45
CGroup: /system.slice/docker.service
?? 1402 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
??10312 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3000 -container-ip 172.18.0.4 -container-port 3000
Oct 24 16:23:04 ubuntu1804 dockerd[1402]: time="2019-10-24T16:23:04.817021656Z" level=info msg="Layer sha256:b875b006eb8ffb0434ce3a26cb04c9017c
Oct 24 16:24:09 ubuntu1804 dockerd[1402]: time="2019-10-24T16:24:09.879265134Z" level=info msg="ignoring event" module=libcontainerd namespace=
Oct 24 16:24:10 ubuntu1804 dockerd[1402]: time="2019-10-24T16:24:10.065610315Z" level=warning msg="20676b10252b4a484e32a7d7534b3b386cc2a1e5efd1
Oct 24 16:25:52 ubuntu1804 dockerd[1402]: time="2019-10-24T16:25:52.649551513Z" level=info msg="Layer sha256:903ab9000f0a93e49537d5d00c5c8a8cab
Oct 24 16:26:47 ubuntu1804 dockerd[1402]: time="2019-10-24T16:26:47.428865652Z" level=info msg="Layer sha256:903ab9000f0a93e49537d5d00c5c8a8cab
Oct 24 16:27:41 ubuntu1804 dockerd[1402]: time="2019-10-24T16:27:41.603287585Z" level=info msg="Layer sha256:903ab9000f0a93e49537d5d00c5c8a8cab
Ďalej nainštalujte najnovšiu verziu docker compose pomocou príkazu pip, ako je uvedené nižšie:
apt-get install python-pip
apt-get install docker-compose
Po dokončení inštalácie môžete prejsť na ďalší krok.
Nainštalujte Mailtrain pomocou Docker
Najprv si stiahnite najnovšiu verziu Mailtrain z úložiska Git pomocou nasledujúceho príkazu:
git clone git://github.com/Mailtrain-org/mailtrain.gitĎalej zmeňte adresár na mailtrain a premenujte predvolený súbor docker-compose:
cd mailtrain
mv docker-compose.override.yml.tmpl docker-compose.override.ymlPotom spustite dokovacie kontajnery Mailtrain pomocou nasledujúceho príkazu:
docker-compose up -dTento príkaz stiahne a spustí kontajnery mailtrain, mysql a redis, ako je uvedené nižšie:
Creating network "mailtrain_default" with the default driver
Creating volume "mailtrain_mailtrain-node-config" with default driver
Creating volume "mailtrain_mailtrain-node-data" with default driver
Creating volume "mailtrain_mailtrain-redis-data" with default driver
Creating volume "mailtrain_mailtrain-node-reports" with default driver
Creating volume "mailtrain_mailtrain-mysq-data" with default driver
Pulling redis (redis:3.0)...
3.0: Pulling from library/redis
f5cc0ee7a6f6: Pull complete
5fc25ed18e87: Pull complete
e025bc8872f6: Pull complete
77c68b51b836: Pull complete
7c403ece3755: Pull complete
0a653bd338f4: Pull complete
31531fd948c6: Pull complete
Digest: sha256:730b765df9fe96af414da64a2b67f3a5f70b8fd13a31e5096fee4807ed802e20
Status: Downloaded newer image for redis:3.0
Pulling mysql (mysql:5.7)...
5.7: Pulling from library/mysql
80369df48736: Pull complete
e8f52315cb10: Pull complete
cf2189b391fc: Pull complete
cc98f645c682: Pull complete
27a27ac83f74: Pull complete
fa1f04453414: Pull complete
d45bf7d22d33: Pull complete
c7d49ffebc56: Pull complete
511a8052b204: Pull complete
5d5df4c12444: Pull complete
d482603a2922: Pull complete
Digest: sha256:44b33224e3c406bf50b5a2ee4286ed0d7f2c5aec1f7fdb70291f7f7c570284dd
Status: Downloaded newer image for mysql:5.7
Building mailtrain
:
:
Removing intermediate container 20676b10252b
---> 0abdb4121f54
Step 6/9 : COPY . /app
---> c8af7560e844
Step 7/9 : EXPOSE 3000
---> Running in 3ff55179a229
Removing intermediate container 3ff55179a229
---> d83b49d4b24b
Step 8/9 : ENTRYPOINT ["bash", "/app/docker-entrypoint.sh"]
---> Running in e5baf6a1ea2e
Removing intermediate container e5baf6a1ea2e
---> c4f899a0f8f9
Step 9/9 : CMD ["node", "index.js"]
---> Running in fe94519d2bd3
Removing intermediate container fe94519d2bd3
---> 2808c2972f20
Successfully built 2808c2972f20
Successfully tagged mailtrain:latest
WARNING: Image for service mailtrain was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating mailtrain_redis_1 ... done
Creating mailtrain_mysql_1 ... done
Creating mailtrain_mailtrain_1 ... done
Teraz môžete skontrolovať všetky spustené kontajnery pomocou nasledujúceho príkazu:
docker psMali by ste vidieť nasledujúci výstup:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e837c586c39 mailtrain:latest "bash /app/docker-en…" About a minute ago Up 55 seconds 0.0.0.0:3000->3000/tcp mailtrain_mailtrain_1
49a4e69a09c6 mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp, 33060/tcp mailtrain_mysql_1
a1449b64a196 redis:3.0 "docker-entrypoint.s…" About a minute ago Up About a minute 6379/tcp mailtrain_redis_1
Prístup k webovému rozhraniu Mailtrain
Kontajner poštového vlaku je teraz spustený a počúva na porte 3000. Potom otvorte webový prehliadač a zadajte adresu URL http://ip-adresa-vášho-servera:3000. Na nasledujúcej stránke by ste mali vidieť predvolený informačný panel Mailtrain:

Teraz kliknite na tlačidlo Prihlásiť sa. Mali by ste vidieť nasledujúcu stránku:

Zadajte predvolené používateľské meno a heslo ako admin/admin a kliknite na tlačidlo Prihlásiť sa. Na nasledujúcej stránke by ste mali vidieť predvolený informačný panel Mailtrain:

Nakonfigurujte Nginx ako reverzný proxy pre Mailtrain
Ďalej budete musieť vytvoriť Nginx ako reverzný proxy pre Mailtrain na porte 3000. Ak to chcete urobiť, najskôr nainštalujte webový server Nginx spustením nasledujúceho príkazu:
apt-get install nginx -yPotom vytvorte konfiguračný súbor virtuálneho hostiteľa Nginx pomocou nasledujúceho príkazu:
nano /etc/nginx/sites-available/mailtrain.confPridajte nasledujúce riadky:
upstream mailtrain {
server 127.0.0.1:3000 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name example.com;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://mailtrain/;
}
}
Po dokončení uložte a zatvorte súbor. Potom pomocou nasledujúceho príkazu skontrolujte Nginx, či neobsahuje nejakú chybu syntaxe:
nginx -tMali by ste vidieť nasledujúci výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ďalej povoľte súbor virtuálneho hostiteľa Nginx pomocou nasledujúceho príkazu:
ln -s /etc/nginx/sites-available/mailtrain.conf /etc/nginx/sites-enabled/Nakoniec reštartujte webový server Nginx, aby ste použili konfiguráciu:
systemctl restart nginxZabezpečte poštový vlak pomocou Lets Encrypt
Ďalej budete musieť nainštalovať klienta Certbot, aby ste zabezpečili Mailtrain pomocou bezplatného šifrovania SSL. V predvolenom nastavení nie je najnovšia verzia Certbotu k dispozícii v predvolenom úložisku Ubuntu 18.04. Pridajte teda úložisko Certbot spustením nasledujúceho príkazu:
add-apt-repository ppa:certbot/certbotPotom aktualizujte úložisko a nainštalujte Certbot pomocou nasledujúceho príkazu:
apt-get update -y
apt-get install certbot python-certbot-nginx -yPo nainštalovaní spustite nasledujúci príkaz na stiahnutie bezplatného protokolu SSL Lets Encrypt pre vašu doménu example.com a nakonfigurujte Nginx na používanie tohto certifikátu.
certbot --nginx -d example.comZadajte svoju e-mailovú adresu a vyjadrite súhlas so Zmluvnými podmienkami. Po úspešnej inštalácii certifikátu by ste mali vidieť nasledujúci výstup:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2020-01-22. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Teraz môžete bezpečne pristupovať k svojej aplikácii Mailtrain pomocou adresy URL https://example.com.
Záver
Vo vyššie uvedenom návode sme sa naučili, ako nainštalovať Mailtrain s dockerom na server Ubuntu 18.04. Tiež sme sa naučili, ako nakonfigurovať Nginx ako reverzný proxy pre Mailtrain a zabezpečiť Mailtrain pomocou bezplatného šifrovania SSL. Neváhajte sa ma opýtať, ak máte nejaké otázky.