Bookmark同期 & WebDAV設定

参考1:http://www.andyhalford.com/syncplaces/
参考2:http://yammy.jpn.org/20070228.html


概要
WindowsUbuntuFirefoxでお気に入りを同期する


同期アドオンとしてSyncPlacesを使用
参考1の作者のページからダウンロードしてくる(Mozilaのサイトからではログインが必要)
現時点での最新版は3.02
アドオンの作者はBookmark Sync and Sortと同じらしい(Bookmark Sync and SortはFirefox3非対応)


http(WebDAV),https(WebDAV),ftpから使用するプロトコルを選ぶことが出来る
研究室のサーバがどれにも対応していなかったので,UbuntuapacheWebDAVを構成


モジュールのインストール
インストール時点でWebDAVのモジュールは含まれているらしい
日本語の文字化け対策のためにmod-encodingを(一応)インストール

$ sudo apt-get install libapache2-mod-encoding

/etc/apache2/mods-available/encoding.confに以下を記述

<IfModule mod_encoding.c>
    EncodingEngine    on
    NormalizeUsername on
    SetServerEncoding     UTF-8
    DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
    AddClientEncoding "cadaver/" EUC-JP
</IfModule>

注意
mod_encodingを入れるとCGIパラメータを変換して色々害があるらしい(未確認)
参考1:http://www.dzeta.jp/tech/index.cgi?Apache%A4%C8%C6%FC%CB%DC%B8%EC%A5%D5%A5%A1%A5%A4%A5%EB%CC%BE%A4%C8%25
参考2:http://www.aconus.com/~oyaji/faq/apache_encoding.htm


モジュールの有効化

$ sudo a2enmod encoding
Module encoding installed; run /etc/init.d/apache2 force-reload to enable.


WebDAVで使用するディレクトリを作成

$ mkdir /var/www/dav
$ sudo chown -R www-data:www-data /var/www/dav
$ sudo chmod 755 /var/www/dav

間違って

$ sudo chown -R www-data:www-data /dev

を実行.その後,速攻

$ sudo chown -R root:root /dev

を実行.ただ,どうもグループがrootじゃなかったやつもあるっぽいが今のところ不具合はないのでスルー
/etc/apache2/sites-availableのVirtualHost内に以下を記述

Alias /dav "/var/www/dav"
<Location /dav>
	Dav on
	DavMinTimeout 600
	AuthType basic
	AuthName "Bookmarks"
	AuthUserFile "/var/www/dav/.htpass"
	Require valid-user
</Location>


AuthUserFileの作成
上で設定したAuthUserFileを作成

$ htpasswd -c /var/www/dav/.htpass 「ユーザ名」
New password:
Re-type new password:
Adding password for user 「ユーザ名」

最初,アクセスすると505エラーが出ていた
無駄にハマってなかなか原因が分からなかった
原因はAuthUserFileを.htaccessと設定していたため
.htaccessは設定用ファイルなので,設定の形式が間違ってると解釈され505エラーが出ていた


SyncPlacesの設定

  • Server→Connection
  • Portocol:http,Host:localhost
  • User:「htpasswdで入力したユーザ名」,Password:「htpasswdで入力したパスワード」
  • Server→Synchronization
  • JSON Path:/dav/syncplaces.json
  • Options→Basic
  • Send safely,Only〜,Merge〜チェック
  • Options→Automation
  • Receive on startup,Send on Shutdownチェック

設定終了
これで,Firefoxの起動&終了時にお気に入りを同期してくれる
ただし,Windowsの方はUbuntuにアクセスできる環境でないと同期できない
結局,昔に登録したレンタルサーバを使用
以下,設定(上との変更点)

  • Server→Connection
  • Portocol:ftp,Host:「レンタルサーバのホスト名」
  • User:「登録したユーザ名」,Password:「登録したパスワード」
  • Server→Synchronization
  • JSON Path:ログイン時のカレントディレクトリから同期ファイルへの相対パス