Installa Firefox Sync Server su Debian 9 o Ubuntu 16.04

Firefox Sync è una funzione di sincronizzazione del browser che ti consente di condividere dati e preferenze (come segnalibri, cronologia, password, schede aperte e componenti aggiuntivi installati) su tutti i tuoi dispositivi. Mozilla offre anche un'applicazione "server di sincronizzazione" da utilizzare con Firefox Sync per utenti e aziende che preferiscono ospitare i propri dati di sincronizzazione. Questo articolo mostra come configurare Mozilla Sync Server.

Prerequisiti

  • Una nuova istanza del server Vultr Debian 8, Debian 9 o Ubuntu 16.04.
  • Un utente sudo .

Installa i pacchetti necessari

Aggiorna il sistema:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Per compilare ed eseguire Sync Server, è necessario installare questi pacchetti:

  • python-dev
  • git
  • build-essential (Compilatore C ++, compilatore GCC, make e altri strumenti richiesti).
  • sqlite3(se si desidera utilizzare un database MySQL anziché SQLite, è possibile sostituire il sqlite3pacchetto con mariadb-servero mysql-server).
  • nginx(server web. Sta a te scegliere da quale server web vuoi usare apache2o nginx).

Installa i pacchetti:

sudo apt-get install -y git git-core python-dev python-virtualenv build-essential sqlite3 nginx

Costruire il server

Cloneremo il repository Git del server di sincronizzazione digitando il comando seguente e quindi accederemo alla cartella:

git clone https://github.com/mozilla-services/syncserver
cd syncserver

Esegui il comando build che scaricherà le dipendenze e compilerà il codice.

make build

Configurazione del server di sincronizzazione

La configurazione del server di sincronizzazione è molto semplice, ci sono solo alcuni parametri da modificare nel file di configurazione ( ./syncserver.ini).

Apri il file di configurazione con il tuo editor di testo preferito (ad esempio nano ./syncserver.ini).

[server:main]
use = egg:gunicorn
host = 0.0.0.0
port = 5000
workers = 1
timeout = 30

[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 = http://localhost:5000/

# This defines the database in which to store all server data.
#sqluri = sqlite:////tmp/syncserver.db

# 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 = INSERT_SECRET_KEY_HERE

# 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 = false

[browserid]
# 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.
#backend = tokenserver.verifiers.LocalVerifier
#audiences = https://localhost:5000

# By default, syncserver will accept identity assertions issues by
# any server. You can restrict this by setting the below to a list
# of allowed issuer domains.
#allowed_issuers = www.mysite.com myfriendsdomain.org

L'indirizzo del server deve essere specificato tramite il parametro public_url:

public_url = http://fsync.example.com

Nota : il valore predefinito di public_url"http: // localhost: 5000 /" funzionerà a scopo di test sul computer locale.

In sqluriopzione, Le rimuovere il commento e mettere la posizione o URIche permetterà al server di collegare il database e memorizzare le informazioni:

sqluri = sqlite:////path/to/database/file.db

Se si desidera utilizzare un altro tipo di DB:

sqluri = pymysql://username:[email protected]/sync

Per il secretparametro " ", dovremo generare una chiave segreta per i token di autenticazione:

head -c 20 /dev/urandom | sha1sum

Rimuovere il commento dalla riga del parametro segreto e quindi copiare / incollare la stringa restituita nel parametro segreto:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

Nota : se non si inserisce nulla in questo parametro, il server ne genererà uno ma sarà diverso ogni volta che si riavvia il server.

Per il allow\_new\_usersparametro " ", decommentalo e impostalo in modo da trueconsentire al nostro account di connettersi al nostro server per la prima volta:

allow_new_users = true

Modificheremo quindi il audiencesparametro " " e inseriremo la stessa cosa del public_uriparametro " " senza dimenticare di rimuovere il commento dalla riga:

audiences = http://fsync.example.com

Infine, aggiungi la seguente riga alla fine del tuo file:

forwarded_allow_ips = *

Questa riga ti aiuterà a evitare messaggi di errore e problemi di autorizzazione.

Avvio del server di sincronizzazione

Per avviare il server di sincronizzazione, è possibile avviare il comando seguente:

./path/to/syncserver/local/bin/gunicorn --threads 4 --paste /path/to/syncserver/syncserver.ini &

... o questo:

make serve &

La prima opzione consente di scegliere la posizione del file di configurazione; e anche per mettere l'argomento --threads 4, che consente di assegnare più potenza al server di sincronizzazione.

Per avviare il server ogni volta che viene avviata l'istanza, è possibile aggiungere la seguente riga al crontab digitando il crontab -ecomando:

@reboot ./path/to/syncserver/local/bin/gunicorn --paste /path/to/syncserver/syncserver.ini &

Configurazione del server Web

È possibile utilizzare diversi server Web compatibili con il WSGIprotocollo. Per esempio:

  • Nginx con uWSGI.
  • Apache combinato con mod_wsgi.

nginx

Per Nginx, devi utilizzare il proxy integrato di Nginx come mostrato di seguito:

server {
        listen  80;
        server_name fsync.example.com;

        location / {
                proxy_set_header Host $http_host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_redirect off;
                proxy_read_timeout 120;
                proxy_connect_timeout 10;
                proxy_pass http://127.0.0.1:5000/;
        }
}

Nginx + uWSGI

È possibile per gli utenti Nginx utilizzare solo il socket WSGI.

Installa uWSGItramite Pip:

pip install uwsgi

Installa uWSGIscaricando un tarball sorgente:

wget https://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz
cd <dir>
make

Nota : dopo la compilazione, avrai un file uwsgibinario nella directory corrente.

Una volta installato, avviarlo con le seguenti opzioni:

uwsgi --plugins python27 --manage-script-name \
--mount /<location>=/path/to/syncserver/syncserver.wsgi \
--socket /path/to/uwsgi.sock

Quindi utilizzare la seguente configurazione Nginx:

location /<location>/ {
  include uwsgi_params;
  uwsgi_pass unix:/path/to/uwsgi.sock;
}

Apache

Installa mod_wsgi:

apt-get install libapache2-mod-wsgi

Quindi utilizzare il seguente vhost:

<VirtualHost *:80>
  ServerName sync.example.com
  DocumentRoot /path/to/syncserver
  WSGIProcessGroup sync
  WSGIDaemonProcess sync user=sync group=sync processes=2 threads=25 python-path=/path/to/syncserver/local/lib/python2.7/site-packages/
  WSGIPassAuthorization On
  WSGIScriptAlias / /path/to/syncserver/syncserver.wsgi
  CustomLog /var/log/apache2/sync.example.com-access.log combined
  ErrorLog  /var/log/apache2/sync.example.com-error.log
</VirtualHost>

Configura il client (Firefox)

Una volta che il server è stato installato e configurato, è necessario configurare il client desktop Firefox per comunicare con il nuovo Sync Server. Prima di iniziare, se sei già connesso a Firefox Sync Server, devi disconnetterti. In caso contrario, la connessione al nuovo server potrebbe non funzionare.

Innanzitutto, apri una nuova scheda e inserisci il seguente indirizzo:

about:config

Nella barra di ricerca, inserisci identity.sync.tokenserver.urie modifica il suo valore nell'URL del tuo server con un percorso di token/1.0/sync/1.5:

http://sync.example.com/token/1.0/sync/1.5


Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.