Weave server
Så kom den store dag hvor Firefox 3.0 blev frigivet, alt i alt en glædelig begivenhed eller ? Njaa ikke helt synes jeg, goddag til Firefox 3.0 er nemlig samtidig et farvel til Google Browser Sync udvidelsen. Man kunne i sidste uge læse på en Google blog, at der ikke kommer en Firefox 3.0 kompatibel version af GBS ![]()
Det er noget rigtigt skidt er det, jeg færdes til daglig på 4 forskellige computere, og GBS har de sidste par år trofast sørget for at mine bookmarks, browserhistorik og passwords var i sync på alle maskiner.
Heldigvis er der et nyt produkt ved navn Weave undervejs fra Mozilla Labs. Det kan nogenlunde de samme ting som GBS, og kan man leve med lidt småfejl, kan det sagtens bruges.
Weave skal bruge en konto på en WebDAV server for at kunne gemme/synce data, har man ikke sådan en i forvejen kan man i perioder være heldig at få lov til at oprette en hos Mozilla Labs på deres Weave server
Har man en lille nørd i sig der trænger til pleje, kan man jo også bare lave sin egen server.
Jeg har eksperimenteret lidt og her kommer noget input til hvordan man kan få en WebDAV server op at køre.
Du skal bruge følgende:
Apache 2.2.x
MySQL 5.0 (andre versioner kan også bruges)
Apache serveren skal bla have disse moduler indlæst:
- mod_dav
- mod_dav_fs
- mod_authn-dbd (databasebaseret login i stedet for htpasswd filer)
- mod_dbd
- mod_rewrite
Kompiler du din egen Apache server kan du eventuelt finde inspiration i min config.nice fil.
Så skal der laves lidt tilføjelser til httpd.conf filen.
En virtuel host kunne f.eks se således ud: (SSL kan anbefales)
<VirtualHost>
DocumentRoot /sti/til/weavedata
ServerName weaveserver.domain.dk
# Rewrite der sørger for at mappe bruger ned i dir der matcher
# det navn han er logget ind med.
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER} ^(.+)$
RewriteRule ^(.*)$ /%1$1 [L]
# Opsætning til mod_dbd
DBDriver mysql
DBDParams "dbname=weave user=weaveuser pass=hemmeligkode"
DBDMin 1
DBDKeep 2
DBDMax 10
DBDExptime 60
</VirtualHost>
Adgangskontrol:
<Directory /sti/til/weavedata/> Dav on # Enable ved debug #Options +Indexes #IndexOptions FancyIndexing XHTML #IndexIgnore .DS* .DAV Order Deny,Allow Allow from All AuthType Basic AuthName "Weave server" AuthBasicProvider dbd AuthDBDUserPWQuery "SELECT password FROM users WHERE username= %s" Require valid-user </Directory>
Så opretter vi en MySQL database, en enkelt tabel og en MySQL bruger:
create database weave; create table users (username char(96) not null default '', password char(35) not null default '',primary key (username)); grant select on weave.* to 'weaveuser'@'localhost' identified by "hemmeligkode";
mod_dbd kan forstå kodeord i forskellige formater, et af dem er en base64 encoded SHA1 hash af kodeordet med teksten {SHA} foranstillet. Sådan et kodeord kan f.eks fremstilles med en stump PHP som denne:
echo '{SHA}'.base64_encode(sha1('secretpassword', TRUE));
Jeg har valgt at bruge emailadresser som brugernavne, SQL til en brugeroprettelse kan så se således ud:
insert into users values ("bruger@domain.dk","{SHA}5en6G6MezRroT3XKqkdPOmY/BfQ=");
Til slut skal der oprettes et bibliotek til brugerens data og tildeles skriverettigheder til webserveren
mkdir /sti/til/weavedata/bruger@domain.dk chown nobody:nobody /sti/til/weavedata/bruger@domain.dk
Update: Version 0.2 af Weave kræver en lidt anden biblioteksstruktur, i stedet for ovenstående skal man nu anvende:
mkdir /sti/til/weavedata/bruger@domain.dk/user/bruger@domain.dk chown nobody:nobody /sti/til/weavedata/bruger@domain.dk/user/bruger@domain.dk


lars skrev,
19. august 2008 kl. 17:33
Har du overvejet Foxmarks? Den er netop udkommet i en FF 3.0 kopmpatibel version..
https://addons.mozilla.org/da/firefox/addon/2410
Henrik Schack skrev,
19. august 2008 kl. 22:35
Ja det har jeg, men Foxmarks kan jo kun synce bookmarks, det er kun en lille del af hvad jeg har brug for.
Jeg skal bruge en løsning der kan synce bookmarks, cookies, history, passwords osv, alt det som Weave kan, og som Google Browsersync kunne.
Nicky skrev,
8. september 2008 kl. 00:08
Genialt .. Lige den opskrift jeg ledte efter – Så skal jeg vist til at sætte noget server op i morgen
Takker for du har givet dig tiden til at smide info’en herud.
Henrik Schack skrev,
8. september 2008 kl. 06:07