====== 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 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 Order deny,allow Allow from all WSGIProcessGroup ffsync WSGIDaemonProcess ffsync user=ffsync group=ffsync processes=2 threads=25 WSGIPassAuthorization On WSGIScriptAlias / /usr/local/firefox-sync-server/server-full/sync.wsgi 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 {{tag>}} ~~LINKBACK~~ ~~DISCUSSION~~