LoginSignup
5
5

More than 5 years have passed since last update.

WebメールクライアントのmailpileをCent OS 6に入れてみた。

Posted at

スクリーンショット 2015-06-28 11.56.48.png

モチベーション

個人用にVPS上で運用しているメールアドレスがあるのですが、これまではスマホからしか送受信していませんでした。
ところが、最近ちょこちょこPCでサービスの利用登録などに利用した際に、メールアドレス認証などのリンクが踏みづらいなー、面倒だなー、どうにかしたいなーなどと思うようになりました。
PCで動くメールクライアントを使えば一発解決なわけなんですが、Gmail等のWeb上でみれるようなメールクライアントを入れてみようと思ったので、ちょっと探した結果、mailpileにたどり着きました。

よくよく見てみると、まだベータ版であり、ベータの段階では個人利用でのみ対応(=複数人で共有して利用するような使い方は対応中)のようです。
ただ、今回のモチベーション的には全く問題ないので、入れてみました。

公式サイト
公式リポジトリ

インストール

Python 2.7をいれる

mailpileを実行するにはPython 2.7以上が必要になります。
残念ながら、Cent OS 6のPythonは2.6なので、まずはPython 2.7を入れました。

Qiitaにも、Cent OS 6に新しいPythonを入れる記事がいくつか見つかりましたが、ソースからインストールする方法を書かれているものだったりしたので、一旦rpmで入れられないか探して、以下のページに辿り着きました。
http://pylog.applifirst.jp/2014/08/30/pythoninstall_to_centos/

新しいリポジトリを追加し、python2.7を入れます。

sudo rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-14.ius.centos6.noarch.rpm
sudo yum install python27-devel python-pip27

完了したら, やっとmailpileのインストール作業です。

余談

と、2.7を先に入れるように書きましたが、最初からわかっていたわけではなく、実際には2.6でインストール作業を行ったら最後の最後、実行するところで以下の様なエラーが出ましてですね…。

File "/usr/local/apps/mailpile/mailpile/commands.py", line 1894
    with BLOCK_HTTPD_LOCK, Idle_HTTPD():```
                         ^
SyntaxError: invalid syntax

全く同じエラーが出ている人が居たので、それを参考にしました。
https://github.com/mailpile/Mailpile/issues/1179

mailpileをいれる

まずはプログラムを実行する場所を作ります。
僕は/usr/local/apps/mailpileに作りたかったので、以下の感じでソースを持ってきました。

sudo mkdir -p /usr/local/apps/mailpile
sudo cd /usr/local/apps/
sudo git clone https://github.com/mailpile/Mailpile.git mailpile

次に、pipでライブラリをインストールします。

sudo pip2.7 install -r requirements.txt

このとき、xsltprocが無い、みたいな感じのエラーが出た場合は、

sudo yum install libxslt-devel

とすれば解決するはずです。

これで、インストール自体は完了です。
思ってたより簡単でした。

実行

一応、rootで実行しないようにユーザを作ってみました。
その後、プログラムのフォルダの所有者をこのユーザに変えておきます。

sudo adduser mailpile
sudo chown -R mailpile. /usr/local/apps/mailpile

これで、mailpileユーザで実行する準備が整いました。

とりあえず試しに動くか確認ですが、その前に少し修正を…。
python2.7を入れたのですが、残念ながらpythonコマンドは2.6のままです。
なので、起動用のソースを少しいじります。

お好きなエディタでmpを開いて、先頭の一行を書き換えます。
#!/usr/bin/env python2となっているので、#!/usr/bin/env python2.7にします。

ようやく実行です。

cd /usr/local/apps/mailpile
sudo -u mailpile ./mp

たぶん、何か表示されて、コマンド入力待ちの画面になったかと思います。

The Web interface address is: http://localhost:33411/

その中に、上記のような表示が含まれていると思うので、ここにアクセスしてみましょう。

SSHでトンネルを掘るのが手っ取り早いかと思います。

(自分用のメモ)

ssh -C  -L 33411:127.0.0.1:33411 接続先

うまく起動していれば、以下のアドレスでアクセス可能になっているかとおもいます。
http://localhost:33411/

スクリーンショット 2015-06-30 2.53.14.png

こんな表示がでれば成功です。おつかれさまでしたー。

デーモン化

さて、困ったことに、このmpを起動している間しか、WEBから使えません。
ということで、ちょっと調べたところ、以下のページがヒットしました。
https://discourse.mailinabox.email/t/mailpile-integration/70/5
それによると、screenを使えば良い、とのことでした。なので、とりあえず、以下のコマンドを実行してみます。が、おそらくデフォルトでは入っていないコマンドのため、なければインストールします。

sudo yum install screen

気を取り直して…

sudo -u mailpile screen -dmS mailpile /usr/local/apps/mailpile/mp

どうでしょうか?ps aux | grep mailpileとすると、動いている事がわかるかと思います。
また、http://localhost:33411/ へアクセスできるかも確認しておきます。

/etc/init.d/におくような起動スクリプトは、デーモン化の最初に参考にしたページに詳しく書いてありますので、そういった需要のある方はそちらもご参照ください。

まとめ

Webからメールを見ることができるmailpileについて、導入してみました。
導入自体はかなり簡単でしたが、Cent OS 6に入れるとなるとpython 2.7をいれたりして、ちょっと面倒にはなりましたが特に問題なく入れられ、使えました。
ベータで複数ユーザにはまだ対応していないようですが、今回の目的は十分果たせました。
UIも綺麗ですし、いい感じではないでしょうか。ベータが取れるのがちょっと楽しみです。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5