Firefox Syncを自宅サーバで

Firefoxのブックマークなどを別のPCに持って行こうと思って調べてたら、
オンライン上のサーバを使って同期させるアドオンFirefox Syncがあった。
しかも、この機能、Firefox 4からは標準になるとのこと。

そのデータはMozillaが用意しているサーバに保存されるので、
インターネットにつながってれば、いつでも利用可能。
そもそもWebブラウザを使う状況ってのは、
インターネットにつながっているわけだから、問題ない。

さらに調べてると、Mozillaのサーバではなく、
自前で用意したサーバでも大丈夫らしい。

というわけで、早速自宅サーバ(Debian / lenny)をFirefox Syncサーバに仕立て上げた。

大筋は、こちらを参考にさせたもらった。

Debian で自前 Firefox Sync サーバーを立てる
http://nobsplace.cocolog-nifty.com/hamuranokaze/2010/10/debian-firefox-.html

ただ、状況が変わったのか、
上記の説明通りではうまくいかない部分があったので、ここにまとめておく。

なお、基本、rootでの作業。

必要パッケージのインストール

# sudo apt-get install php5 php5-common php5-cli php5-sqlite sqlite

※元記事サイトではパッケージ名にミススペルがあるので注意。

Firefox Syncサーバの入手

Firefox Syncサーバである、Weave Minimal Serverをダウンロードする。
説明は、下記サイト。

https://tobyelliott.wordpress.com/2009/09/11/weave-minimal-server/

なお、インストールするディレクトリは、手元のサーバに合わせて
/var/www-ssl とする。

# cd /var/www-ssl
# wget http://people.mozilla.org/~telliott/weave_minimal.tgz
# tara zxvvf weve_minimal.tgz
# chown -R www-data:www-data weave_minimal

Apache 2の設定

/etc/apache2/sites-available に適当な名前でファイル
(ここでは、00_myserver)を作り、以下を記述。

Alias /weave "/var/www-ssl/weave_minimal/index.php"

Apache 2を再起動

# /etc/init.d/apache2 restart

データベース weave_dbを作成

Webブラウザで以下にアクセスする。

https://(自サーバのFQDN)/weave/1.0/blah/info/collections

※最後にsが付くこと(collectionではなくcollections)に注意。

で、ここからがポイント。
ここでパスワードを求められるが、参考サイトではキャセルするように書かれている。
しかし、これではいくらやってもweave_dbができない。
何か足りないのかと相当悩んだ結果、
weave_minimal/READMEに以下の記述を発見。

Enter "blah" for the username and garbage for the pwd.

要するに、ユーザ名としてblahを入れろと。
パスワードは何でもOK。
認証は失敗するが、それは予定通り。

これで、weave_dbができあがる。

データベースにアカウントを作る

# php5 create_user

ダイアログに従って、ユーザ名とパスワードを決める。

サーバ側の設定は以上。

Firefox Syncの設定

FirefoxにFirefox Syncアドオンをインストールし、再立ち上げする。

Firefox Syncの設定画面を出す。

下の「Firefox Syncアカウントを持っています」を選択する。

アカウント情報を入力する。

サーバ:独自サーバを使用する
サーバURL:https://(自サーバのFQDN)/weave/
メールアドレス/ユーザ名:Firefox Syncサーバ(データベース)に登録したユーザ名
パスワード:上記ユーザのパスワード

左下の「同期オプション」で何を同期させるか細かな指定ができる。
これは、後ででも変更できる。

続いて、Syncキーを入力する。

キーは自分で決める。
なんでも良いが、同期するFirefoxすべてに必要になるので忘れないように。

以上で完了。

あとは、同期させる他のFirefoxにもFirefox Syncをインストールして、
同様に設定すればOK。

Windows XP上のFirefoxとUbuntuのFirefoxで試したら、
無事、同期できた。素晴らしい。