前書き
このチュートリアルでは、Ubuntu 14.04にhttps://mailpile.is [Mailpile]という高速で安全で美しいWebメールクライアントをインストールします。
image:https://assets.digitalocean.com/articles/mailpile/mailpile-home.png [メールパイルの最初の起動画面]
Mailpileのようなウェブメールクライアントは、標準のメールクライアントを設定する手間をかけずに、どこからでもメールにアクセスできるようにする優れた方法です。 Mailpileは単なるメールクライアントです。つまり、既存のメールアカウントを_管理_するだけです。
このチュートリアルの終わりまでに、リバースプロキシとしてNginxでMailpileを実行する完全に機能するDropletが作成されます。
このチュートリアル全体を通して、* Mailpileはまだベータ版であることに注意してください。これは、途中でバグやその他の問題に遭遇する可能性があることを意味します。 セッション間で情報を保存しません。 (つまり、Mailpileサービスを再起動するたびにアカウントの詳細を再入力する必要があります。)
また、サービスとして実行する簡単な方法もありません。 デフォルトでは、SSHセッションで対話型スクリプトとしてのみ実行されます。 Screenを使用してバックグラウンドで実行するUpstartスクリプトが含まれているため、必要に応じてウェブメールクライアントを起動したままにすることができます。 ただし、これは実稼働には推奨されません。
前提条件
始める前に、いくつかのことが必要です。
-
* Ubuntu 14.04 *を実行しているドロップレット。 少数のメールボックスのみを処理するMailpileセットアップには、少なくとも512 MBのRAMをお勧めします。 数人以上のユーザーがいる場合は、サイズを大きくすることをお勧めします
-
ルートアクセス権を持つユーザー。 でユーザーを設定する手順については、https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-an-ubuntu-14-04-vps [このチュートリアル]を参照してください。 Ubuntu 14.04でのsudoアクセス
-
メールを安全に保つためのSSL証明書。 https://www.namecheap.com [Namecheap]または別の認証局から購入できます。 お金を使いたくない場合は、https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-nginx-for-ubuntu-14- 04 [Nginxで使用するために独自に作成する]またはhttps://www.startssl.com/[StartSSL]から入手する
-
ドメイン名
-
ドメインの準備ができている場合は、ドロップレットを指すAレコードを作成します(例: メールパイル。)。 DigitalOceanでDNSレコードを設定する手順については、https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean [DNSに関するこのチュートリアル]を参照してください。
SSL証明書とキーの場所を書き留めます。 チュートリアルに従ってNginxで使用する証明書を作成した場合、それらは次の場所にあります。
-
/etc/nginx/ssl/nginx.crt
-
/etc/nginx/ssl/nginx.key
それでおしまい! すべての準備が整ったら、最初の手順に進みます。
ステップ1-Mailpileのダウンロード
このセクションでは、Mailpileをインストールするための作業環境を準備します。
まず、ドロップレットにログインする必要があります。 SSHを使用したことがない場合は、https://www.digitalocean.com/community/tutorials/how-to-connect-to-your-droplet-with-ssh [SSHに関するこのチュートリアル]をご覧ください。 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の要件の構成
このセクションでは、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を使用したリバースプロキシの構成
このセクションでは、MailpileのリバースプロキシとしてNginxを構成します。 これにより、Mailpileがより安全になり、SSL証明書を使用できるようになり、ウェブメールクライアントへのアクセスが簡単になります。
Nginxでは、 `+ https://:33411 `にアクセスしてMailpileにアクセスする代わりに、 ` https:// mailpile。+`を使用できます。 始めましょう!
まず、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/
次に、リバースプロキシを設定します。 最初の部分から始めましょう。 ファイルの先頭に次を追加します(このファイルの機能についてはすぐに説明します)。
/ etc / nginx / sites-available / default
server {
listen 80;
return 301 https://$host$request_uri;
}
これは、取得したリクエストをHTTPSにリダイレクトするようにNginxに指示します。 しかし実際には、まだ存在しないものにリダイレクトしようとします。 行く場所を作りましょう:
/ etc / nginx / sites-available / default
server {
listen 443;
server_name mailpile.;
ssl_certificate ;
ssl_certificate_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 +`の隣のパスを更新して、証明書とキーの場所を一致させます。
入力した内容は、ポート443(ポート80ではなくSSLアクセスを使用するポートWebサイト)でリッスンし、SSL証明書を適用し、SSLをオンにするようNginxに指示しました。 次に、リダイレクトしてSSLを有効にしたこの新しいHTTPS URLに実際に何かを提供する必要があります。 次にそれを行います。
前の2つのブロックの下に次を追加します。
/ etc / nginx / sites-available / default
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.;
}
}
完了したら、完成した設定ファイルは次のようになります。
/ etc / nginx / sites-available / default
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name mailpile.;
ssl_certificate ;
ssl_certificate_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.;
}
}
デフォルトのサイトを置き換えずに、別の名前でサーバーブロックファイルを作成した場合は、次のようなコマンドで有効にする必要があります。
sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/
デフォルトのサイトはすでに有効になっているはずです。
このhttps://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-virtual-hosts-on-ubuntu-14-04-lts[Nginxサーバーブロックに関する記事]詳細を知りたい場合。
Nginxを再起動して構成を再読み込みします。
sudo service nginx restart
それでおしまい。 これで、Mailpileは `+ https:// mailpile。+`に到達する準備ができました。 自己署名証明書を使用した場合は、SSL警告を受け入れなければならない場合があります。
また、 `+ http:// mailpile。+`にアクセスすると、サイトのSSLバージョンに自動的にリダイレクトされます。
Mailpileはまだ実行されていないため、これらのURLにアクセスすると、502 Bad Gatewayエラーが表示されます。 このエラーの最も一般的な理由は、Mailpileアプリケーションが実行されていないことです。
Mailpileを実行するには、手順4に進みます。
手順4-Mailpileの構成と実行
このセクションでは、Mailpileを起動し、リバースプロキシで動作するように構成します。
正しいディレクトリにいることを確認してください:
cd /var/Mailpile
Mailpileを実行するには、次を入力します。
./mp
これで、コマンドラインまたはWebインターフェースからMailpileの探索を開始できます。
Mailpileは `+ https:// mailpile。+`でライブになり、SSL証明書を使用してHTTPSにリダイレクトされるはずです。 おめでとうございます。
`+ CTRL-C `を使用し、 ` quit +`を入力してMailpileを終了できます。
オプション-UpstartでMailpileをサービスにする
Mailpileが常にアクティブでメールを処理する準備ができていることを確認するには、Upstartを使用してMailpileをサービスに変換できます。 手順については、https://www.digitalocean.com/community/tutorials/the-upstart-event-system-what-it-is-and-how-to-use-it [this]の素晴らしいチュートリアルに従ってください。
Mailpileはベータ版であるため、まだ適切にデーモン化されていません。 また、インタラクティブなコマンドラインが必要なので、Pythonスクリプトを直接実行することはできません。 このUpstartスクリプトは、https://www.digitalocean.com/community/tutorials/how-to-install-and-use-screen-on-an-an-ubuntu-を介してPythonアプリをサービスとして実行する*ハック*な方法ですクラウドサーバー[画面]:
sudo nano /etc/init/mailpile.conf
/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
このスクリプトはMailpileを起動し、Screenセッションが実行されている限りそれを維持します。 Screenセッションを適切に停止しないため、Mailpileを停止する場合は、Screenセッションを手動で停止する必要があります。
このスクリプトを使用すると、次の方法でMailpileを起動できます。
sudo start mailpile
これにより、* root ユーザーが所有する .mailpile_init *というScreenセッションが作成されます。
ただし、他のUpstartコマンドは機能しません。 Screenセッションを手動で終了する必要があります。 また、サービスがクラッシュまたは停止した場合は、サービスを再起動してすべての設定をリセットする必要があります。
ステップ4-Mailpileの使用開始
このセクションでは、 `+ https:// mailpile。+`のWebメールインターフェイスからの基本的なMailpileの使用について説明します。
Mailpileに初めてアクセスしたときに表示される画面は次のとおりです。
image:https://assets.digitalocean.com/articles/mailpile/mailpile-home.png [メールパイルの最初の起動画面]
ドロップダウンメニューから言語を選択します。
[開始]ボタンをクリックします。
新しいパスワードを作成してから、2回入力します。
[メールパイルの使用を開始]ボタンをクリックします。
ログイン画面:作成したパスワードを入力してください。
image:https://assets.digitalocean.com/articles/mailpile/YH043iM.png [ログイン画面]
-
+ [アカウントの追加]ボタンで新しいアカウントを追加します。
image:https://assets.digitalocean.com/articles/mailpile/9OPj3Or.png [新しいアカウントを追加]
ここから、所有するメールアカウントの詳細を入力する必要があります。 その特定のメールアカウントのメールアドレスとパスワードを入力する必要があります。 Mailpileは、これらの資格情報を使用してアカウントへの接続を試行します。これには数分かかる場合があります。
Mailpileが自分自身を把握できない場合は、* Sending Mail および Receiving Mail *の資格情報を手動で入力することもできます。
ログインすると、次の画面が表示されます。
画像:https://assets.digitalocean.com/articles/mailpile/ueJqKlG.png [Mailpile Inbox]
Mailpileに追加したアカウントのテストメールを別のメールアカウントに送受信してみてください。 これが成功した場合、Mailpileが自分のメールアドレスで機能していることがわかります。
その他のメールパイル機能
Mailpileは、さまざまな暗号化オプションも提供します。
image:https://assets.digitalocean.com/articles/mailpile/Nh2yptT.png [メールパイルの暗号化オプション]
結論
Mailpileの使用を開始するには、https://www.mailpile.is/faq/ [FAQ]をご覧ください。
その他の設定オプションについては、Mailpileコマンドラインから `+ help +`を実行してください。
おめでとうございます。これで、Ubuntu 14.04 Dropletで実行する独自のウェブメールクライアントであるMailpileができました。 SSLを完全に装備しており、サイトのHTTPSバージョンに自動的にリダイレクトします。 Mailpileの美しいインターフェースを使用して、メールアカウントを設定し、連絡先、メール、カテゴリなどを管理できるようになりました。 楽しむ!