投稿日 2008年5月7日 水曜日 カテゴリ tiddlywiki, couchdb 投稿者 sugimotoコメント(0) » 

TiddlyWiki」はjavascriptをベースにしたWiki形式のパーソナルメモツールです。

よくあるサーバアプリケーション型のWikiツールに比べると、動作が軽快で(文書数が多くなると検索が遅くなりますが。)使いやすいため、メモ帳のようにして使っていました。

サーバアプリケーションとして実装するためのクローンやプラグインも公開されていますが、CouchDBをバックエンドにするアダプターを作ったので公開します。

CouchDBは以前の記事で書きましたが、Erlangで書かれた分散データベースです。 RESTfulなAPIを持つため、クライアントサイドのjavascriptから直接データベースへのCRUDができます。

jQueryとCouchDB用のAdaptertとなる、jqCouchを使っています。

(右リックして保存してください。)

使い方

1. CouchDBの設定

CouchDBのインストールと設定はCouchDBのWikiページを参考にしてください。
CouchDBにデータベースを作成します。データベースのURLは http://yourserver/dbname となるようにWebサーバを設定してください。

2. TiddlyWikiの設定

WebサーバのドキュメントルートにTiddlyWikiをおきます。
http://servername/tiddlywiki.html でアクセス可能なように、htmlファイルの名前を変更しておきましょう。
(ファイル名は好きな名前にしてください。)

3. ライブラリのダウンロード

twcouch.jsで必要なライブラリは次の2つです。

どちらもjQueryのページからダウンロードできます。

4. twcouch.jsの設定

ダウンロードしたtwcouch.jsの設定を変更します。

[twcouch.js]
config.macros.couchdb = {
    servertype: 'couchdb',
    hostname: 'servername',  <= サーバ名に変更
    dbname: 'database'          <= データベース名に変更
}

5. twcouch.jsのロード

これまでの設定で、ファイルは次のようにおいてあります。

 DocumentRoot
  +-- tiddlywiki.html
  +-- twcouch.js
  +-- jquery.js
  +-- jqcouch.js

twcouchjsが正しくロードされるようにTiddlyWikiを書き換えます。
POST-SCRIPT の設定に追加します。

[tiddlywiki.html]
<!--POST-SCRIPT-START-->
<script type="text/javascript" src=jquery.js"></script>   <= 追加
<script type="text/javascript" src=jqcouch.js"></script>   <= 追加
<script type="text/javascript" src=twcouch.js"></script>   <= 追加
<!--POST-SCRIPT-END-->

6. 確認

http://servername/tiddlywiki.html でTiddlyWikiが使えることを確認します。

参考

投稿日 2008年3月4日 火曜日 カテゴリ couchdb, lighttpd 投稿者 sugimotoコメント(0) » 

はじめまして、sugimotoです。

このBlogの初めての記事になります。 何を書こうか迷ったのですが、今回は最近使っているCouchDBをlighttpdをproxy serverとして設定したときの手順のメモを書きます。 Apache をproxyにした場合の設定はCouchDBのインストール方法にあります。

自分の環境はDebianだったので、Debianでの設定となります。

1. lighttpdのインストール

インストールチュートリアルにある通り、yum, apt-getのようなパッケージマネージャでインストールできます。

日本語のチュートリアルも検索するとたくさんあり、参考になります。

インストールが終わったら、http://localhost/ でlighttpdのトップページが見えるか確認します。

2. CouchDBのインストール

こちらも、チュートリアルにあるとおり apt-get できます。 インストールすると、全てのファイルが /usr/local/ 以下にできてしまうので、log を /var/log/ に移したいときは設定を変更します。

CouchDB用のlog directoryを作成

> sudo mkdir /var/log/couchdb
> chown couchdb /var/log/couchdb

couch_httpd.conf を変更

ErrorLog /var/log/couchdb/http_error.log  # 作成したdirectoryに変更
TransferLog /var/log/couchdb/http_access.log # 作成したdirectoryに変更

couch.ini を変更

LogFile=/var/log/couchdb/couch.log    ; 作成したdirectoryに変更

CouchDBがインストールできたら、トップページ画面 http://localhost:5984/ にアクセスしてインストールを確認します。

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

とJSON形式のwelcomeメッセージとversionが表示されました。

3. データベースの作成

今回設定するデータベースを作成します。

ToDoリストを作ろうと思ったので、管理画面 http://localhost:5984/_utils/ から todo というデータベースを作りました。

4. lighttpd.conf の設定

http://localhost/todo/ でCouchDBにアクセスするため、lighttpd.conf でproxyの設定をします。 xxx.xxx.xxx.xxx はサーバのIPアドレスです

$HTTP["url"] =~ "^/todo/" {
    proxy.server = ( "" => (( 
        "host" => "xxx.xxx.xxx.xxx", 
        "port" => 5984 )))
}

5. 確認

最後に http://localhost/todo/ を表示して、設定の確認。

{"db_name": "todo", "doc_count":0, "update_seq":0}

こちらもJSON形式でデータが表示されました。

参考リンク: