Roundcube のプラグイン

WebメールのRoundcube をインストールしたものの、あまりにもシンプルで、おまけ機能がない。
Squirrel mail は不細工だが、多くのユーザがいて情報が多く、さまざまな機能がある。
Roundcubeは見た目がいい。そこでプラグインを加えてみようとした。
Roundcube にインストール時に始めから用意されているプラグインは
acl
additional_message_headers
archive
autologon
database_attachments
debug_logger
emoticons
enigma
example_addressbook
filesystem_attachments
help
hide_blockquote
http_authentication
jqueryui
managesieve
markasjunk
new_user_dialog
new_user_identity
newmail_notifier
password
redundant_attachments
show_additional_headers
squirrelmail_usercopy
subscriptions_option
userinfo
vcard_attachments
virtuser_file
virtuser_query
zipdownload
である。どれが何のサービスするのかわからん。
まず、メールのフィルタリングのプラグイン、managesiev だ。
http://trac.roundcube.net/wiki/Plugin_Repositoryによると、プラグインを有効化するためには;

A plugin is not used until you enable it by adding its directory name to the config option plugins, as an array element. This is done by editing your local config/main.inc.php file. Only plugins listed in the array will be enabled.
For example, to enable plugins named additional_message_headers and archive, config/main.inc.php should contain this line:
$rcmail_config[‘plugins’] = array(‘additional_message_headers’, ‘archive’);
To disable a plugin, just remove it from the list.

というわけで、
/library/server/web/data/sites/default/roundcubemail-0.9.2/config
の main.inc.php を書き換える。バックアップをmain.inc.php.20130820として保存しておく。
421行目あたりに

// ———————————-
// PLUGINS
// ———————————-
// List of active plugins (in plugins/ directory)
$rcmail_config[‘plugins’] = array();

というのがあるのでarray()の括弧内にシングルクオートでくくってプラグインの名前を記入する。複数あるときは , で区切る。
$rcmail_config[‘plugins’] = array(‘managesieve’); と’managesieveを加筆した。
でwebmail のページにアクセスしてログインして、設定を選ぶと
20130820sieve
フィルターが加わる。でフィルターをクリックしてフィルターを作成しようとすると、「サーバに接続できませんでした」とのエラーだ。
あちこち、ググってみたけどよくわからん。どうやら
/library/server/web/data/sites/default/roundcubemail-0.9.2/plugins/managesieve
にconfig.inc.phpを作らないとだめなようだ。 config.inc.php.dist があるから、これを元に作成する。

sh-3.2# cp config.inc.php.dist config.inc.php

ですね。でconfig.inc.phpを開いてみると17行目に
$rcmail_config[‘managesieve_auth_type’] = null;
とある。Roundmailそのものの設定のときAuthenticationをPLAIN にしたらよかったので null を PLAIN と書き換えて問題は解決。
あちこちのサイトでポートを2000にするとかしないとかが書いてあるが0.9.2ではポートの指定などしなくていいようだ。そりゃそうだろ。httpのメールなのに、そしてユーザのパソコンは普通firewallの中にあるわけで、firewallに穴をあけることができるのはネットの管理者だけで、管理者はRoundcubeのために穴なんか空けてくれないからな。
他のプラグインは?ということで、あちこちみていたら、Pulugin Manager というのが便利らしい。
plugin_managerの主な機能は;
1- ユーザーレベルでのプラグインのコントロール
2- データベースの整頓とユーザ・プライバシー確保
3- 単純化されたプラグインの分配
4- プラグインのアップデート
5- プラグインのRoundcube バージョン依存性情報
6- 一体化けした現地化とその分配
7- 現地語へ翻訳とトラッキング
8- プラグイン報告システム
9- リリース・ノートと最新のドキュメンテーション
そこで;
http://myroundcube.com/myroundcube-plugins/plugin-manager/plugin-manager-center
からplugin_manager をダウンロードする。解凍する。
/library/server/web/data/sites/default/roundcubemail-0.9.2/plugins
に入れ
sh-3.2# chown -R root:wheel settings
sh-3.2# chown -R root:wheel qtip
sh-3.2# chown -R root:wheel plugin_manager
sh-3.2# chown -R root:wheel http_request
sh-3.2# chown -R root:wheel db_version
sh-3.2# chown -R root:wheel codemirror_ui
とオーナーをrootにしておく(必要があるかどうか知らない)
/library/server/web/data/sites/default/roundcubemail-0.9.2/config
の main.inc.php を書き換える。バックアップをmain.inc.php.20130820として保存しておく。
// ———————————-
// PLUGINS
// ———————————-
// List of active plugins (in plugins/ directory)
$rcmail_config[‘plugins’] = array();
の部分を探す。421行目あたりですな。
$rcmail_config[‘plugins’] = array(‘plugin_manager’);
で、webmail のページにアクセスし、ログインして、右上の
20130820roundcubesettings
設定をクリックすると
20130820pulugin_manager
という表示がでてくる。指示にしたがって、
/library/server/web/data/sites/default/roundcubemail-0.9.2で

sh-3.2# vi adxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.myrc

というファイルを作成する。
作成されたのを確認して
20130820plugin_manafger_crypt
再び、webmail の設定ページ
20130820roundcubesettings_done
で  Done  をクリックする。
20130820pulugin_manager_pane
とManager Pluginsが出現する。
これだけだとよくわからんのでさらに
$rcmail_config[‘plugins’] = array(‘plugin_manager’,’settings’,’qtip’,’http_request’,’db_version’,’codemirror_ui’,’managesievel’);
と書き加えた。プラグインを検索してダウンロードしたりすることができるようだ。こっちのほうはテストしていない。動いているようだということを見ただけ。
それぞれのPlugin のconfigファイルを書き換える必要があるのだろうけど、まだこの時点ではやってない。
プラグインを有効化するのに、いちいちconfigファイルをエディタで書き換えるのは泥臭い。まだバージョンが1にもなっていないからだな。まだまだ完成していないんだ。Squirrel mail のほうがいいかも。しかしLion ServerのときはAppleはインストールしていたんだろ?なぜやめたんだろ?
プラグインのリストはRoundcube本家にある。plugin_manager はインストールしても一般ユーザが使えそうも無いのではずした。教えるのも面倒だからな。ほかのプラグインも魅力的なのがない。つかいこなしていって、必要と思われるのを順次加えることにする。