GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Perangkat Lunak Buletin Mailtrain di Ubuntu 18.04

Mailtrain adalah aplikasi buletin gratis, open-source, dan dihosting sendiri yang dibuat dari Node.js yang mendukung backend database MySQL/MariaDB. Mailtrain memungkinkan Anda menambahkan pelanggan secara manual, melalui API, atau mengimpor dari file CSV. Mailtrain hadir dengan serangkaian fitur yang kaya termasuk, Editor Template, Otomatisasi, Bidang Kustom, kampanye RSS, editor kode HTML, dan banyak lagi. Jika Anda memiliki daftar pelanggan yang panjang dan ingin mengelolanya dengan mudah, maka Mailtrain adalah pilihan terbaik untuk Anda.

Dalam tutorial ini, kami akan menunjukkan cara menginstal aplikasi buletin Mailtrain dengan Docker di server Ubuntu 18.04.

Persyaratan

  • Server yang menjalankan Ubuntu 18.04.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Kata sandi root dikonfigurasi di server Anda.

Memulai

Sebelum memulai, Anda perlu memperbarui sistem Anda dengan versi terbaru. Anda dapat melakukannya dengan menjalankan perintah berikut:

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

Selanjutnya, mulai ulang sistem Anda untuk menerapkan perubahan.

Instal Docker dan Tulis Docker

Secara default, versi terbaru Docker tidak tersedia di repositori default Ubuntu 18.04. Jadi, Anda perlu menambahkan repositori Docker ke sistem Anda.

Pertama, instal paket yang diperlukan dengan perintah berikut:

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

Selanjutnya, unduh dan tambahkan kunci PGP Docker dengan perintah berikut:

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

Selanjutnya, tambahkan repositori Docker CE dengan mengedit file /etc/apt/sources.list:

nano /etc/apt/sources.list

Tambahkan baris berikut di akhir file:

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

Simpan dan tutup file setelah Anda selesai. Kemudian, perbarui repositori dan instal Docker CE dengan perintah berikut:

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

Setelah instalasi berhasil diselesaikan, Anda dapat memeriksa status layanan Docker dengan perintah berikut:

systemctl status docker

Anda akan melihat output berikut:

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

Selanjutnya install docker compose versi terbaru dengan perintah pip seperti gambar di bawah ini:

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

Setelah penginstalan selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal Mailtrain dengan Docker

Pertama, unduh versi terbaru Mailtrain dari repositori Git dengan perintah berikut:

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

Selanjutnya, ubah direktori menjadi mailtrain dan ganti nama file docker-compose default:

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

Selanjutnya, jalankan container docker Mailtrain dengan perintah berikut:

docker-compose up -d

Perintah ini akan mengunduh dan memulai wadah mailtrain, mysql dan redis seperti yang ditunjukkan di bawah ini:

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

Anda sekarang dapat memeriksa semua container yang sedang berjalan dengan perintah berikut:

docker ps

Anda akan melihat output berikut:

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

Akses Antarmuka Web Mailtrain

Wadah Mailtrain sekarang dimulai dan mendengarkan pada port 3000. Selanjutnya, buka browser web Anda dan ketik URL http://your-server-ip:3000 . Anda akan melihat dasbor default Mailtrain di halaman berikut:

Sekarang, klik tombol Masuk tombol. Anda akan melihat halaman berikut:

Berikan nama pengguna dan sandi default sebagai admin/admin dan klik Masuk  tombol. Anda akan melihat dasbor default Mailtrain di halaman berikut:

Konfigurasikan Nginx sebagai Proxy Terbalik untuk Mailtrain

Selanjutnya, Anda perlu membuat Nginx sebagai proxy terbalik untuk Mailtrain pada port 3000. Untuk melakukannya, pertama-tama instal server web Nginx dengan menjalankan perintah berikut:

apt-get install nginx -y

Selanjutnya, buat file konfigurasi virtual host Nginx dengan perintah berikut:

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

Tambahkan baris berikut:

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/;
  }
}

Simpan dan tutup file setelah Anda selesai. Kemudian, periksa Nginx apakah ada kesalahan sintaks dengan perintah berikut:

nginx -t

Anda akan melihat output berikut:

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

Selanjutnya, aktifkan file virtual host Nginx dengan perintah berikut:

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

Terakhir, restart server web Nginx untuk menerapkan konfigurasi:

systemctl restart nginx

Amankan Mailtrain dengan Let's Encrypt

Selanjutnya, Anda perlu menginstal klien Certbot untuk mengamankan Mailtrain dengan Let's Encrypt SSL gratis. Secara default, versi terbaru Certbot tidak tersedia di repositori default Ubuntu 18.04. Jadi tambahkan repositori Certbot dengan menjalankan perintah berikut:

add-apt-repository ppa:certbot/certbot

Selanjutnya, perbarui repositori dan instal Certbot dengan perintah berikut:

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

Setelah terinstal, jalankan perintah berikut untuk mengunduh Let's Encrypt free SSL untuk domain Anda example.com dan konfigurasikan Nginx untuk menggunakan sertifikat ini.

certbot --nginx -d example.com

Berikan alamat email Anda dan setujui Persyaratan Layanan. Setelah sertifikat berhasil diinstal, Anda akan melihat output berikut:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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

Sekarang Anda dapat mengakses aplikasi Mailtrain dengan aman menggunakan URL https://example.com .

Kesimpulan

Dalam tutorial di atas, kita belajar cara menginstal Mailtrain dengan buruh pelabuhan di server Ubuntu 18.04. Kami juga mempelajari cara mengonfigurasi Nginx sebagai proxy terbalik untuk Mailtrain dan mengamankan Mailtrain dengan SSL gratis Let's Encrypt. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Ubuntu
  1. Cara Menginstal Docker di Ubuntu 16.04

  2. Cara Menginstal Docker di Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  3. Bagaimana Cara Menginstal Docker di Ubuntu 18.04?

  1. Cara Menginstal Docker Di Ubuntu 18.04

  2. Cara Menginstal Kubernetes di Ubuntu 18.04

  3. Cara Menginstal Docker Compose di Ubuntu 18.04

  1. Cara Menginstal Rancher di Ubuntu

  2. Cara Menginstal Docker Compose di Ubuntu 20.04

  3. Cara menginstal Docker di Ubuntu 22.04