FreeBSDに[Roundcube](http://roundcube.net/)を再インストールしたのでメモ。



RoundcubeとはIMAPサーバへのwebインタフェース。まあ、Gmailへのインタフェースと思えば。



いわゆるLAMPサーバ上で動くが、FreeBSD, Apache, SQLite, PHP5の組み合わせでだって動く。






インストール



apache, php5がインストールされている前提。



roundcubeインストール。packagesの出来合い設定だと都合が悪いのでportsでインストールする。



わざわざMySQL, PostgreSQLなんて重いDBを使いたくないのでチェックマークを外し、SQLiteにチェックする。



さらにSSLにもチェックし、make install cleanする。
$ cd /usr/ports/mail/roundcube
# make config
<オプションを選択>
# make install clean
sqliteもインストールする。



sqlite2じゃないとダメなので注意。ただ、こちらはデフォルト設定でよいのでpackagesでインストール。portsとpackagesの使い分けこそFreeBSDのキモ。



なお、sqlite3とは競合しないので問題無し。(sqlite3はsqlite3、sqlite2はsqliteとしてインストールされる)
# pkg_add -r sqlite2
Fetching ftp://ftp1.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/sqlite2.tbz... Done.
apacheの設定



roundcubeは/usr/local/www/roundcubeにインストールされるので、apacheの公開ディレクトリにaliasを作る。



apache設定ファイル/usr/local/etc/apache22/httpd.confに以下の記載を追加。
Alias /roundcube /usr/local/www/roundcube
<Directory /usr/local/www/roundcube>
AllowOverride None
Order allow,deny
Allow from all
</Directory>
apacheの再起動を忘れないこと。下記のrcrestartコマンドは便利な管理ツール。
# rcrestart apache22
Performing sanity check on apache22 configuration:
Syntax OK
Stopping apache22.
Waiting for PIDS: 23644.
Syntax OK
Starting apache22.
roundcubeの設定



最低限、データベース設定ファイルである/usr/local/www/roundcube/config/db.inc.phpを修正すればOK。



ここでデータベースのタイプ(sqliteか、mysqlか)と、データベースへの接続方法を指定する。



sqliteにするので、mysql指定になっている行をコメントアウトして、例に沿って一行追加。



sqliteなのでデータベースのファイルを指定する。念のためroundcubeディレクトリとは別の場所にした。



◎/usr/local/www/roundcube/config/db.inc.php
//$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
$rcmail_config['db_dsnw'] = 'sqlite:////usr/local/www/maildb/mail.db?mode=0646';
// postgres example: 'pgsql://roundcube:pass@localhost/roundcubemail';
// Warning: for SQLite use absolute path in DSN:
// sqlite example: 'sqlite:////full/path/to/sqlite.db?mode=0646';
データベースファイルの作成



上記で指定した場所にファイルを作り、データベースの初期設定をする。



sqliteからは「.quit」で抜ける。オーナを変更する。



なお、マニュアルにはchmod o+wするように書いてあるが、web serverが読み書きできれば良いので省略。
# mkdir /usr/local/www/maildb/
# cd /usr/local/www/maildb
# sqlite -init ../roundcube/SQL/sqlite.initial.sql mail.db
Loading resources from ../roundcube/SQL/sqlite.initial.sql
SQLite version 2.8.17
Enter ".help" for instructions
sqlite> .quit
# chown -R www:www ../maildb
アクセス



あとはブラウザでhttp://webサーバ/roundcube/へアクセス。



ユーザ、パスワード、IMAPサーバを入力すればOK。



Gmailの場合は、「ssl://imap.gmail.com:993」と指定すれば良い。






Gmail用設定



Gmailにしか繋がない、という場合には、roundcubeの設定ファイルを修正しておけば、サーバ名の入力を省略できる。…ただ、サーバ名入力フォーム自体が無くなるので注意。
# vi /usr/local/www/roundcube/config/main.inc.php
//$rcmail_config['default_host'] = '';
$rcmail_config['default_host'] = 'ssl://imap.gmail.com:993';