Ubuntu14.04にMailpileをインストールする方法

前書き ##

このチュートリアルでは、高速で安全で美しいWebメールクライアントである[Mailpile](https://mailpile.is/)をUbuntu14.04にインストールします。

MailpileなどのWebメールクライアントを使用すると、標準の電子メールクライアントを構成しなくても、どこからでも電子メールにアクセスできます。 Mailpileは単なるメールクライアントです。つまり、既存のメールアカウントのみを管理します。

このチュートリアルの最後に、Nginxをリバースプロキシとして使用してMailpileを実行する完全に機能する[CVM](https://cloud.tencent.com/product/cvm?from=10680)があります。

チュートリアル全体を通して、** Mailpileはまだベータ段階**であることに注意してください。これは、エラーやその他の問題が発生する可能性があることを意味します。セッション間で情報が保存されることはありません。 (つまり、Mailpileサービスを再起動するたびに、アカウントの詳細を再入力する必要があります。)

また、サービスを実行する簡単な方法もありません。デフォルトでは、SSHセッションでインタラクティブスクリプトとしてのみ実行されます。 Screenを使用してバックグラウンドで実行するUpstartスクリプトが含まれているため、必要に応じてWebmailクライアントを維持できます。ただし、本番環境にはお勧めしません。

準備 ##

始める前に、いくつかのことが必要です。

SSL証明書とキーの場所を書き留めます。チュートリアルに従ってNginxで使用する証明書を作成すると、次の場所に配置されます。

準備ができたら、最初のステップに進んでください。

ステップ1-Mailpileをダウンロード

このセクションでは、Mailpileをインストールするための作業環境を準備します。

まず、CVMにログインする必要があります。 sudoアクセス権を持つユーザーとしてログインしてください。

まず、Gitをインストールする必要があります。 Gitを使用して、GitHubからMailpileソースコードを複製します。

Ubuntuパッケージリストを更新します。

sudo apt-get update

Gitをインストールします。

sudo apt-get install git

Gitがインストールされたので、ディレクトリを解決可能な問題に変更しましょう。この場合、 / varディレクトリを使用します。

cd /var

メールのクローン:

sudo git clone https://github.com/mailpile/Mailpile.git

Gitがシステムディレクトリであるディレクトリ / varを作成できるようにするには、sudoコマンドが必要です。

Mailpileを実行する準備ができました。 2番目のステップに進み、さらにリクエストの処理を開始します。

ステップ2-メールパイル要件を構成する

このセクションでは、Mailpile要件をインストールして構成します。

まず、pipをインストールしましょう。 pipはPythonパッケージマネージャーであり、いくつかのトリックがあります。

sudo apt-get-y install python-pip

pipを使用すると、Mailpile要件をより簡単にインストールできます。すぐにわかりますが、最初に何かをインストールする必要があります。

次に、lxmlをインストールする必要があります。 lxmlは通常pipによって実装されるMailpile要件ですが、不明な理由でインストールが失敗することがわかりました。したがって、apt-getを使用してインストールします。

sudo apt-get install python-lxml

GnuPGやOpenSSLなど、いくつかのパッケージを手動でインストールするだけで済みます。これらは私たちのメールのためのより安全な環境を作成します。それらのいくつかはデフォルトでインストールされるかもしれませんが、念のために確認します:

sudo apt-get install gnupg openssl libssl-dev

次に、Mailpileディレクトリに移動します。

cd /var/Mailpile

これで、pipの機能を使用して他の要件をインストールする準備が整いました。

Mailpileには、基本的に要件のリストである requirements.txtというファイルが含まれています。 pipはこのリストを読み取り、それぞれを自動的にインストールできます。次に、これを実行しましょう。

sudo pip install -r /var/Mailpile/requirements.txt

これで完了です。すべての要件がインストールされており、Mailpileを使用できます。しかしその前に、セキュリティを強化するためにいくつかの追加の対策を講じる必要があります。

ステップ3-Nginxを使用してリバースプロキシを構成する

このセクションでは、NginxをMailpileのリバースプロキシとして構成します。これにより、Mailpileの安全性が高まり、SSL証明書を使用できるようになり、Webmailクライアントへのアクセスが容易になります。

Nginxを使用すると、Mailpileにアクセスする代わりに使用できます。はじめましょう! https://example.com:33411``https:// mailpile.example.com

まず、Nginxをインストールする必要があります。これがほとんどの作業になるためです。それでは、最初にNginxを入手しましょう。

sudo apt-get install nginx

Nginxがインストールされたので、リバースプロキシを設定できます。 Nginxの構成を編集して、サブドメインをMailpileにルーティングするように指示しましょう。

元のNginx構成ファイルは不要なものでいっぱいなので、削除したいと思います。しかし、最初に、バックアップを作成しましょう。最初にカタログを作成します。

sudo mkdir /home/backup

次に、バックアップを作成します。

sudo cp -b /etc/nginx/sites-enabled/default/home/backup

これで、何の影響もなくファイルを自由に削除できます。

sudo rm /etc/nginx/sites-available/default

それが実際に消えたことを確認しましょう:

ls /etc/nginx/sites-available/

Nginxをインストールしたばかりの場合、このコマンドは何も返しません。

次に、新しいファイルを作成します。

sudo nano /etc/nginx/sites-available/default

今がリバースプロキシを設定する時です。最初の部分から始めましょう。ファイルの先頭に以下を追加します(これが何をするかについては後で説明します)。

server {
 listen 80;return301 https://$host$request_uri;}

これにより、Nginxは取得したリクエストをHTTPSにリダイレクトするようになります。しかし実際には、まだ存在していないものにリダイレクトしようとします。そのためのスペースを作成しましょう:

server {
​
 listen 443;
 server_name mailpile.example.com;
​
 ssl_certificate           /etc/nginx/ssl/nginx.crt;
 ssl_certificate_key       /etc/nginx/ssl/nginx.key;
​
 ssl on;
 ssl_session_cache  builtin:1000  shared:SSL:10m;
 ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
 ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
 ssl_prefer_server_ciphers on;
​
 access_log            /var/log/nginx/mailpile.access.log;

注:証明書とキーが / etc / nginx / ssl / nginx.crt / etc / nginx / ssl / nginx.keyにあることを確認してください。それ以外の場合は、「ssl_certificate」と「ssl_certificate_key」の横のパスを更新して、証明書とキーの場所を一致させてください。

入力した内容は、Nginxにポート443(ポート80ではなくSSLアクセスのあるポートWebサイト)でリッスンし、SSL証明書を適用して、SSLをオンにするように指示します。次に、リダイレクト先の新しいHTTPS URLを実際に提供し、SSLを有効にする必要があります。次にこれを行います。

最初の2つのブロックの下に以下を追加します。

 location /{
​
  proxy_set_header        Host $host;
  proxy_set_header        X-Real-IP $remote_addr;
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header        X-Forwarded-Proto $scheme;
​
  # Fix the "It appears that your reverse proxy set up is broken" error.
  proxy_pass          http://localhost:33411;
  proxy_read_timeout  90;
​
  proxy_redirect      http://localhost:33411 https://webmail.example.com;}}

完了すると、完成した構成ファイルは次のようになります。

server {
 listen 80;return301 https://$host$request_uri;}
​
server {
​
 listen 443;
 server_name mailpile.example.com;
​
 ssl_certificate           /etc/nginx/ssl/nginx.crt;
 ssl_certificate_key       /etc/nginx/ssl/nginx.key;
​
 ssl on;
 ssl_session_cache  builtin:1000  shared:SSL:10m;
 ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
 ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
 ssl_prefer_server_ciphers on;
​
 access_log            /var/log/nginx/mailpile.access.log;
​
 location /{
​
  proxy_set_header        Host $host;
  proxy_set_header        X-Real-IP $remote_addr;
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header        X-Forwarded-Proto $scheme;
​
  # Fix the "It appears that your reverse proxy set up is broken" error.
  proxy_pass          http://localhost:33411;
  proxy_read_timeout  90;
​
  proxy_redirect      http://localhost:33411 https://webmail.example.com;}}

デフォルトのサイトを置き換えずに、別の名前でサーバーブロックファイルを作成した場合は、次のコマンドを使用して有効にする必要があります。

sudo ln -s /etc/nginx/sites-available/mailpile.example.com /etc/nginx/sites-enabled/

デフォルトのサイトはすでに有効になっているはずです。

次に、Nginxを再起動して、構成を再ロードします。

sudo service nginx restart

これで、Mailpileは https:// mailpile.example.comに接続する準備が整いました。自己署名証明書を使用している場合は、SSL警告を受け入れる必要がある場合があります。

さらに、 http:// mailpile.example.comにアクセスすると、SSLバージョンのサイトに自動的にリダイレクトされます。

Mailpileはまだ実行されていないため、これらのURLにアクセスすると、502 BadGatewayエラーが表示されます。このエラーの最も一般的な原因は、Mailpileアプリケーションが実行されていないことです。

Mailpileを実行するための4番目のステップに進みます。

ステップ4-Mailpileを構成して実行する

このセクションでは、Mailpileを起動し、リバースプロキシで動作するように構成します。

正しいディレクトリにいることを確認してください。

cd /var/Mailpile

Mailpileを実行するには、次のように入力します。

. /mp

これで、コマンドラインまたはWebインターフェイスからMailpileの探索を開始できます。

警告の一言: Mailpile は停止後に設定を保存しません。したがって、時間をかけて構成する前に、サービスのように実行するオプションの次のステップを完了することをお勧めします。

Mailpileは https:// mailpile.example.comに接続され、SSL証明書を使用してHTTPSにリダイレクトすることもできます。おめでとう!

CTRL-Cを使用してから、 quitと入力してMailpileを終了できます。

オプション-Upstartを使用してMailpileをサービスにします

Mailpileが常にアクティブであり、メールを処理する準備ができていることを確認するには、Upstartを使用してMailpileをサービスに変換します。

Mailpileはテスト段階にあるため、適切に保護されていません。また、インタラクティブなコマンドラインが必要なため、Pythonスクリプトを直接実行することはできません。このUpstartスクリプトは、Screenを介してPythonアプリケーションをサービスとして実行するハッキーな方法です。

sudo nano /etc/init/mailpile.conf

ファイルの内容は次のとおりです。

description "Mailpile Webmail Client"
author      "Sharon Campbell"
​
start on filesystem or runlevel [2345]
stop on shutdown
​
script
​
 echo $$ >/var/run/mailpile.pid
 exec /usr/bin/screen -dmS mailpile_init /var/Mailpile/mp
​
end script
​
pre-start script
 echo "[`date`] Mailpile Starting">>/var/log/mailpile.log
end script
​
pre-stop script
 rm /var/run/mailpile.pid
 echo "[`date`] Mailpile Stopping">>/var/log/mailpile.log
end script

Screenセッションが実行されている限り、このスクリプトはMailpileを開始し、その状態を維持します。画面セッションは正しく停止しないため、Mailpileを停止する場合は、画面セッションを手動で停止する必要があります。

このスクリプトを使用すると、次のコマンドでMailpileを起動できます。

sudo start mailpile

これにより、** root ユーザーは 12345.mailpile_init **という名前のScreenセッションを持ちます。

ただし、他のUpstartコマンドは機能しません。スクリーンセッションを手動で終了する必要があります。また、サービスがクラッシュまたは停止した場合は、サービスを再起動してすべての設定をリセットする必要があります。

ステップ5-Mailpileの使用を開始する

このセクションでは、Webmailインターフェイスから使用される基本的なMailpileを紹介し、リンク https:// mailpile.example.comを開きます。

これは、最初にMailpileにアクセスしたときに表示される画面です。

ドロップダウンメニューから言語を選択します。

「**開始」**ボタンをクリックします。

新しいパスワードを作成し、2回入力します。

[** Mailpileで開始] **ボタンをクリックします。

ログイン画面:作成したパスワードを入力してください。

** +アカウントの追加**ボタンを使用して、新しいアカウントを追加します。

ここから、所有しているメールアカウントの詳細を入力する必要があります。その特定のメールアカウントのメールアドレスとパスワードを入力する必要があります。 Mailpileは、これらの資格情報を使用してアカウントへの接続を試みます。これには数分かかる場合があります。

Mailpileがそれ自体で判別できない場合は、「メールの送信および**メールの受信」**を手動で入力することもできます。

Gmailは、MailpileがGmailアカウントの資格情報を使用できないようにするため、GmailアカウントをMailpileに追加することはできません。

ログイン後、次の画面が表示されます。

Mailpileに追加したアカウントの他のメールアカウントとテストメールを送受信してみてください。成功すると、Mailpileが自分のメールアドレスを使用していることがわかります。

その他のメールパイル機能

Mailpileは、さまざまな暗号化オプションも提供します。

結論として ##

Mailpileの使用を開始するには、[FAQ](https://www.mailpile.is/faq/)を参照してください。

その他の構成オプションについては、Mailpileコマンドラインから helpを実行してください。

おめでとうございます。これで、Ubuntu 14.04CVMで実行される独自のWebmailクライアントMailpileができました。 SSLが装備されており、WebサイトのHTTPSバージョンに自動的にリダイレクトされます。 Mailpileの美しいインターフェースを使用して、メールアカウントを設定し、連絡先、メール、カテゴリなどを管理できるようになりました。

Ubuntuのオープンソース情報チュートリアルの詳細については、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細をご覧ください。

参照:「Ubuntu14.04にMailpileをインストールする方法」

Recommended Posts

Ubuntu14.04にMailpileをインストールする方法
Ubuntu20.04にRubyをインストールする方法
Ubuntu20.04にMemcachedをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
Ubuntu14.04にMemSQLをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu16.04にMongoDBをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法
Ubuntu20.04にSkypeをインストールする方法
Ubuntu20.04にJenkinsをインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
Ubuntu18.04にKVMをインストールする方法
Ubuntu20.04にKVMをインストールする方法
ubuntu14.04にopencv3.0.0をインストールする方法
Ubuntu20.04にAnacondaをインストールする方法
Ubuntu16.04にPrometheusをインストールする方法
Ubuntu18.04にJenkinsをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にRをインストールする方法
Ubuntu16.04にMoodleをインストールする方法
Ubuntu14.04にSolr5.2.1をインストールする方法
Ubuntu16.04にTeamviewerをインストールする方法
Ubuntu20.04にMariaDBをインストールする方法
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にMonoをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu20.04にZoomをインストールする方法
Ubuntu16.04にNginxをインストールする方法
Ubuntu20.04にOpenCVをインストールする方法
Ubuntu20.04にSpotifyをインストールする方法
Ubuntu18.04にPostmanをインストールする方法
Ubuntu16.04にGo1.6をインストールする方法
Ubuntu18.04にGoをインストールする方法
Ubuntu14.04にMySQLをインストールする方法
Ubuntu20.04にPostgreSQLをインストールする方法
Ubuntu18.04にVLCをインストールする方法
Ubuntu20.04にTeamViewerをインストールする方法
Ubuntu20.04にWebminをインストールする方法
Ubuntu14.04にBaculaServerをインストールする方法
Raspberry Pi4にUbuntu19.10をインストールする方法
Ubuntu18.04にApacheKafkaをインストールする方法
Ubuntu20.04にApacheMavenをインストールする方法
Ubuntu16.04にApacheTomcat8をインストールする方法
Ubuntu20.04 ubuntu / focal64にPython2をインストールする方法
Ubuntu18.04にGCCコンパイラをインストールする方法
Ubuntu14.04にGraylog1.xをインストールする方法。
Ubuntu16.04サーバーにZabbixをインストールする方法
Ubuntu18.04にOperaWebブラウザをインストールする方法
Ubuntu14.04にDockerを使用してPrometheusをインストールする方法
Ubuntu20.04にVisualStudioコードをインストールする方法