CouchDB 1.1.0でSSLを使う

CouchDB 1.1.0がリリースされてから3週ほど経ちますが、すでにネイティブ対応されたCouchDBのSSLの機能は利用されたでしょうか。簡単に利用できるので、CACertでサーバ証明書を発行する手順も含めて紹介します。単に備忘録にしていたWikiを稼働させていたWebサーバが、データ移行せずに震災後停止してしまったので、検索しようとしたらなくて困ったからメモっておくか、というのが本音です。 1

CouchDB 1.1.0は既にインストールしていることが前提です。Sidではすでに1.1.0になっています。

証明書の作成

まずはCSRを作成します。

$ openssl genrsa -des3 -rand /var/log/messages -out server.key 2048
$ openssl req -new -config /etc/ssl/openssl.cnf -key server.key -out server.csr

できたCSRを使い、CACertでサーバ証明書を作成します。

サーバ証明書→新規作成→フォームにCSRの文字列を貼り付け、送信→証明書(Cert)が表示されるので、これを/etc/couchdb/server.crtとして保存します。

次に、秘密鍵をPEM形式に変換します。

$ openssl rsa -in server.key -outform PEM -out server.key.pem

生成したPEM形式の秘密鍵を/etc/couchdb/server.key.pemとして保存します。

local.iniの編集

次にCouchDBの設定です。/etc/couchdb/local.iniを以下のように編集します。

(snip)
[daemons]
(snip)
httpsd = {couch_httpd, start_link, [https]} ;セミコロンのコメントを外す

[ssl]
cert_file = /etc/couchdb/server.crt     ;セミコロンのコメントを外し、server.crtのフルパスを記述する
key_file = /etc/couchdb/server.key.pem     ; セミコロンのコメントを外し、server.key.pemのフルパスを記述する

CouchDBを再起動すると、HTTPSをtcp/6984でLISTENするようになります。

証明書、秘密鍵の置き場所には注意。

server.crtやserver.key.pemはCouchDBのプロセスを実行するcouchdbユーザでアクセスできるディレクトリに置く必要があります。/etc/ssl/privateディレクトリのようにrootしかアクセスできないディレクトリに置くと、起動はできるのですが、アクセスしたタイミングで、下記のようなErlangのエラーログを吐いてしまいます。

[Thu, 23 Jun 2011 02:24:23 GMT] [error] [<0.330.0>] {error_report,<0.61.0>,
                                  {<0.330.0>,std_error,
                                   [83,83,76,58,32,"1093",58,32,"error",58,
                                    [123,
                                     ["error",44,
                                      [123,
                                       ["badmatch",44,
                                        [123,["error",44,"eacces"],125]],
                                       125]],
                                     125],
                                    32,"/etc/ssl/private/server.crt","\n",32,
                                    32,
                                    [91,
                                     [[123,
                                       ["ssl_certificate",44,
                                        "file_to_certificats",44,"1"],
(snip)

参考文献

http://wiki.apache.org/couchdb/How_to_enable_SSL

1

別に起動させりゃええんだけど。

第77回東京エリアDebian勉強会参加。

今回 は久々にオリンピックセンターでの開催でした。上川さんがXSLTの話を、私がSphinxとDoxygenの話をしました。「XSLTって懐かしい、なぜ今頃XSLTなんだ?」と思ったのですが、まだFirefox(Iceweasel)で使われていたりというのを聞いて、単に表から見えなくなっただけなのだなぁと。

SphinxとDoxygenはデモやるつもりで発表用資料はめっちゃ手抜き資料になったので、特に公開しませんが 事前配布資料 に一通りまとめてあります。SphinxからPDF生成するとこはブログでいくつか見かけたのですが、日本語表示するのに最低限必要な手順は実際やってみると若干違うなーという感じでした。rst2pdfだとsphinxcontrib-*diag使えない問題は何とかしなきゃなぁと。なお昨日の参加者で、Sphinx、Doxygenを使ったことがあったのは、Sphinxは私のみ、Doxygenは5名ほどという感じでした。実際のところ、Debian勉強会に参加している人は

https://twitter.com/#!/mkouhei/status/82109678955397120:

LaTeX &gt;&gt; Doxygen &gt;&gt;&gt;Sphinx な感じでLaTeXな人が圧倒的に多いDebian勉強会。less than a minute ago via HootSuite

のような状態が実態ではないかなと思います。

以下は、その他、宴会も含めてあったネタとか話の備忘録。

  • 窓際ならWiMAXも入る

  • オリンピックセンターでのDebConfの開催はかなりハードル高い 1

  • 利用者に学生多いね

  • 中尾さんによる放射線観測の仕組み

  • debパッケージングのクロスレビュー大会やろうぜ! 2

  • 勉強会会場の探索&recomendation engine

  • libvirtでlxcやるなら自分でHack。というかコンテナ系全滅

  • AndroidでGPGキー管理するツール APG

  • CouchDBってよく分からない、いいえ、CouchDBは変態です(キリッ

  • とりあえず来月はDebian JP Project運用鯖のハッカソンやるべ

  • 早くパッケージつ作れよゴラ

1

というか無理か

2

最初はslから。

電気を40Aから30Aに変更しました。

ご契約アンペアの変更 “から申し込んで、40Aから30Aに変更しました。来る前に連絡を希望しておいたので、10分ほど前に電話があり、脚立と作業道具持ったおっちゃんが、電気ドリルでガーガー5分ほど作業してあっさり終了。ブレーカーが40Aから30Aになっていることを確認して、基本料が890円になるよ、今月は日割だよ、ということを聞いて終わりました。

ところで作業報告書などにサインとかしないでいいんですかね?求められなかったけど。

こまめピンクから変更しました。

ここ数年のmy favorite colorがオレンジなので 1 、ブログのテーマもこまめピンク 2 からオレンジに変更しました。

1

持ち物が大体オレンジのが多い。

2

こまちゃんを飼う前からピンクでしたが。

WiMAXに変更しました。

昨年一年間は、b-mobile SIM U300を使っていたのですが、6月頭で有効期限が切れることもあり、いろいろ検討した結果、 ヨドバシカメラのWireless gate + WiMAXの年間パスポート に変更しました。端末は、 NECアクセステクニカのAterm WM3500R の赤 1

所感。

基地局へのアクセスさえできてしまえば、速度はまったく問題ないです。まぁ昨年が300kbpsだったので当たり前ですが。それよりも困るのはやはり基地局のカバー率の低さ。これはDocomoのMVNOのb-mobileと比べたら仕方ありません。今のところアクセス出来なくて不便だなぁと思うのは、

  • 最寄り駅~自宅への2kmほどの道程で数ヶ所。

  • 最寄り駅

  • 自宅マンションの中庭側

  • 京王線相模原線の途中数ヶ所

  • 京王線本線の数ヶ所 2

  • 京王線新宿駅ホーム

  • 新宿駅地下街

といった感じです。大江戸線新宿駅は後述のHotSpotが使えるので、今月は困りませんが。

逆に使えて驚いたのが、西新宿1丁目の交差点にある CafeMiyama 新宿南口駅前店 。地下にあるのでWireless Gateの出番かなぁと思っていたら、WiMAXがちゃんと使えます。

自宅での接続状況は、昨年2月のDebian温泉でWiMAXを借りたときは自宅ではまったく繋がらなかったのですが、現在はリビング側では繋がるようになってます。マンションの中庭側はまったくダメですが。WiMAXの基地局もauの基地局と一緒に今のマンションに設置されると良いんですけど、これはマンションの入居直後の総会でデベロッパー会社が勝手にDocomoとSoftbankの基地局をつけたことで問題になったので、多分無理でしょうねぇ。まぁ、実際のところ自宅ではWiMAX必要ないのですけど。

いろいろ検討した内容。

b-mobile SIM U300の継続利用

メールやTwitter、RSSリーダなどのテキスト情報や、出先でのGoogle Mapの利用や、テザリングでのgit (pull|push)なら問題なかったのですが、その他になるとかなりきつかったです。特にテザリングでGmailを見る場合でも簡易HTMLモードでもかなり遅かったので更新はないなぁと。

b-mobile Fair

NetCounter を使って3ヶ月計測してみたところ、Cellでの通信量は平均370MB/月だったので、大体80日くらいで1GBは使い切ってしまう計算です。月換算すると3340円なので、まぁあまり割がよいとは言えません。なんらかの理由でトラフィックが増えるともっと短くなります。ということで、これも選択肢にはなりませんでした。

120日の期限がなければ、U300を常用して、必要な時だけb-mobile Fairという使い方もできるんでしょうけどね。

日本通信 bモバイル・フェア 1GB SIMパッケージ 120日間

価格.comで調べたWiMAXプラン

実質月料金もさることながら、実際月払も低く、2年縛りがないプランとなると、 @nifty WiMAX Flat 年間パスポート Aterm WN3500Rプラン が結構良いなぁと思って、契約寸前までいったところで気がつきました。

「プロバイダ必要ねぇ」

我が家はマンションの管理費にマンションタイプの光接続のインターネット利用料も含まれている(約1700円/月)ので、プロバイダは必要ありません。この価格.comのプランってISPによるMVNOなので、プロバイダ利用が前提な上、プロバイダ料金は別途必要なので、実質的にはUQ WiMAXの年間パスポートと同じ月額費用が必要なわけです。使わないISPのサービスの費用を取られるのは違うよなぁ、ということと公衆無線LANスポットの利用はできない、というのを聞いて選択しませんでした。

で、ヨドバシカメラのWireless Gate + WiMAXプラン

契約手数料が必要なものの、Wireless Gateの380円プランと同等の公衆無線LANスポットが利用できる、Aterm WN3500Rが1円、ということでこれを結局選択しました。地下だとまぁほぼWiMAXが使えないのと、ビルでも中の方だとほぼ使えないので、これは割と良い感じです。本音を言うと、月+100円払ってでも良いのでmobile pointじゃなくて、HotSpotの方がいいですね。 3

まとめ。

まとめる必要はないのですが、 昨年の今頃書いたブログでは月額3,204円 相当と書いたので、この1年のコストを計算すると、

  • auの携帯電話料金 967円

  • Wireless Gate + WiMAX 3,800円

  • 事務手数料 2,835円

  • Wireless Gate HotSpot+ 480円(6月のみ)

なので、事務手数料を12分割すると6月中は5,483円、7月以降は5,003円ですね。ヨメのIS03の定額プランより安い&PCで利用できるので妥当と言えるでしょう。

1

オレンジがあれば良かったんだけどねー。

2

千歳烏山周辺は特に繋がりにくい。まぁこの辺は他のキャリアでも同じですが

3

ちなみに6月中は、5月末に成田空港で利用したいがためだけにHotSpot+プランを契約したので、都営地下鉄の駅ならHotSpotでアクセスできます。