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 はインストールしても一般ユーザが使えそうも無いのではずした。教えるのも面倒だからな。ほかのプラグインも魅力的なのがない。つかいこなしていって、必要と思われるのを順次加えることにする。