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';