Inhoud

Installatie & Configuratie Mozilla Sync server (deel 1)

Mozilla Sync server (Mozilla Weave) is een synchronisatieserver voor Mozilla browsers (Firefox).

Vandaag de dag hebben gebruikers vaak meer apparaten om op het Internet te surfen: PC's, tablets, smartphones. Zonder synchronisatie zal de gebruiker handmatig bladwijzers en instellingen op deze apparaten moeten bijhouden. Met Mozilla Sync server kunnen bladwijzers, wachtwoorden, historie en instellingen van Mozilla browsers op PC (Windows/Linux), tablet en smartphone (Android) automatisch gesynchroniseerd worden. Met een eigen Mozilla Sync server kunnen deze gegevens veilig binnen het eigen netwerk worden bewaard.

Dit document is gebaseerd op:

Integrated Services helpt u graag!

Hulp nodig bij het uitvoeren van deze Howto?
Of wilt u deze service geheel door ons laten inrichten en testen?

Dat kan!
=> Informeer geheel vrijblijvend naar de mogelijkheden.

1. Installatie Mozilla Sync server

  1. inrichten Linux gebruiker
  2. installatie benodigde Debian pakketten
  3. installatie Python pip
  4. installatie Python virtualenv
  5. installatie Mozilla Sync server

1.1 Inrichten Linux gebruiker

De Mozilla Sync server kan lopen onder een gewone Linux gebruiker.
Zonodig richten we hiervoor een nieuwe gebruiker in, bijv. “appbox”, group “appbox”:

$ su -
Password:

# groupadd appbox

# useradd -d /export/home/appbox -m -s /bin/bash -c "Application Box" \
  -g appbox appbox

# grep appbox /etc/passwd
appbox:x:1205:1205:Application Box:/export/home/appbox:/bin/bash

1.2 Installatie benodigde Debian pakketten

# mount -o remount,exec /tmp

# apt-get install  mercurial  make  sqlite3  python-setuptools  python-dev  libssl-dev

1.3 Installatie Python pip

Python “pip” is een tool om Python pakketten te installeren. 1)

# cd /usr/src

# curl -O https://pypi.python.org/packages/source/p/pip/pip-1.4.tar.gz

# tar -xzf pip-1.4.tar.gz

# cd pip-1.4

# python setup.py install

1.4 Installatie Python virtualenv

# pip install virtualenv

1.5 Installatie Mozilla Sync server

1.5.1 Download de Mozilla Sync server source code

# su - appbox

$ mkdir mozsync

$ cd mozsync

$ hg clone https://hg.mozilla.org/services/server-full

1.5.2 Compileer en installeer de Mozilla Sync server

$ cd server-full

$ make build

Hieronder de laatste regels van de compilatie:

bin/buildapp -c dev -i http://pypi.python.org/simple server-core,server-reg,server-storage
The current channel is dev.
Building the app
  Checking the environ                                [ok]
  Updating the repo                                   [ok]
  Building Services dependencies
    Getting server-core                               [ok]
    Getting server-reg                                [ok]
    Getting server-storage                            [ok]      [ok]
  Building External dependencies                      [ok]
  Now building the app itself                         [ok]
                                          [done]
# Pre-compile mako templates into the correct directories.
for TMPL in `find . -name '*.mako'`; do ./bin/python -c "from mako.template
import Template; Template(filename='$TMPL', module_directory='`dirname $TMPL`',
uri='`basename $TMPL`')"; done;

Indien de compilatie succesvol is verlopen, run dan de tests.

1.5.3 Run tests

$ make test

bin/nosetests -s --with-xunit deps/server-core/services/tests deps/server-reg/syncreg/tests deps/server-storage/syncstorage/tests
.......................................................................S...
/home/appbox/mozsync/server-full/lib/python2.6/site-packages/sqlalchemy/engine/strategies.py:117:
SADeprecationWarning: The 'listeners' argument to Pool (and create_engine()) is deprecated.  Use event.listen().
  pool = poolclass(creator, **pool_args)
/home/appbox/mozsync/server-full/lib/python2.6/site-packages/sqlalchemy/pool.py:
160: SADeprecationWarning: Pool.add_listener is deprecated.  Use event.listen()
  self.add_listener(l)
......S.S.SS.S...............................................................
..............................S.SSSSSSSSSSSSSSSSSS..........................
----------------------------------------------------------------------
Ran 228 tests in 46.737s

OK (SKIP=25)

De Mozilla Sync server is nu correct ge_i:nstalleerd.

2. Basisconfiguratie Mozilla Sync server

2.1 Configuratie van de database

2.1.1 Richt database directory in

# su - appbox

$ cd mozsync

$ mkdir db

$ chmod 700 db

2.1.2 Configureer "sqluri"

$ cd server-full

$ vi etc/sync.conf

[storage]
backend = syncstorage.storage.sql.SQLStorage
#sqluri = sqlite:////tmp/test.db
sqluri = sqlite:////export/home/appbox/mozsync/db/mozsync.db

[auth]
backend = services.user.sql.SQLUser
#sqluri = sqlite:////tmp/test.db
sqluri = sqlite:////export/home/appbox/mozsync/db/mozsync.db

2.2 Configuratie van de service

2.2.1 Configureer de zichtbare URL

$ cd server-full

$ vi etc/sync.conf

[nodes]
# You must set this to your client-visible server URL.
# fallback_node = http://example.com/path/to/sync
fallback_node = http://host.domein.lan:5000/

3. Test Mozilla Sync server

3.1 Start de server

De Mozilla Sync server heeft een ingebouwde webserver voor test- en ontwikkeldoeleinden. 2)

Start de Mozilla Sync server in testmodus via de meegeleverde “paster” tool:

$ cd server-full

$ ./bin/paster serve development.ini

/export/home/appbox/mozsync/server-full/lib/python2.6/site-packages/sqlalchemy/engine/strategies.py:117:
SADeprecationWarning: The 'listeners' argument to Pool (and create_engine()) is deprecated.  Use event.listen().
  pool = poolclass(creator, **pool_args)
/export/home/appbox/mozsync/server-full/lib/python2.6/site-packages/sqlalchemy/pool.py:160:
SADeprecationWarning: Pool.add_listener is deprecated.  Use event.listen()
  self.add_listener(l)
Starting server in PID 1954.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000

In testmodus protocolleert de Mozilla Sync server alle verzoeken van Firefox Sync clients.

De testmodus kan worden be_e:indigd via “Ctrl+C”.

3.2 Configureer Firefox Sync

“The proof of the pudding is in the eating!”

We configureren een Firefox Sync client om de Mozilla Sync server te testen:

  1. Ga naar Bewerken → Voorkeuren
  2. Tabblad: Sync
  3. Firefox Sync instellen
  4. Kies: “Een nieuwe account aanmaken”

Het scherm “Accountdetails” wordt geopend:

Accountdetails
E-mailadres:
Kies een wachtwoord:
Wachtwoord beverstigen:
Server: “Een eigen server gebruiken”
http:host.domein.lan:5000/
“CAPTCHA tekst”
Typ de twee woorden
Sync-opties Annuleren Vorige Volgende
  1. Klik op “Sync-opties”. Stel in wat gesynchroniseerd moet worden. Klik op “Klaar”.
  2. Kies eerst in het scherm “Accountdetails” bij “Server” de optie: “Een eigen server gebruiken”
  3. Vul de URL van de eigen server in.
  4. De Mozilla Sync server kan om een “CAPTCHA” vragen.
    Een eigen server vraagt standaard niet om een “CAPTCHA”.
  5. Vul vervolgens E-mailadres en wachtwoord in.
    De eigen Sync server verifieert meteen het E-mailadres en wachtwoord.
  6. Klik nog een keer in het “Server” veld (zonder te wijzigen).
  7. Ga verder met “Volgende”.
  8. Wacht tot de Setup voltooid is (balk wordt geheel blauw).

De Mozilla Sync server werkt goed indien de Setup zonder foutmeldingen wordt voltooid.

4. In productie nemen van de Mozilla Sync server

De basisinstallatie en configuratie van de Mozilla Sync server is nu afgerond.

Ga voor het in productie nemen van de Mozilla Sync server verder met “deel 2” van deze Howto: mozilla-sync-server-2

.

Copyright © 2013 Integrated Services; Tux4u.nl
Author: Marjan Waldorp; firefox/mozilla-sync-server-1 2013-08-08

1)
Python is een programmeertaal.
2)
De ingebouwde webserver is niet geschikt voor productie. Zie voor het in productie nemen van Mozilla Sync server “deel 2” van deze Howto.