序章

ApacheのCouchDBは、「Webを完全に包含するデータベース」です。 これは、MySQLのようなリレーショナルデータベースの厳密な構造に代わるものを提供するNoSQLデータベースのファミリーの1つです。

この記事の執筆時点で、CouchDBの現在のリリースは1.3.1です。 この最新バージョンを入手するには、ソースからインストールする必要があります(心配しないでください。思ったほど怖くないです!)。

準備

まず、VPSをCouchDBの新規インストールに備えて準備する必要があります。 これは、CouchDBが簡単にコンパイルおよびインストールできるようにするいくつかのツールと依存関係をインストールすることを意味します。

Ubuntuのパッケージマネージャーを更新することから始めます。

$ apt-get update

次に、Couchをコンパイルするために必要なツールをインストールします。

$ apt-get install -y build-essential

次に、erlangといくつかの関連する依存関係をインストールします。

$ apt-get install -y erlang-base erlang-dev erlang-nox erlang-eunit

最後に、CouchDBに必要ないくつかのライブラリをインストールします。

$ apt-get install -y libmozjs185-dev libicu-dev libcurl4-gnutls-dev libtool

ソースの取得

すべての依存関係が満たされたら、ソースのコピーをダウンロードして準備しましょう。

ソースが存在するディレクトリに移動します。

$ cd /usr/local/src

ソースを取得します。

$ curl -O http://apache.mirrors.tds.net/couchdb/source/1.3.1/apache-couchdb-1.3.1.tar.gz

ファイルをアーカイブ解除します。

$ tar xvzf apache-couchdb-1.3.1.tar.gz

新しいディレクトリに移動します。

$ cd apache-couchdb-1.3.1.tar.gz

コンパイルしてインストールする

あとは、コンパイルして新しいCouchDBサーバーにインストールするだけです。 ソースコードを設定し、ビルドしてインストールします。

$ ./configure
$ make && make install

それでおしまい! これで、新しいCouchDBサーバーがインストールされ、実行できるようになりました。 ただし、起動する前に、クリーンアップと適切な構成を行ってみましょう。

仕上げ

Ubuntuでは、CouchDBはユーザーcouchdbとして実行するのが好きなので、作成しましょう。

$ adduser --disabled-login --disabled-password --no-create-home couched

実名や部屋番号などのプロンプトがいくつか表示されます。 これらを空白のままにして、Enterキーを押すか、必要に応じて値を挿入できます。

次に、新しいユーザーにCouchDBのファイルにアクセスするための適切なアクセス許可を与える必要があります。

$ chown -R couchdb:couchdb /usr/local/var/log/couchdb /usr/local/var/lib/couchdb /usr/local/var/run/couchdb

CouchDBをサービスとしてインストールし、起動時に開始できるようにします。

$ ln -s /usr/local/etc/init.d/couchdb  /etc/init.d
$ update-rc.d couchdb defaults

最後に、CouchDBを起動してリラックスしてください!

$ service couchdb start

実行されていることを確認するには、ポート5984で接続します。

$ curl localhost:5984

次のような応答が表示されます。

$ curl localhost:5984 {"couchdb":"Welcome","uuid":"d79a7c37116364fcc76bcb91901f48c6","version":"1.3.1","vendor":{"name":"The Apache Software Foundation","version":"1.3.1"}}

構成

デフォルトでは、CouchDBはVPS自体からのみアクセスできます。 これはあなたが望むものかもしれませんが、そうではないと仮定しましょう。 Webからのアクセスを許可するために、構成ファイルを変更しましょう。 まず、安全に保管するためのバックアップを作成します。

$ cp /usr/local/etc/couchdb/default.ini /usr/local/etc/couchdb/default.ini.bak

次に、エディタでファイルを開きます。

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

bind_addressという設定を探し、0.0.0.0に変更します。これにより、CouchDBが使用可能なすべてのアドレスにバインドされます(現時点では、指定する方法はありません)。

 [httpd] port = 5984 bind_address = 0.0.0.0

CouchDBを別のポートで実行する場合は、その設定を今すぐ変更することもできます。 変更が完了したら、ファイルを保存してCouchを再起動します。

$ service couchdb restart

CouchDBは、組み込みのWebインターフェイスであるFutonを含むWebからアクセスできるようになりました。 布団にアクセスするには、ブラウザでhttp://your.drop.ip.here:5984/_utilsにアクセスして、リラックスする準備をしてください。

:ローカルコンピューターからCouchDBサーバーにアクセスしたいが、’公開したくない場合は、OSXまたはLinuxマシンでこのsshトンネルを使用してください。

$ ssh -L 5984:localhost:5984 your.drop.ip.here

これで、http:// localhost:5984/_utilsのブラウザでサーバーにアクセスできます。