====== 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. * Deel 1 beschrijft de basisinstallatie en configuratie van een eigen Mozilla Sync server: dit document. * Deel 2 beschrijft het in productie nemen van een Mozilla Sync server: [[:penguin_suite:firefox:mozilla-sync-server-2]] * Deel 3 beschrijft het toevoegen van een Firefox Sync client aan een bestaande account: [[:penguin_suite:firefox:mozilla-sync-server-3]] Dit document is gebaseerd op: * Tux4u(r)/Penguin Suite: Squeeze * Python: 2.6.6

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 ===== - inrichten Linux gebruiker - installatie benodigde Debian pakketten - installatie Python pip - installatie Python virtualenv - installatie Mozilla Sync server * Indien in deze Howto "root" rechten nodig zijn, wordt in de voorbeelden als prompt een "#" gebruikt.\\ Als de handeling door een gewone gebruiker (bijv. appbox) uitgevoerd kan worden, is de prompt "$". ==== 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. ((Python is een programmeertaal.)) # 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 * curl -O : hoofdletter O ==== 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 * De tool "hg" maakt deel uit van het Mercurial versiebeheersysteem. === 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. * De warnings in de testoutput bevatten informatie voor de software ontwikkelaar. ===== 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. ((De ingebouwde webserver is niet geschikt voor productie. Zie voor het in productie nemen van Mozilla Sync server "deel 2" van deze Howto.)) 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: - Ga naar Bewerken -> Voorkeuren - Tabblad: Sync - Firefox Sync instellen - 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^ - Klik op "Sync-opties". Stel in wat gesynchroniseerd moet worden. Klik op "Klaar". - Kies **eerst** in het scherm "Accountdetails" bij "Server" de optie: "Een eigen server gebruiken" - Vul de URL van de eigen server in. - De Mozilla Sync server kan om een "CAPTCHA" vragen.\\ Een eigen server vraagt standaard niet om een "CAPTCHA". - Vul vervolgens E-mailadres en wachtwoord in.\\ De eigen Sync server verifieert meteen het E-mailadres en wachtwoord. - Klik nog een keer in het "Server" veld (zonder te wijzigen). - Ga verder met "Volgende". - 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: [[:penguin_suite:firefox:mozilla-sync-server-2]] ====== . ====== Copyright (c) 2013 Integrated Services; Tux4u.nl\\ Author: Marjan Waldorp; firefox/mozilla-sync-server-1 2013-08-08