FireFoxのブックマークやパスワード、設定などをPC間で同期するWeave Syncというアドオンの正式版がリリースされました[impress]。
σ(^^)のように何台ものPCを使い分けている人間にとってはとても便利そうなツールなので早速導入。ただWebサイトの認証情報まで外部サイトに預けるのはちょっと抵抗が。万全の体制で管理されているであろう公式サイトと、半端な知識で運用している自サイトのどっちが安全化は議論が別れるところですが、まぁ技術的関心もあってとりあえず自前サーバーを立ててみることにしました。
ざっとググった感じ最新の1.0プロトコルに対応したサーバーに関して日本語解説がなかったようなので、簡単にまとめてみます。まぁ、配布に含まれるREADMEのまんまなんですが。以下、既にSSLでコンテンツが公開できるApacheが設定済みという前提です。
個人運用向けに機能を絞ってリリースされているWeave Minimal Serverというバージョンを利用します。本家サーバーはMySQLを使って結構面倒なんですが、こっちはsqliteを使ってるし、DB構築もほぼ自動でやってくれるので導入が遙かに簡単です。Minimal Serverの正式な配布サイトは不明ですが、とりあえず作ってる人のこちらのブログ記事で「here」というリンクを叩けばtar玉が落ちてきます。
・インストール
解凍したファイルを適当な場所に配置します。ここでは /var/www/weaveserver/と仮定します。
次にApacheの適切な場所にssl.conf等に下記の赤字の行を追加します。
<VirtualHost _default_:443>
Alias /weaveserver /var/www/weaveserver/index.php
</VirtualHost>
これで、https://ホスト名/weaveserverを叩くと、インストールフォルダのindex.phpを挿すようになります。SSL.confにだけ書くので、暗号化無しのhttp://ではつながらないので安全です。
またインストールフォルダ内にsqliteがDBを作成するのでApacheユーザが書き込める権限が必要になると思います。
・JSONライブラリの追加
ウチの環境(CentOS 5.4、PHP 5.1.x)ではPHPのJSONライブラリの追加導入が必要でした。PHP 5.2以降だといらないみたいです。
# pecl install json
でインストールしてから、/etc/php.d/json.iniを作成し、
extension=json.so
と記入し、Apacheを再起動しておきます。
その他、sqlite3などを利用するので環境によっては追加インストールが必要になるかも知れません。
・ユーザDB作成とユーザ登録
以上の準備が整ったらブラウザから、
https://ホスト名/weaveserver/1.0/blah/info/collection
にアクセスします。BASIC認証ダイアログが出るので、IDにblah、パスワードはデタラメでいいのでOKを押します。認証は失敗しますが、これでインストールフォルダの中にweave_dbというファイルが作成されているはずです。
最後にインストールフォルダ内のcreate_userスクリプトを(シェルから)実行します。
# php create_user
作成はcを入力し、ユーザ名とパスワードを設定(rootじゃなくてもDBに書き込み権があれば一般ユーザでもいいかも)。
FireFoxのWeave Syncアドイン上でのカスタムサーバーURLには、
https://ホスト名/weaveserver/
を指定します。
ウチでは以上で動きました。