Utente:Frenko/Draft: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
(Pagina svuotata)
 
(15 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Wheezy}}
== Introduzione ==
Firefox, come Iceweasel, permette la sincronizzazione di alcuni contenuti del browser tra più installazioni degli stessi. Tramite Sync Server è possibile sincronizzare '''Bookmarks''', '''Tabs''', '''Estensioni''' e altre piccole cose. Mozilla permette la sincronizzazione gratuita su dei loro server. In questa guida installeremo e configureremo un nostro Sync Server che lavorerà sotto [[Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5 | Apache ]] ed useremo MySql come database per l' archiviazione (è possibile utilizzare anche SQLite).
<br />
In questa guida tratteremo la versione 1.5 del sync-server, la quale funziona con Firefox/Iceweasel 29 e successivi (presenti da Wheezy in poi). Per versioni precedenti rifarsi alla [https://docs.services.mozilla.com/howtos/run-sync.html#howto-run-sync11 seguente guida]
<br />
<br />
Nella guida supporremo che il computer sul quale andremo ad installare il sync-server avrà IP '''192.168.1.50'''


== Installazione sync-server ==
Installiamo per prima cosa i pacchetti necessari alla compilazione del sync-server:
<pre>
# apt-get install python-dev git-core python-virtualenv
</pre>
Successivamente clonare il repository git di Mozilla contenente il sync-server, per fare questo ho deciso di lavorare in ''/opt'':
<pre>
# cd /opt
# git clone https://github.com/mozilla-services/syncserver
# cd syncserver
# make build
</pre>
Il comando <code>make build</code> creerà un virtualenv Python in cui verranno successivamente installate tutte le dipendenze richieste dal server.
<br />
Terminata la compilazione verrà creata una cartella ''local/bin'' in cui è presente il binario '''pserve''', utile a fini di debug poichè permette di lanciare il sync-server sfruttando un web-server built-in.
<br />
Per verificare il corretto funzionamento del sync-server sarà sufficiente dare il seguente comando:
<pre>
make test
</pre>
se tutto funziona correttamente verrà restituito a schermo un '''OK'''.
=== Configurazione ===
La configurazione del sync-server avviene tramite il file ''syncserver.ini'', di seguito un esempio di tale file:
<pre>
[server:main]
use = egg:Paste#http
host = 0.0.0.0
port = 5000
[app:main]
use = egg:syncserver
[syncserver]
# This must be edited to point to the public URL of your server,
# i.e. the URL as seen by Firefox.
public_url = url_of_server
# This defines the database in which to store all server data.
#sqluri =
# This is a secret key used for signing authentication tokens.
# It should be long and randomly-generated.
# The following command will give a suitable value on *nix systems:
#
#    head -c 20 /dev/urandom | sha1sum
#
# If not specified then the server will generate a temporary one at startup.
#secret = CHANGE_ME!!!
# Set this to "false" to disable new-user signups on the server.
# Only request by existing accounts will be honoured.
# allow_new_users = false
# Set this to "true" to work around a mismatch between public_url and
# the application URL as seen by python, which can happen in certain reverse-
# proxy hosting setups.  It will overwrite the WSGI environ dict with the
# details from public_url.  This could have security implications if e.g.
# you tell the app that it's on HTTPS but it's really on HTTP, so it should
# only be used as a last resort and after careful checking of server config.
force_wsgi_environ = true
# Uncomment and edit the following to use a local BrowserID verifier
# rather than posting assertions to the mozilla-hosted verifier.
# Audiences should be set to your public_url without a trailing slash.
#[browserid]
#backend = tokenserver.verifiers.LocalVerifier
#audiences = https://localhost:5000
</pre>
Per prima cosa andremo a modificare il parametro ''public_url'' il quale andrà settato su un URL visibile dalla tua rete. In questa prima parte della guida, a scopo di test, supporremo di eseguire il server in locale in una rete di computer con indirizzo del tipo '''192.168.1.x'''.
<br />
Apriamo quindi il file con il nostro editor preferito:
<pre>
# vim /opt/syncserver/syncserver.ini
</pre>
e modifichiamo la seguente riga inserendo l' url (quindi l' indirizzo IP) del pc che farà da Sync Server:
<pre>
[syncserver]
public_url = http://192.168.1.50:5000
</pre>
Abbiamo specificato la porta ''5000'' perchè di default il web-server built-in è attivo su tale porta. Ovviamente se vogliamo eseguire il server su una differente porta basterà specificarlo all' avvio del server modificando di conseguenza la porta nel parametro ''public_url''.
<br />
<br />
Di default il sync-server utilizza un database in-memory per lo storage dei dati, questo significa che al riavvio del dispositivo tutti i dati memorizzati verranno cancellati. Per questo motivo il sync-server prevede lo storage dei dati tramite database MySql o SQLite accettando qualunque URI database di [http://www.sqlalchemy.org/ SQLAlchemy]. Per questa parte non specificheremo alcun tipo di database.
=== Lanciare il server ===
A questo punto possiamo eseguire il server ed effettuare dei test per verificarne il funzionamento
<pre>
# local/bin/pserve syncserver.ini
</pre>
se otteniamo
<pre>
Starting server in PID 29951.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000
</pre>
Un simile messaggio significa che il server è funzionante ed in ascolto sulla porta 5000 del proprio computer.
=== Configurare Firefox/Iceweasel ===
Come accennato in precedenza per poter dire a Firefox/Iceweasel di connettersi al proprio sync-server è necessario modificare la voce ''services.sync.tokenServerURI'' in '''about:config''' cambiando l' url del server di sincronizzazione con l' indirizzo del server nella propria subnet. Nel nostro caso quindi sarà necessario cambiare l'url nel seguente modo:
<pre>
services.sync.tokenServerURI: http://192.168.1.50:5000/token/1.0/sync/1.5
</pre>
Per verificare il funzionamento del server sarà sufficiente andare all' indirizzo http://192.168.1.50:5000/ e vedere se compare la scritta ''it works!''
<br />
A questo punto sarà sufficiente creare un account di sincronizzazione andando su '''Preferences''' e successivamente sul tab '''Sync'''. Se già si dispone di un account di sincronizzazione sarà sufficiente effettuare il login, altrimenti creeremo un nuovo account e successivamente effettuiamo il login. Eseguiamo il login con lo stesso account su un altra installazione di Firefox/Iceweasel, modificando anche in questo caso il parametro ''services.sync.tokenServerURI'' e controlliamo se effettivamente avviene la sincronizzazione degli oggetti selezionati nella tab ''Sync'' delle preferenze di Firefox/Iceweasel
== Sync server dietro ad Apache2 ==
Il web-server built-in del sync-server è utile per effettuare test sul sistema oppure se utilizzato in situazioni molto ristrette, ad esempio sincronizzando solo i computer di una rete locale.
<br />
Se vogliamo utilizzare il sync-server accedendoci dall' esterno oppure condividendolo tra più utenti è consigliato far girare il server di sincronizzazione sotto ad un instanza di un web-server come Apache2. I motivi possono essere molti, uno dei più importanti è il poter utilizzare il protocollo [[Installare_un_ambiente_LAMP:_Linux,_Apache2,_SSL,_MySQL,_PHP5#Configurazione_di_SSL | SSL]] per rendere sicure le connessioni tra client e server, un altro motivo è la possibilità di sostenere più facilmente un numero elevato di connessioni.

Versione attuale delle 12:56, 17 apr 2015