自前のFirefoxSyncServerを設定したので,そのメモをここに残す.
動機:パソコンのブックマークとタブレットのブックマークを同期したかった.XmarksはAndroid版firefoxにインストールできない.Firefoxのサーバーに保存すればいいのだが,ブックマークは一応個人情報なんで….
過去の経緯:Weaveサーバーを試そうとしたがうまくいかず.
インストールする計算機:Debian 6.0(Apache2設定済)
方法は次のサイトを参照
https://docs.services.mozilla.com/howtos/run-sync.html
http://blog.quvox.net/tk/2012/07/computer/517/
http://blog.tndl.net/2011/10/06/408/fedora15-de-firefox-sync-server/
他は検索するといろいろ出てくる.最近のものを見たほうが良さそう.
その1:パッケージインストール
# apt-get install python-dev mercurial sqlite3
* makeも必要らしいが,インストール済み
* ファイル置き場は,/usr/local/ffsyncにした.ディレクトリは管理者で作る.ビルドに数分かかる.
$ cd /usr/local/ffsync
$ hg clone https://hg.mozilla.org/services/server-full
$ cd server-full
$ make build
その2:設定
* 設定ファイルは,/usr/local/ffsync/server-fullの中の etc/sync.conf にある.
[storage]
sqluri = sqlite:////tmp/ffsync.db
[nodes]
fallback_node = http://(サーバー名):5000
[auth]
sqluri = sqlite:////tmp/ffsync.db
* テスト起動
$ cd /usr/local/ffsync/server-full
$ bin/paster serve /path/to/development.ini
** 何もエラーが出ず,待ち画面になったらOK.
* クライアント側設定
** Firefoxを起動し,syncの新規作成で次のように入力する.
・(メールアドレス)
・パスワード
・確認パスワード
・http://(サーバー名):5000/
入力画面で怒られる時は,サーバーの設定がどっかおかしい.
うまくいかない時は,設定をリセットしたり,データーベースを削除したりして,やりなおす.
その3:Apacheから動くようにする
* Apache モジュール追加
# aptitude install libapache2-mod-wsgi
# a2enmod wsgi
* /etc/apache2/sites-available にffsyncを作る
# a2ensite ffsync
# /etc/init.d/apache2 reload
* 必要ファイルをwww-data所有にする
# cd /usr/local/
# chown -R www-data:www-data ffsync
* ネームサーバーに上のサイト(バーチャルホスト)を登録
※これだけではうまくいかず…
その4:Apacheの設定
とりあえず,うまくいった設定の一部を記す
* /etc/apache2/sites-available/ffsync は上記サイトにあるものを参考に書く
ServerName (バーチャルホスト名)
DocumentRoot /usr/local/ffsync/server-full
にしてて,追加で,
ScriptAlias /ffsync/ /usr/local/ffsync/server-full/
<Directory /usr/local/ffsync/server-full> (以下省略)
の設定をする.いろいろやってて,ファイルが見つからないやらのエラーに悩まされるが,ScriptAliasを上のように書いて何とか落ちついた.
* /usr/local/ffsync/server-full/etc/sync.confの設定で関係部分
fallback_node = http://(バーチャルホスト名)
これで同期に成功.クライアント側でホスト名は
http://(バーチャルホスト名) とする.ここでは,http://ffsync.hogehohe.jp/のようになる.
しかし,サーバーを再起動すると同期がうまくいかない.
その5:保存先の変更
* /tmp 以下にデーターを保存するのがよくないと思い次のように保存場所を変更
旧) sqluri = sqlite:////tmp/ffsync.db
新) sqluri = sqlite:////usr/local/ffsync/db/ffsync.db
設定して1週間くらい経つがこれでうまくいっているみたい.