macOS向けにCouchDBの初期設定手順を説明するよ
これはなに
こんにちは、レバテック開発部のもりたです。
今回はMacOS向けにHomebrewを使ったCouchDBのインストール/初期設定手順について簡単にまとめます。簡単なんですけど、公式ドキュメントだと分かりにくい箇所があったり、インターネットに日本語記事がないのでね、まとめますね。
構成と前提
構成
- CouchDBとは
 - インストール手順
 
前提
- macOS Version: Sequoia 15.xでテスト済み
 - Homebrewがインストール済み
 - 管理者権限でのコマンド実行が可能
 
CouchDBとは
- 基本的な特徴
- IDのみ持っておりスキーマレス。好きなデータをどんどん入れられる
- MongoDBとかと同じ
 
 - 追記型ストレージモデルであり、データの破損がだいぶ少ない
 - CouchDB/PouchDBという組み合わせ
- ブラウザ上で動くPouchDBと組み合わせることで分散同期型データベースとして動かせる
 
 
 - IDのみ持っておりスキーマレス。好きなデータをどんどん入れられる
 - 小ネタ
- キャッチフレーズは「リラックス」。Webインターフェースが用意されておりそれがFauxton。これは元々futonという名前だったが、2016年にReact.jsで書き直された時に名前が変わったらしい。Fauxは偽物という意味
 
 
インストール手順
0. 概要
このガイドでは、macOSでApache CouchDBをHomebrewを使ってインストールし、Fauxtonでのverify機能まで正常に動作させる手順を説明します。
Homebrewがいいの?
Homebrewがいいの?
公式サイトからCouchDB.appをダウンロードするよりも、Homebrewでのインストールを推奨します。なんでかというと、公式サイトからのダウンロードでやったら、わたしの環境では立ち上がらなかったからです。
インストール手順
1. CouchDBのインストール
brew install couchdb
2. 管理者アカウントの設定
CouchDB 3.x系では、起動前に管理者アカウントの設定が必須です。
設定ファイルの編集
vim /usr/local/etc/local.ini
管理者アカウントの追加
ファイルに以下の内容を追加:
[admins]
admin = yourpassword
重要: 行頭にセミコロン(;)がある場合はコメントアウトなので削除してください。
3. CouchDBの起動
方法1: サービスとして起動(推奨)
brew services start couchdb
方法2: 手動起動(デバッグ用)
/usr/local/opt/couchdb/bin/couchdb
4. 動作確認
コマンドラインでの確認
curl http://localhost:5984/
正常な場合、以下のようなJSONが返されます:
{
  "couchdb": "Welcome",
  "version": "3.5.0",
  "git_sha": "...",
  "uuid": "...",
  "features": [...],
  "vendor": {
    "name": "The Apache Software Foundation"
  }
}
Fauxtonでの確認
ブラウザで以下のURLにアクセス:
http://localhost:5984/_utils/
5. Fauxtonでのログインと諸設定
ログイン
- Username: 
admin - Password: 設定ファイルで設定したパスワード
 
verify機能の実行
- Fauxtonにログイン後、サイドバーから「Verify」を選択
 - Verify instlationを押下
 - 全ての項目が正常に実行されれば成功
 
クラスターorシングルノードの選択
立ち上げたばかりの時点では_usersなどのシステムデータベースが作られていません。
- サイドバーのsetupより選択
- 今回はシングルノードを選択しました
 
 - データベース一覧で_usersデータベースが作成されていることを確認
 
自動タイムアウト時間を設定
Fauxtonは10分経過すると自動ログアウトする設定になっています。セキュリティ的に結構なことですが、そのせいで思わぬエラーに引っ掛かることもあるので、ConfigurationをいじってTimeout時間を伸ばします。
- 設定
Section: chttpd_authName: timeoutValue: 任意の秒数。(例: 3600)
 
設定後はCouchDBの再起動をしてください。
brew services restart couchdb
ここまで設定できていれば、初期設定としては完了です。
おわりに
以上です。
この設定が終わってから、Dockerでインストールすればよかったなーってちょっと後悔しました。Dockerでのやり方も調べたらまたまとめます。
その他、他の人は躓かないであろうしょーもな設定ミスやグダグダインストールの様子は以下のスクラップにまとめました。
参考文献
- CouchDB - 公式ドキュメント
 - 
ブラウザ内DBによるシングルページWebアプリの高性能化手法
- この書籍きっかけで書いています。ただしこの書籍にはCouch DB自体の情報はそんなに載ってません
 
 - 
7つのデータベース 7つの世界
- いろんなデータベースの世界を見せてくれる最高な書籍
 
 
Discussion