19
Creating your own Firefox Sync Server
No comments · Posted by Daniel in Development, server, technical
The Mozilla Foundation developed the firesync plugin to sync your personal data to different computers. That means bookmarks, passwords, open tabs, chronik . I think this is a great opportunity to work with firefox on different computers. But I also think that another data in the cloud isn’t such a good idea. So I had to set up my own firefox sync server. Firefox Sync was called weave sync, so the server is still called weaver. There are two servers out there, the minimal one and the normal weaver server. Mozilla strongly recommends to use the minimal server, in case of private using. So I’ve tried this one out.
Here is a small and and easy tutorial to install your weave server. (iam using debian 5.0.4)
I except that you’ve already installed apache and php5. The minimal server is based on PHP, Sqlite and needs php-sqlite (PDO). So let’s install the php5-sqllite extension:
apt-get install php5-sqlite
Restart your apache. Now go to your htdocs (document root) directory, for example:
cd /var/www/example.com/htdocs/
Get the minimal server source and extract it:
wget http://people.mozilla.com/~telliott/weave_minimal.tgz tar xvf weave_minimal.tgz #rename the directory mv weave_minimal weave
We are now having an subfolder in our virtual host. The folder should be accessible via http://www.exmaple.com/weave/. So now create a .htaccess file with these lines to rewrite all requests to index.php:
RewriteEngine On RewriteRule ^.*$ index.php [NC,L]
//be sure that you've already installt php-cli php create_user
Finaly we have to add a small snippet of php code to the index.php. Because of using mod_rewrite the reserved variable $_SERVER does not contain the $_SERVER['PATH_INFO'] or $_SERVER['ORIG_PATH_INFO']. So go to line 115 and appand on the else if construct the following lines:
if (!empty($_SERVER['PATH_INFO'])) {
$path = $_SERVER['PATH_INFO'];
}
else if (!empty($_SERVER['ORIG_PATH_INFO'])) {
$path = $_SERVER['ORIG_PATH_INFO'];
}
//add this
else if (!empty($_SERVER['REQUEST_URI'])) {
/*
* this is because we are using the subfolder
* 'weave/', please change this
* if you are using another folder
*/
$path = substr($_SERVER['REQUEST_URI'], 6);
}
So everything should be ready now, you can go to firefox and add your server as firefox sync server:
Sources:
minimal server download
minimal server blog
sync server api
Firefox Sync addon
tested the new browser on mac osx. hardware specifications were Core2Duo 2,4 Ghz and 4 GigaByte of Ram.
here is a small snippet of bash that maybe helps you to get back control, if you’ve programmed the wrong query
#!/bin/bash for i in `mysql -hdbname -uusername -pyourpw -e "show full processlist" | grep -i "SELECT" | cut -f 1 | less`; do mysql -hdbname -uusername -pyourpw -e "kill $i;"; done
send this on the terminal
defaults write com.apple.Safari TargetedClicksCreateTabs -bool true
and false for the different behavior
system: mac osx
Erster Blogeintrag…
No tags




