GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Mailtrain Newsletter Software na Ubuntu 18.04

Mailtrain je bezplatná aplikace pro newsletter s otevřeným zdrojovým kódem a vlastním hostováním vytvořená z Node.js, která podporuje databázové backendy MySQL/MariaDB. Mailtrain vám umožňuje přidávat předplatitele ručně, prostřednictvím API nebo importovat ze souboru CSV. Mailtrain přichází s bohatou sadou funkcí včetně editorů šablon, automatizace, vlastních polí, RSS kampaně, editoru HTML kódu a mnoha dalších. Pokud máte dlouhý seznam odběratelů a chcete jej snadno spravovat, pak je pro vás Mailtrain tou nejlepší volbou.

V tomto tutoriálu vám ukážeme, jak nainstalovat aplikaci Mailtrain newsletter s Dockerem na serveru Ubuntu 18.04.

Požadavky

  • Server se systémem Ubuntu 18.04.
  • Platný název domény s adresou IP vašeho serveru.
  • Na vašem serveru je nakonfigurováno heslo uživatele root.

Začínáme

Než začnete, budete muset aktualizovat svůj systém na nejnovější verzi. Můžete to provést spuštěním následujícího příkazu:

apt-get update -y
apt-get upgrade -y

Poté restartujte systém, aby se změny projevily.

Instalovat Docker a Docker Compose

Ve výchozím nastavení není nejnovější verze Dockeru k dispozici ve výchozím úložišti Ubuntu 18.04. Budete tedy muset do svého systému přidat úložiště Docker.

Nejprve nainstalujte požadované balíčky pomocí následujícího příkazu:

apt-get install curl git apt-transport-https ca-certificates -y

Dále si stáhněte a přidejte klíč PGP Dockeru pomocí následujícího příkazu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

Dále přidejte úložiště Docker CE úpravou souboru /etc/apt/sources.list:

nano /etc/apt/sources.list

Na konec souboru přidejte následující řádek:

deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

Po dokončení uložte a zavřete soubor. Poté aktualizujte úložiště a nainstalujte Docker CE pomocí následujících příkazů:

apt-get update -y
apt-get install docker-ce -y

Po úspěšném dokončení instalace můžete zkontrolovat stav služby Docker pomocí následujícího příkazu:

systemctl status docker

Měli byste vidět následující 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

Dále nainstalujte nejnovější verzi docker compose pomocí příkazu pip, jak je znázorněno níže:

apt-get install python-pip
apt-get install docker-compose

Po dokončení instalace můžete přejít k dalšímu kroku.

Instalovat Mailtrain pomocí Docker

Nejprve si stáhněte nejnovější verzi Mailtrain z úložiště Git pomocí následujícího příkazu:

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

Dále změňte adresář na mailtrain a přejmenujte výchozí soubor docker-compose:

cd mailtrain
mv docker-compose.override.yml.tmpl docker-compose.override.yml

Dále spusťte ukotvitelné kontejnery Mailtrain pomocí následujícího příkazu:

docker-compose up -d

Tento příkaz stáhne a spustí kontejnery mailtrain, mysql a redis, jak je znázorněno níže:

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

Nyní můžete zkontrolovat všechny spuštěné kontejnery pomocí následujícího příkazu:

docker ps

Měli byste vidět následující 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

Přístup k webovému rozhraní Mailtrain

Kontejner poštovního vlaku je nyní spuštěn a naslouchá na portu 3000. Dále otevřete webový prohlížeč a zadejte adresu URL http://ip-ip-vašeho-serveru:3000 . Výchozí řídicí panel Mailtrain byste měli vidět na následující stránce:

Nyní klikněte na Přihlásit se knoflík. Měli byste vidět následující stránku:

Zadejte výchozí uživatelské jméno a heslo jako admin/admin a klikněte na Přihlásit se  knoflík. Výchozí řídicí panel Mailtrain byste měli vidět na následující stránce:

Nakonfigurujte Nginx jako reverzní proxy pro Mailtrain

Dále budete muset vytvořit Nginx jako reverzní proxy pro Mailtrain na portu 3000. Chcete-li tak učinit, nejprve nainstalujte webový server Nginx spuštěním následujícího příkazu:

apt-get install nginx -y

Dále vytvořte konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:

nano /etc/nginx/sites-available/mailtrain.conf

Přidejte následující řádky:

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 zavřete soubor. Poté pomocí následujícího příkazu zkontrolujte Nginx, zda neobsahuje nějakou chybu syntaxe:

nginx -t

Měli byste vidět následující výstup:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Dále povolte soubor virtuálního hostitele Nginx pomocí následujícího příkazu:

ln -s /etc/nginx/sites-available/mailtrain.conf /etc/nginx/sites-enabled/

Nakonec restartujte webový server Nginx a použijte konfiguraci:

systemctl restart nginx

Bezpečný poštovní vlak pomocí Let's Encrypt

Dále budete muset nainstalovat klienta Certbot pro zabezpečení Mailtrain pomocí Let's Encrypt free SSL. Ve výchozím nastavení není nejnovější verze Certbotu k dispozici ve výchozím úložišti Ubuntu 18.04. Přidejte tedy úložiště Certbot spuštěním následujícího příkazu:

add-apt-repository ppa:certbot/certbot

Dále aktualizujte úložiště a nainstalujte Certbot pomocí následujícího příkazu:

apt-get update -y
apt-get install certbot python-certbot-nginx -y

Po instalaci spusťte následující příkaz ke stažení bezplatného protokolu SSL Let's Encrypt pro vaši doménu example.com a nakonfigurujte Nginx tak, aby používal tento certifikát.

certbot --nginx -d example.com

Zadejte svou e-mailovou adresu a odsouhlaste podmínky služby. Po úspěšné instalaci certifikátu byste měli vidět následující 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

Nyní můžete přistupovat ke své aplikaci Mailtrain bezpečně pomocí adresy URL https://example.com .

Závěr

Ve výše uvedeném tutoriálu jsme se naučili, jak nainstalovat Mailtrain s dockerem na serveru Ubuntu 18.04. Také jsme se naučili, jak nakonfigurovat Nginx jako reverzní proxy pro Mailtrain a zabezpečit Mailtrain pomocí bezplatného SSL Let's Encrypt. Neváhejte se mě zeptat, pokud máte nějaké otázky.


Ubuntu
  1. Jak nainstalovat Docker na Ubuntu 16.04

  2. Jak nainstalovat Docker na Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  3. Jak nainstalovat Docker na Ubuntu 18.04?

  1. Jak nainstalovat Docker na Ubuntu 18.04

  2. Jak nainstalovat Kubernetes na Ubuntu 18.04

  3. Jak nainstalovat Docker Compose na Ubuntu 18.04

  1. Jak nainstalovat Rancher na Ubuntu

  2. Jak nainstalovat Docker Compose na Ubuntu 20.04

  3. Jak nainstalovat Docker na Ubuntu 22.04