2008-09-09

Mozilla Weave

看一堆人在抱怨 Google Chrome 沒有 Google Browser Sync, 讓我想到了這個 Mozilla Labs 還在實驗中的 Weave. 功能上上兩者有點類似, 但是我不喜歡把資料放到外部網站上, 所以最後選擇了可以自己架 Server 的 Weave 來用.

原來我以為用 Portable 版的 Firefox 就不需要這種東西, 現在 OS 掛上 EWF 以後則靠 Weave 來線上同步 cookie, 這時候 Weave 就蠻好用的, 而且 server 可以自己維護, 在安全性和便利性上比 Google Browser Sync 好得多.

以下是 Server 架設的筆記(環境是 FreeBSD + apache 2.0):

Weave 跑的是 WebDAV, 所以只要支援 WebDAV 就可以拿來當 Weave server, apache 2.0 已經內建 mod_dav 了, 所以只要改一改設定就好.

先改 httpd.conf 把 mod_dav 和 mod_dav_fs 開起來, 找出下面兩行, 把前面的 # 拿掉

LoadModule dav_module libexec/apache2/mod_dav.so
LoadModule dav_module libexec/apache2/mod_dav.so


然後再加上下面幾行指定 DAVLockDB 的位置, 然後記得去對應的位置把目錄建起來

<ifmodule mod_dav_fs.c>
DAVLockDB /var/lock/dav/lockdb
</ifmodule>


再來就是 Weave 的 Server 端檔案位置設定, 我是直接丟到一個 VirtualHost 底下的 Weave 目錄底下, 要獨立出一個 VirtualHost 的話應該小改一下就好了

<Directory "/usr/local/www/weave">
Options Indexes FollowSymLinks
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
AuthType Basic
AuthName "weave"
AuthUserFile /usr/local/www/weave/passwd
require valid-user
</Directory>
<Location /weave>
DAV On
</Location>


再來, 假設 Weave 要用的 ID 是 roid, 把所有 Weave 要用的目錄建起來

mkdir /var/lock/dav
mkdir /usr/local/www/weave
mkdir /usr/loca/www/weave/user
mkdir /usr/loca/www/weave/user/roid


接下來, 用 htpasswd 建立 Weave 用的帳號和密碼, 密碼檔位置就參照之前 apache 的設定檔(/usr/local/www/weave/passwd)

htpasswd -C /usr/local/www/weave/passwd roid


然後在使用者的目錄(/usr/local/www/weave/user/roid)底下建立一個 .htaccess 檔案把讀取權限鎖起來, 檔案內容如下:

require user roid


然後把之前建立的 4 個目錄和 2 個檔案的 owner 權限都丟給 apache 的預設帳號 www

以上全部處理好後重新啟動 apache, server 端就算設定完成.接下來就是 Mozilla 的設定

去把 Mozilla Labs 把 Weave Add-on 抓下來裝上, 然後到 tools --> Weave --> Preference --> Advanced 把 server 的位置改成自己的 server


然後在網址列輸入 about:config 進入 Mozilla 的設定畫面, 把 extensions.weave.username 從 nobody 改成之前設定的 Weave 使用者 ID.

以上, 所有設定完成, 啟動 Weave 輸入喜歡 Encryption Passphases 來 Sign In 看看, 可以 Sign In 的話就可以開始用 Weave 跑 Sync 把資料通通同步到 server 上, 以後就可以走到哪用到哪了.

沒有留言:

張貼留言