Sett opp Firefox Sync Server på Debian 9 eller Ubuntu 16.04

Sett opp Firefox Sync Server på Debian 9 eller Ubuntu 16.04

Firefox Sync er en nettlesersynkroniseringsfunksjon som lar deg dele data og preferanser (som bokmerker, historikk, passord, åpne faner og installerte tillegg) på alle enhetene dine. Mozilla tilbyr også en "synkroniseringsserver"-applikasjon for bruk med Firefox Sync for brukere og bedrifter som foretrekker å være vert for sine egne synkroniseringsdata. Denne artikkelen viser deg hvordan du setter opp Mozilla Sync Server.

Forutsetninger

  • En nylig distribuert Vultr Debian 8, Debian 9 eller Ubuntu 16.04 serverforekomst.
  • En sudo-bruker .

Installer de nødvendige pakkene

Oppdater systemet:

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

For å bygge og kjøre Sync Server, må du installere disse pakkene:

  • python-dev
  • git
  • build-essential (C++ kompilator, GCC kompilator, merke og andre nødvendige verktøy).
  • sqlite3(hvis du vil bruke en MySQL-database i stedet for SQLite, kan du erstatte sqlite3pakken med mariadb-servereller mysql-server).
  • nginx(webserver. Det er opp til deg å velge hvilken webserver du vil bruke fra apache2eller nginx).

Installer pakkene:

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

Bygge serveren

Vi vil klone Git-depotet til synkroniseringsserveren ved å skrive inn følgende kommando og deretter gå inn i mappen:

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

Kjør build-kommandoen som vil laste ned avhengighetene og kompilere koden.

make build

Sync Server-konfigurasjon

Konfigurasjonen av synkroniseringsserveren er veldig enkel, det er bare noen få parametere å endre i konfigurasjonsfilen ( ./syncserver.ini).

Åpne konfigurasjonsfilen med din favoritt tekstredigerer (for eksempel 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

Adressen til serveren din må spesifiseres via parameteren public_url:

public_url = http://fsync.example.com

Merk : standardverdien public_url"http://localhost:5000/" vil fungere for testformål på din lokale maskin.

I sqlurialternativet vil vi avkommentere og sette plasseringen eller URIsom vil tillate serveren å koble til databasen og lagre informasjonen:

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

Hvis du vil bruke en annen type DB:

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

For secretparameteren " " må vi generere en hemmelig nøkkel for autentiseringstokener:

head -c 20 /dev/urandom | sha1sum

Fjern kommentaren til linjen til den hemmelige parameteren og kopier/lim inn den returnerte strengen i den hemmelige parameteren:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

Merk : Hvis du ikke legger inn noe i denne parameteren, vil serveren generere en, men den vil være forskjellig hver gang serveren startes på nytt.

For allow\_new\_usersparameteren " ", fjern kommentaren og still den slik trueat kontoen vår kan kobles til serveren vår for første gang:

allow_new_users = true

Vi vil da modifisere audiencesparameteren " " og sette inn det samme som public_uriparameteren " " uten å glemme å fjerne kommentaren til linjen:

audiences = http://fsync.example.com

Til slutt legger du bare til følgende linje på slutten av filen din:

forwarded_allow_ips = *

Denne linjen hjelper deg med å unngå feilmeldinger og autorisasjonsproblemer.

Starter Sync Server

For å starte synkroniseringsserveren kan du enten starte følgende kommando:

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

... eller denne:

make serve &

Det første alternativet lar deg velge plasseringen av konfigurasjonsfilen; og også for å sette argumentet --threads 4, som gjør det mulig å tildele mer kraft til synkroniseringsserveren.

For å starte serveren hver gang forekomsten starter, kan du legge til følgende linje i crontab ved å skrive crontab -ekommandoen:

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

Nettserverkonfigurasjon

Du kan bruke forskjellige webservere som er kompatible med WSGIprotokollen. For eksempel:

  • Nginx med uWSGI.
  • Apache kombinert med mod_wsgi.

Nginx

For Nginx må du bruke Nginx sin innebygde proxy som vist nedenfor:

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

Det er mulig for Nginx-brukere å kun bruke WSGI-kontakten.

Installer uWSGIvia Pip:

pip install uwsgi

Installer uWSGIved å laste ned en kilde tarball:

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

Merk : Etter byggingen vil du ha en uwsgibinær i gjeldende katalog.

Når den er installert, start den med følgende alternativer:

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

Bruk deretter følgende Nginx-konfigurasjon:

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

Apache

Installer mod_wsgi:

apt-get install libapache2-mod-wsgi

Bruk deretter følgende 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>

Konfigurer klienten (Firefox)

Når serveren er installert og konfigurert, bør du konfigurere stasjonær Firefox-klient til å snakke med din nye Sync Server. Før du begynner, hvis du allerede er koblet til Firefox Sync-servere, må du logge ut. Ellers kan det hende at tilkoblingen til den nye serveren ikke fungerer.

Først åpner du en ny fane og skriver inn følgende adresse:

about:config

I søkefeltet skriver du inn identity.sync.tokenserver.uriog endre verdien til URL-en til serveren din med en bane på token/1.0/sync/1.5:

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

Sett opp Cacti på Debian Jessie

Sett opp Cacti på Debian Jessie

Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter

Sett opp iRedMail på Debian Wheezy

Sett opp iRedMail på Debian Wheezy

Bruker du et annet system? Denne opplæringen viser deg hvordan du installerer gruppevaren iRedMail på en ny installasjon av Debian Wheezy. Du bør bruke en serve

Slik konfigurerer du uovervåkede oppgraderinger på Debian 9 (Stretch)

Slik konfigurerer du uovervåkede oppgraderinger på Debian 9 (Stretch)

Bruker du et annet system? Hvis du kjøper en Debian-server, bør du alltid ha de nyeste sikkerhetsoppdateringene og oppdateringene, enten du sover eller ikke

Sett opp din egen DNS-server på Debian/Ubuntu

Sett opp din egen DNS-server på Debian/Ubuntu

Denne opplæringen forklarer hvordan du setter opp en DNS-server ved å bruke Bind9 på Debian eller Ubuntu. Bytt ut ditt-domenenavn.com gjennom hele artikkelen. På th

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

I denne artikkelen vil vi se hvordan du kompilerer og installerer Nginx mainline fra de offisielle kildene til Nginx med PageSpeed-modulen, som lar deg t

Hvordan installere Kanboard på Debian 9

Hvordan installere Kanboard på Debian 9

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Gitea på Debian 9

Hvordan installere Gitea på Debian 9

Bruker du et annet system? Gitea er et alternativt åpen kildekode, selvdrevet versjonskontrollsystem drevet av Git. Gitea er skrevet på Golang og er

Installer Lynis på Debian 8

Installer Lynis på Debian 8

Introduksjon Lynis er et gratis systemrevisjonsverktøy med åpen kildekode som brukes av mange systemadministratorer for å verifisere integriteten og herde systemene deres. Jeg

Hvordan installere Thelia 2.3 på Debian 9

Hvordan installere Thelia 2.3 på Debian 9

Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først

Hvordan installere Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Hvordan installere Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Golang er et programmeringsspråk utviklet av Google. Takket være sin allsidighet, enkelhet og pålitelighet har Golang blitt en av de mest populære

Tilbakestill MySQL Root-passord på Debian/Ubuntu

Tilbakestill MySQL Root-passord på Debian/Ubuntu

Hvis du har glemt MySQL root-passordet ditt, kan du tilbakestille det ved å følge trinnene i denne artikkelen. Prosessen er ganske enkel og fungerer på disse

Opprette nettverksandeler ved å bruke Samba på Debian

Opprette nettverksandeler ved å bruke Samba på Debian

Det er tider når vi trenger å dele filer som må være synlige for Windows-klienter. Siden Fuse-baserte systemer bare fungerer på Linux, bør du introdusere

Sette opp Counter Strike: Source på Debian

Sette opp Counter Strike: Source på Debian

I denne veiledningen skal vi sette opp en Counter Strike: Source-spillserver på Debian 7. Disse kommandoene ble testet på Debian 7, men de bør også fungere o

Hvordan installere Unturned 2.2.5 på Debian 8

Hvordan installere Unturned 2.2.5 på Debian 8

I denne veiledningen lærer du hvordan du setter opp en Unturned 2.2.5-server på en Vultr VPS som kjører Debian 8. Merk: Dette er en redigert versjon av Unturned som ikke

Hvordan installere Cachet på Debian 8

Hvordan installere Cachet på Debian 8

I denne opplæringen lærer du hvordan du installerer Cachet på Debian 8. Cachet er et kraftig åpen kildekode-statussidesystem. Installasjon Denne opplæringen er i gang

Sikkerhetskopier flere MySQL- eller MariaDB-databaser automatisk

Sikkerhetskopier flere MySQL- eller MariaDB-databaser automatisk

Introduksjon I denne artikkelen kan du gå gjennom hvordan du sikkerhetskopierer flere MySQL- eller MariaDB-databaser som sitter på samme maskin ved hjelp av et tilpasset bash-skript

Sette opp en Chroot på Debian

Sette opp en Chroot på Debian

Denne artikkelen vil lære deg hvordan du setter opp et chroot-fengsel på Debian. Jeg antar at du bruker Debian 7.x. Hvis du kjører Debian 6 eller 8, kan dette fungere, men

Hvordan installere Reader Self 3.5 RSS Reader på en Debian 9 LAMP VPS

Hvordan installere Reader Self 3.5 RSS Reader på en Debian 9 LAMP VPS

Bruker du et annet system? Reader Self 3.5 er en enkel og fleksibel, gratis og åpen kildekode, selvhostet RSS-leser og Google Reader-alternativ. Leser Sel

Hvordan installere Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Hvordan installere Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Bruker du et annet system? Backdrop CMS 1.8.0 er et enkelt og fleksibelt, mobilvennlig, gratis og åpen kildekode Content Management System (CMS) som lar oss

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer