POP over SSL 化

最近知ったのだけど、.Mac のメール、POP over SSL が使えるらしい。ということで、TeraStation で動いている POPFileSSL 対応にしてみた(といっても必要なモジュールをインストールするだけなのだけど)。

  • OpenSSL のインストール

Net::SSLeay と IO::Socket:SSL を入れたらいいだけ、と軽く考えていたのだが、Net::SSLeay のインストールでいきなりつまずく(実はそれ以前に root になる方法を忘れていて思い出すのに苦労したのだった。あまり安定しすぎているのも問題かもしれない(汗))。

Checking for OpenSSL-0.9.6j or 0.9.7b or newer...
I could not find your OpenSSL in `'
Please provide OpenSSL-0.9.6j or
OpenSSL-0.9.7b installation directory (get from
http://www.openssl.org/ if you don't have it; please note that
SSLeay is no longer supported, see README) (C-c to abort):

というメッセージが出て先へ進めない。なにやら OpenSSL が入ってない、ということのようだ。が、ちょっと調べてみるとそれらしいライブラリ(libssl.so とか libcrypto.so)は入っている。何がまずいのかと、Net::SSLeay の Makefile.PL を覗いてみると openssl コマンドでバージョンを調べていることを発見。openssl は……確かに入ってなさそうだ。
仕方がないので、例によってここらあたりから rpm(openssl と openssl-devel)を入手。インストールされている OpenSSL は 0.9.7b らしいのでバージョンが違うのがちょっと気になるが、まあ何か起こったらそのときはそのときで(汗)。どうせコマンド自体はバージョンチェックで使用するだけだからそれほど問題はないだろうと判断。
rpm はいつも通り /mnt/array1/share へ展開し、必要なもの(今回は openssl コマンド)は /usr/bin にシンボリックリンクを作成。あと、/usr/include/openssl がないみたいだったので、これは丸ごとコピーした。それから、openssl を実行すると libssl.so.4 やら libcrypto.so.4 やらがないと怒られるので、最初からインストールされていた libssl.so.0.9.7 と libcrypt.so.0.9.7 のシンボリックリンクをそれぞれ作成しておいた。
openssl で

OpenSSL>

というプロンプトがあらわれることを確認したらインストール完了だ(ちなみに openssl version では、「OpenSSL 0.9.7b 10 Apr 2003」というバージョンが返ってくる。これを見る限りでは、コマンド自体はライブラリとやり取りしているだけでバージョンの不整合は問題にならないのかもしれない)。

  • Net::SSLeay 1.30 のインストール

ここまでくれば Net::SSLeay がインストールできるはず。……と思ったら、perl58 Makefile.PL で

*** Could not figure out which C compiler was used to compile /usr/bin/openssl. It is essentiall that OpenSSL, perl, and Net::SSLeay are compiled with the same compiler and flags. Mixing and matching compilers is not supported. at Makefile.PL line 140.

というエラー(警告?)が発生。OpenSSL と Perl、Net::SSLeay は同じコンパイラ、フラグでコンパイルしろ、ということらしい。essential っていうくらいだからやっぱりそうしないとまずいのかなと思いつつ、一応 Makefile はできたことだし、何かあればそのときはそのときということで先へ進む。
警告やエラーにおびえつつ make、sudo make install でコンパイル、インストール。ここまで何の問題もなし。

  • IO::Socket::SSL 1.04 のインストール

IO::Socket::SSLコンパイル不要(pm ファイルのみ)なので何も問題は起こらないはず。perl58 Makefile.PL、make、sudo make install であっさりとインストール完了だ。

  • POP over SSL の使用

SSL 関係のモジュールをインストールしたあと POPFile を再起動しないといけないかなとも思ったが、安定稼働記録をのばし続けているところなのでそのままで試してみた。SSL を使うには、「:ssl」をアカウント名の末尾に追加するだけだ。
何かエラーでも出るかなと思ったらここも何事もなく成功。最初のつまずきはなんだったのだろうと思うくらいあっさり。運用していったらそのうち何か起こるかもしれないが、またそのときが来たら。