このチュートリアルでは、Ubuntu18.04にMailtrainをインストールする方法を説明します。 Mailtrainは、オープンソースのセルフホストニュースレターアプリであり、Mailchimpのような商用メールサービスプロバイダーに代わるものです。 Mailtrainを使用して、独自の電子メールサーバーを介して、またはSMTPリレーを介して任意の電子メール送信サービス(Mailjet、SendGrid、AmazonSES、Mailgunなど)を使用して、電子メールサブスクライバーに電子メールを送信できます。
Mailtrainは、Node.jsおよびMySQL/MariaDB上に構築されたGPLv3.0ライセンスの条件の下でリリースされます。最新バージョンはv1.24.1で、2018年9月27日にリリースされました。Mailtrainの機能は次のとおりです。
- 大規模なメーリングリスト(100万人の加入者など)を簡単に管理できます。
- APIを使用して手動でサブスクライバーを追加するか、CSVファイルからインポートできます。
- カスタムフィールド(テキストフィールド、数値、ドロップダウン、チェックボックス)、マージタグ、カスタムフォームをサポートしています。
- セグメンテーションを一覧表示します。
- RSSキャンペーン:RSSフィードからニュースレターを自動生成し、購読者に送信します。
- サブスクライバーはGPG公開鍵をアップロードでき、Mailtrainはニュースレターを暗号化します。
- すべてのリンクの個々のクリック統計を確認できます。
- 高度なテンプレートエディタとHTMLコードエディタ。
- 自動化:ユーザーが事前定義されたトリガーをアクティブにしたときに特定のメールを送信します。
前提条件
DockerでMailtrainを実行するには、少なくとも1GBのRAMを搭載したサーバーが必要です。この特別なリンクをクリックすると、DigitalOceanで100ドルの無料クレジットを獲得できます。 (新規ユーザーのみ)。すでにDigitalOceanユーザーである場合は、この特別なリンクをクリックして、Vultrで$ 50の無料クレジットを取得できます(新規ユーザーのみ)。 DigitalOceanまたはVultrでアカウントを取得したら、サーバーにUbuntu 18.04をインストールし、以下の手順に従います。
ドメイン名も必要です。 NameCheapからドメイン名を登録しました。これは、価格が低く、whoisのプライバシー保護が無料で提供されるためです。
Ubuntu18.04サーバーにMailtrainをインストールする方法
Mailtrainをインストールする最も簡単な方法は、Dockerを使用することです。まず、DockerとDocker Composeをインストールする必要があります。これらの最新バージョンは、Dockerの公式リポジトリからインストールできます。次の手順はUbuntu18.04用です。
Dockerリポジトリのソースリストファイルを作成します。
sudo nano /etc/apt/sources.list.d/docker.list
次の行をコピーしてファイルに貼り付けます。
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
ファイルを保存して閉じます。次に、以下のコマンドを実行してDockerのPGPキーをインポートします。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
このリポジトリはHTTPS接続を使用しているため、apt-transport-https
もインストールする必要があります およびca-certificates
パッケージ。
sudo apt install apt-transport-https ca-certificates
次に、パッケージインデックスを更新し、最新バージョンのDocker CE(Community Edition)をインストールします。
sudo apt update sudo apt install docker-ce
インストールすると、Dockerデーモンが自動的に起動します。次の方法で確認できます:
systemctl status docker
出力:
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-10-17 16:27:42 CST; 9min ago Docs: https://docs.docker.com Main PID: 6675 (dockerd) Tasks: 18 CGroup: /system.slice/docker.service ├─6675 /usr/bin/dockerd -H fd:// └─6696 docker-containerd --config /var/run/docker/containerd/containerd.toml
実行されていない場合は、次のコマンドでデーモンを起動します。
sudo systemctl start docker
また、システム起動時に自動起動を有効にします:
sudo systemctl enable docker
Dockerのバージョンを確認してください。
docker -v
サンプル出力:
Docker version 18.06.1-ce, build e68fc7a
pip
を使用して、最新バージョンのdockercomposeをインストールできます。 Pythonパッケージマネージャー。
sudo apt install python-pip sudo pip install docker-compose
DockerComposeのバージョンを確認してください。
docker-compose --version
サンプル出力:
docker-compose version 1.22.0, build f46880f
Dockerを使用したMailtrainの実行
GithubリポジトリからMailtrainファイルをダウンロードします。
sudo apt install git git clone git://github.com/Mailtrain-org/mailtrain.git
ファイルの名前を変更します。
cd mailtrain mv docker-compose.override.yml.tmpl docker-compose.override.yml
これで、docker-compose.yml
を編集できます デフォルトのMySQLユーザーログイン資格情報を変更するファイル。次に、docker-compose.yml
で定義されたコンテナを起動します ファイル。
sudo docker-compose up -d
mailtrain_default
ネットワークが作成され、3つのコンテナが実行されます:mailtrain-latest
、mysql
およびredis
、次のコマンドを発行するとわかります:
sudo docker network ls sudo docker ps
これで、ポート3000を介してMailtrainWebインターフェースにアクセスできます。
your-server-ip:3000
リバースプロキシの設定とHTTPSの有効化
Mailtrain Webインターフェースを使用する前に、それをNginxの背後に置き、HTTPSを有効にしましょう。次のコマンドを使用して、Ubuntu18.04にNginxWebサーバーをインストールします。
sudo apt install nginx
Mailtrainのサーバーブロックファイルを作成します。
sudo nano /etc/nginx/conf.d/mailtrain.conf
次の行をコピーしてファイルに貼り付けます。以下のようにMailtrainのサブドメインを作成できます。そのサブドメインのAレコードを作成することを忘れないでください。
server { listen [::]:80; listen 80; server_name newsletter.linuxbabe.com; 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; } }
ファイルを保存して閉じます。次に、Nginx構成をテストします。
sudo nginx -t
テストが成功した場合は、変更を有効にするためにNginxをリロードします。
sudo systemctl reload nginx
これで、サブドメインnewsletter.your-domain.com
を介してMailtrainWebインターフェースにアクセスできるようになります。 。
Let'sEncryptを使用したHTTPSの有効化
Let’s Encryptクライアント(certbot)をUbuntu18.04サーバーにインストールします。
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt install certbot python3-certbot-nginx
次に、Nginxプラグインを使用して、次のコマンドを実行することにより、TLS証明書を自動的に取得してインストールできます。
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address -d newsletter.your-domain.com
これで、ドメイン名と安全なHTTPS接続を介してMailtrainWebインターフェースにアクセスできます。
ユーザー名admin
でログインします とパスワードtest
。次に、アカウントのメールアドレスとパスワードを変更します。設定ページに移動して、デフォルトの構成を変更します。サービスアドレスをhttp://localhost:3000/
から変更する必要があります サブドメインに。
Mailer Settings
、独自のメールサーバーがある場合またはAmazon SESを使用している場合は、SMTPを使用できます。実際には、SMTP
で他のSMTPリレーサービスを使用することもできます タブ。
設定を保存します。次に、Mailtrainの機能をテストするためのリストを作成できます。
このチュートリアルが、Dockerを使用してUbuntu18.04にMailtrainをインストールするのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、その他のヒントやコツを入手してください。気をつけて。