FreeBSD へのインストール

FreeBSD 6.x および 7.x への CouchDB のインストール

ports からのインストール

cd /usr/ports/databases/couchdb
make install clean

これで ports コレクションから CouchDB 0.9.0 がインストールされます。

インストール後にすること

couchdb ユーザーを作成する必要があります。

私は pw コマンドを使ってグループ "couchdb" にユーザー "couchdb" を追加しました。

shell# pw user add couchdb
shell# pw user mod couchdb -c 'CouchDB, time to relax' -s /usr/sbin/nologin -d /var/lib/couchdb
shell# pw group add couchdb

作成したユーザーが /etc/passwd に追加され、次のようなエントリができているはずです。

shell# cat /etc/passwd |grep couchdb
couchdb:*:1013:1013:Couchdb, time to relax:/var/lib/couchdb/:/usr/sbin/nologin

エントリの内容を変更するには、/etc/passwd を直接編集するのではなく、pw user mod ... または vipw を使用してください。couchdb ユーザーにはシェルを設定せず、必ず /usr/sbin/nologin を指定してください。2番目のフィールドの '*' は、ユーザーがパスワード認証でログインできないことを示しています。詳細については、man 5 passwd で確認してください。

起動スクリプト

FreeBSD では次のようにして CouchDB を起動します。

shell# /usr/local/etc/rc.d/couchdb

このスクリプトには、start、stop、status、rcvar などのオプションがあります。

現在、port には起動スクリプトは含まれていませんが、メンテナが進めている作業の現時点での成果は [WWW] github からダウンロードできます。

この起動スクリプトでは現在、/etc/rc.conf または /etc/rc.conf.local で以下のオプションを指定できます。

couchdb_enable="NO"
couchdb_enablelogs="YES"
couchdb_user="couchdb"

(規定値を掲載。)

起動スクリプトでは、以下の設定ファイルの設定も読み込みます。

/usr/local/etc/couchdb/default.ini
/usr/local/etc/couchdb/local.ini

ログファイルは次のように設定されています。

/var/log/couchdb/couch.log

そのため私は、次のようにしました。

shell# chown couchdb:couchdb /var/log/couchdb

このコマンドで、couchdb のプロセスがログファイルのあるディレクトリのオーナーになり、このディレクトリにある couch.log ファイルにログを書き込むことができるようになります。その他のディレクトリのオーナー設定は、"root:wheel" または "root:network" です。私は場所が "/usr/local/var.." になると思っていたのですが…。

次のようにして CouchDB を起動します。

shell# /usr/local/etc/rc.d/couchdb start

これで "[WWW] http://localhost:5984" にアクセスできるようになり、次のような JSON ドキュメントが表示されるはずです。

{"couchdb":"Welcome","version":"0.9.0"}

次に、"[WWW] http://localhost:5984/_utils/" にアクセスすれば、Web インタフェースの "Futon" が表示されます。

私はここで "db1" というデータベースを作成しようとしたのですが、エラーになりました。この問題は次のようにすることで解決しました。

shell# chown couchdb:couchdb /var/lib/couchdb

これで Futon から OK が返ってきて、データファイル "/var/lib/couchdb/db1.couch" が作成されていました。

ソースからのインストール

git clone git://github.com/halorgium/couchdb.git で取得したソースからビルドすると、"Syntax error: end of file unexpected" というエラーが発生することがあります。ソースからビルドするときは、make ではなく gmake を使う必要があります。

現時点での TODO

わからないことがあったら

github リポジトリからチェックアウトするか、または TillKlampaeckel 宛にメールしてください。

last edited 2009-05-23 21:51:11 by Vlad GURDIGA