Set up private firefox sync server
$ apt-get install python-dev mercurial sqlite3 python-virtualenv apache2-mpm-prefork libapache2-mod-wsgi make
Add user ffsync:
$ adduser --group --system --home /usr/local/firefox-sync-server --disabled-password ffsync
Add apache user (www-data) to group ffsync:
$ adduser www-data ffsync
Change user:
$ su - ffsync
Download source files:
$ hg clone https://hg.mozilla.org/services/server-full
Create tmp and data subdirectories
$ mkdir data tmp
Change permissions
$ chmod 770 data tmp
Compile sync server
$ cd server-full $ make build
Change config files, paths in default install store user data in /tmp, not very useful.
$ vi sync.wsgi [..] os.environ['PYTHON_EGG_CACHE'] = ‘/usr/local/firefox-sync-server/tmp/python-eggs’ [..] $ vi development.ini [..] [handler_syncserver_errors] class = handlers.RotatingFileHandler args = (‘/usr/local/firefox-sync-server/tmp/sync-error.log’,) [..] $ vi etc/sync.conf [..] [storage] backend = syncstorage.storage.sql.SQLStorage sqluri = sqlite:////usr/local/firefox-sync-server/data/usersettings.db [..] [auth] backend = services.auth.sql.SQLAuth sqluri = sqlite:////usr/local/firefox-sync-server/data/usersettings.db [..] fallback_node = http://sync.mytestdomain.com/ [..]
Change login shell of ffsync to /bin/false.
$ usermod -s /bin/false ffsync
Enable wsgi module
$ a2enmod wsgi
Create new apache virtual host
$ vi /etc/apache2/sites-available/firefox-sync
<VirtualHost *:80> ServerName sync.mytestdomain.com ServerAdmin webmaster@mytestdomain.com
DocumentRoot /usr/local/firefox-sync-server/server-full
CustomLog ${APACHE_LOG_DIR}/firefox-sync-server_access.log combined ErrorLog ${APACHE_LOG_DIR}/firefox-sync-server_error.log
<Directory /usr/local/firefox-sync-server/server-full> Order deny,allow Allow from all </Directory>
WSGIProcessGroup ffsync WSGIDaemonProcess ffsync user=ffsync group=ffsync processes=2 threads=25 WSGIPassAuthorization On WSGIScriptAlias / /usr/local/firefox-sync-server/server-full/sync.wsgi </VirtualHost>
Activate virtual host
$ cd /etc/apache2/sites-enabled $ ln -s ../sites-available/firefox-sync .
Check config and restart apache
$ apachectl configtest && /etc/init.d/apache restart
Now you can configure firefox sync with Tools>Sync
Ref: http://www.apfelschwein.net/firefox-sync-now-mit-eigenem-apache-server.html
~~LINKBACK~~ ~~DISCUSSION~~