オープンソースのメールアーカイバソフトである、mailarchiva が日本語化されて、かつ本文のアーカイブもできるようになったらしいので(これはどうやら Postfix のバージョンが問題だったっぽいけど)、4月に某高校のメール実習用に作ったシステム(mailarchiva 組み込み済) を、新バージョンに入れ替えた記録として残してみる。
CentOS 5.3 だと、yum でインストールできる Postfix は 2.3 系なので、これを使うと本文のアーカイブができない(ヘッダはアーカイブできるが、本文が空白になる)。2.3 系のまま別の方法でアーカイブも可能みたいだけど、シンプルに 2.4 系にバージョンアップした。
自分でソースからコンパイルしても良かったのだが、CentOS のルールに合わせてコンフィグして make するのが面倒というかよく知らないので(Slackware 畑な人なので・・・)、他の人が作成されている rpm を利用することにして検索し、いくつか見つかった中から下記のファイルを利用した。
http://cmf.ohtanz.com/download/centos5.2/postfix/2.4.9/postfix-2.4.9-1.0.i386.rpm
ダウンロードして、
/etc/rc.d/init.d/postfix stop
rpm -Uvh postfix-2.4.9-1.0.i386.rpm
で完了。問題なくメールの配信が行えるところまで確認した。
ちなみに自分の場合はバージョンアップなのですでに設定済みだけど、新規に mailarchiva をインストールする場合は、Postfix の main.cf に
milter_default_action = tempfail
smtpd_milters = inet:127.0.0.1:8092
という記述を追記する。この milter の機能が不足するせいで、2.3 系列の Postfix では本文がアーカイブされないらしい。
以前導入したバージョンは 1.9.5 で、最新版は 1.9.13 に上がっていたので、日本語パッケージとの整合性も考えて先にアップデートすることにした。
下記サイトより、新バージョンの本体をダウンロードしておく。ついでに日本語パッケージやマニュアルもダウンロード。
その後、以下のコマンドで mailarchiva を止めた後、
/etc/rc.d/init.d/mailarchiva stop
以下のようにしてインストール。
tar xvzf mailarchiva_server_opensource_linux_v1_9_13.tar.gz
cd mailarchiva_dist
su –
./install.sh
インストール時にはプロファイルの入力を求められるけど、空白で進めてOK。またメモリが少ない環境では、mailarchiva にどれだけメモリを割り当てるかと聞かれるが(mailarchiva の最低利用メモリが256MBで、今回のサーバーは256MBしかメモリを積んでいなかったので聞かれたと思われる)、とりあえず自分の場合は最大値として表示されていた 256mb を指定した。それでもテスト時には問題なく動いたので、よほど負荷がかからない限りは大丈夫・・・だと思う。
こちらは日本語ドキュメントがあるので、それに従ってファイルの削除やコピーを行えばOK。特に書くようなこともなし。
それが終わったら、mailarchiva を立ちあげる。
/etc/rc.d/init.d/mailarchiva start
mailarchiva のWeb管理画面へアクセスして、設定の確認を行う。
mailarchiva まで入れないと、エラーが出てアクセスできないので注意。ログインID は admin 、パスワードは root のパスワードでログインできる。
日本語本文をインデキシングするため、[ 設定 ] から [ 一般 ] タブを開き、[ インデックス設定 ] のドロップダウンボックスで「日本語」を選んで設定を保存する。
自分の場合はバージョンアップのため、以上を確認しただけで終わったが、新規インストールの時には、付属ドキュメントと下記ブログの内容を参考に設定を行った。
http://opensource2008.blog36.fc2.com/blog-entry-64.html#more
テストメールを何度か行ってみたが、全てのメールヘッダ・本文がきちんとアーカイブされていた。Subject 検索がうまくいかなかったりしたが(本文検索は未テスト)、詳しく検証していないので、こちらの環境の問題かどうかは不明。
実際のところ、メールの実習のためのサーバーなので、メールアーカイブは本来必須でもなかったわけだけど(外部にはメール送信できないし)、万一いじめや嫌がらせに使われてもまずいので、抑止力としてメールを全部保存しているというだけでも(検索ができなくても) いいという感じだったため、そのまま納品。ボランティアなのでOKだったけど、金取ってする仕事なら失格だよなあ(特に検証不足という点で)。
しかし、Webmin でユーザー一括登録・削除やサーバーのコントロールをできるようにして、Usermin でユーザーのパスワード変更のみ行えるように設定し、Roundcube で Web メール環境を整え、mailarchiva でそのメールのアーカイブまでできるって環境を、1日?2日で簡単に、しかも無料で作れるようになった今の世の中は素晴らしいなあと思わずにはいられない。
当初、先生に聞いた話だと、Exchange Server を入れようかと考えていたらしいんだけど(それだと学校のシステムとのアカウント連携が可能)、その場合のコストはソフトウェアだけで100万オーバー。サーバーもそれなりのスペックを求めるとそう安いものでもないけれど、Linux なら古いPCを利用できるので(今回のマシンは、人からもらって放置してた古いソーテックのPC)、今回、学校としてはコストゼロで実習環境が整ったことになる。
学校にもよるとは思うけれど、結構お金をかけていろいろな機材やソフトウェアを購入したり、業者に委託してシステム構築をしたりしているけれど(だいたいどこも Windows ベース)、工夫次第でそのコストは大幅に減らせるので、もっとオープンソースのシステムに目を向けて欲しいなあと思ったりした午後。
とはいえ、県とか上が Windows ありきでシステム構築してるから、連携とか考えると難しいのは分かるんだけどね・・・。今回のメール実習システムも、アカウント連携はできてないし。Active Directory 連携ができれば可能だったかもしれないけど、さすがに管理権限のないシステムの調査もできないし、時間と余裕もなかったし・・・。
ま、結果的には喜んでいただけたので何よりでしたけどね。あとはサーバースペックの低さによる問題が出ないことを祈るのみ・・・。さすがに高負荷テストまでは実施できなかったからなあ・・・。
メールアーカイブシステムMailArchiva/オープンソースメールアーカイブのことならディアイピィ
http://www.d-ip.jp/contents/business45.html
ビジネスオープンソース研究室