Postalは、WebサイトおよびWebサーバーで使用するための完全で完全な機能を備えたオープンソースのメール配信サーバーです。 独自のメール処理要件を満たすためにaTechMediaによって開発されましたが、その後、コミュニティ向けのオープンソースプロジェクトとしてリリースすることを決定しました。 企業が独自のメールサーバーを使用し、電子メールマーケティングを実装することがますます一般的になっています。
個人的には、これらのタスクを実行するのに最適なツールの1つはSendgridだと思いますが、残念ながら、それはプライベートです。 Sendgrid、Mailgun、Postmarkについて考えてみてください。しかし、Postalは、非常に興味深い機能を備えた優れた代替のオープンソースメールサーバーであり、当社のWebサーバーに簡単にインストールできます。 このツールは優れたインターフェースを備えており、6か月以上テストされており、メールの送受信をより自動的に行えるシンプルなAPIも備えています。 さまざまなアプリケーションキャプチャにより、この優れたオープンソースメッセージングサーバーの機能のより詳細な説明が確実に提供されます。
前提条件
この記事では、Ubuntu 16.04LTSとその他の依存関係を使用して郵便郵便配達システムをインストールおよびセットアップする手順について説明します。 少なくとも8GBのメモリと必要なリポジトリを保存するのに十分なディスク容量を備えたUbuntu16.04サーバーでPostalを実行することをお勧めします。 システムに少なくとも2つの静的IPアドレスを構成する必要があります。
- Ruby2.3以降
- MySQLまたはMariaDBデータベースサーバー
- RabbitMQサーバー
- Node.js(javascriptコンパイル用)
- Git(リポジトリにアクセスするため)
1)Rubyのインストール
‘root’ユーザー資格情報でログインした後、以下のコマンドを実行してソフトウェアプロパティパッケージをインストールし、Rubyの新しいリポジトリを追加して、システムを更新します。
# apt install software-properties-common
# apt-add-repository ppa:brightbox/ruby-ng
# apt update
システムが最新のアップデートとパッチで完全にアップデートされたら、以下のコマンドを発行して、必要なバージョンのRubyをインストールします。
# apt install ruby2.3 ruby2.3-dev build-essential
2)MySQL / MariaDBのインストール
必要なバージョンのMySQL / MariaDBをUbuntu16.04のベースOSにインストールするには、以下のコマンドを使用してRSAキーとシステムアップデートをインポートします。
# apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
# add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.coreix.net/mariadb/repo/10.1/ubuntu xenial main'
# apt update
これで、以下のコマンドを使用してMariaDBサーバーをインストールできます。
# apt install mariadb-server libmysqlclient-dev
「Y」を押して、必要な依存関係とともにMariaDBサーバーのインストールを続行します。 インストールのセットアップ中に、コンソールに接続するためのrootパスワードも構成する必要があります。
3)RabbitMQのインストール
Ubuntu 16.04にRabbitMQをインストールするには、まず「apt-key」をダウンロードしてから、以下のコマンドを使用してこれをaptリポジトリに追加します。
# curl -sL https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
# add-apt-repository 'deb https://www.rabbitmq.com/debian/ testing main'
システムを更新すると、以下のコマンドを使用してUbuntu16.04にRabbitMQをインストールできます。
# apt update
# apt install rabbitmq-server
「Y」を押して、システムへのRabbitMQのインストールを続行します。
4)Node.JSのインストール
Node.jsは、以下の「apt」コマンドを使用してインストールできます。
# apt install nodejs
5)Gitのインストール
Git paclageは、以下の「apt」コマンドを使用してインストールできます。
# apt install git
これで、システムにすべての前提条件がインストールされ、PostalEmailサーバーのインストールとセットアップに移行する傾向があります。
Ubuntu16.04にPostalをインストールする方法
Ubuntu 16.04でPostalを実行するための前提条件を完了した後、インストール手順は非常に簡単です。 MySQLを使用してデータベースを準備することから始まるインストール手順から始めましょう。
1)郵便用データベースの設定
ルートユーザーのクレデンシャルを使用してMysQLサーバーコンソールに接続し、対応するデータベースを作成して、郵便メールサーバーの円滑な運用に備えます。
# mysql -u root -p -h 127.0.0.1
MySQLルートコンソールに接続した後、以下のコマンドを使用して新しいデータベースを作成し、安全なパスワードを持つユーザーに適切な権限を付与します。
CREATE DATABASE `postal` CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON `postal`.* TO `postal`@`127.0.0.1` IDENTIFIED BY "password";
次に、以下を実行して、ユーザーが郵便の接頭辞が付いたすべてのデータベースを管理できるようにする許可を追加します。 このようにして、Postalは、これを行うためのアクセス権を付与した後、メールサーバーのデータベースの作成を処理します。
GRANT ALL PRIVILEGES ON `postal-%` . * to `postal`@`127.0.0.1` IDENTIFIED BY "password";
2)RabbitMQをセットアップします
接続するには独自のRabbitMQvhostとユーザーが必要なため、次のコマンドを使用してRabbitMQ仮想ホストを作成します。
# rabbitmqctl add_vhost /postal
# rabbitmqctl add_user postal password
# rabbitmqctl set_permissions -p /postal postal ".*" ".*" ".*"
3)オペレーティングシステムの準備
次に、次のコマンドを実行して、「/ opt / postal」にホームディレクトリを持つ新しいユーザーを作成します。これにより、postalはサーバー上で独自のユーザーとして実行されます。
# useradd -r -m -d /opt/postal -s /bin/bash postal
4)システム全体のgemのインストール
次に、いくつかのプロジェクトで必要となる次の2つの依存関係をインストールします。
# gem install bundler
# gem install procodile
5)Clonningリポジトリ
次に、郵便ユーザーとして次のコマンドを使用してソースコードを適切なディレクトリに複製し、/ opt / postal / appディレクトリに複製します。
# sudo -i -u postal git clone https://github.com/atech/postal /opt/postal/app
次のコマンドを使用して、任意のディレクトリからポストカードにアクセスするためのシンボリックリンクを作成できます。
# ln -s /opt/postal/app/bin/postal /usr/bin/postal
6)Ruby依存関係のインストール
Postcardが実行できる必要があるRubyの依存関係をインストールするには、以下のコマンドを使用して、「postal」ユーザーを使用してアプリケーションを実行するために必要なすべての依存関係をインストールします。
# su - postal
# postal bundle /opt/postal/app/vendor/bundle
デフォルトでは、構成はリポジトリファイル構造の外部に保持され、「/ opt / postal / config」に保存されます。 次のコマンドでツールの初期設定を実行してみましょう。
postal initialize-config
Created example config file at /opt/postal/config/postal.yml
Created new private key for Let's Encrypt
Created new signing key for DKIM & HTTP requests
Created new private key for default fast server TLS connections
Created new self signed certificate for default fast server TLS connections
これにより、さまざまな秘密鍵と証明書、および示されているデフォルトのpostal.yml構成ファイルを含む、構成用の多数のファイルが作成されます。
次に、「postal.yml」ファイルを開き、ホスト名とデータベースのクレデンシャルに一致するように構成します。
vim config/postal.yml
その後、以下のコマンドを使用してデータベースとアセットを初期化します。
postal initialize
7)初期管理者ユーザーの作成
以下のコマンドを使用すると、新しいセットアップをガイドします admin インストールのユーザー。
$ postal make-user
次に、電子メールアドレス、名前、パスワードの入力を求められ、最初のログイン時にこれらを使用できます。
郵便申請の開始方法
郵便アプリケーションを開始するには、以下のコマンドを使用して、テストと開発のためにフォアグラウンドで郵便を実行できます。
postal run
すべてが良好に見えたら、以下のコマンドを使用して、バックグラウンドで郵便を実行できます。
postal start
実行中のプロセスのステータスを確認するには、statusコマンドを使用できます。
postal status
郵便管理インターフェースとAPIはnginxの背後に配置する必要があるため、郵便のWebインターフェースにアクセスするために適切にインストールおよび構成できます。
結論
この記事の終わりに、Ubuntu16.04で郵便配達プラットフォームをセットアップできるようになりました。 郵便は、情報のより詳細な制御とより快適な管理を提供するため、同じ機能を提供するクラウド内のサービスを置き換えるための理想的なツールです。 郵便には、他のプライベートまたは無料のソリューションと比較して短所と長所があるため、状況を分析して、それが私たちの使用に適しているかどうかを判断するのに便利です。 同様に、Postalの学習ラインは非常に短いため、制御された環境では、ツールの使用と使用についてかなり許容できるテストを行うことができます。 軽量で安全なオープンソースのメッセージングプラットフォームを使用することの重要性を強調することは重要ですが、さらに重要なことは、ニーズに最適なアプリケーションを選択するのに時間がかかることです。