Iestatiet Firefox sinhronizācijas serveri operētājsistēmā Debian 9 vai Ubuntu 16.04

Firefox Sync ir pārlūkprogrammas sinhronizācijas līdzeklis, kas ļauj koplietot datus un preferences (piemēram, grāmatzīmes, vēsturi, paroles, atvērtās cilnes un instalētos papildinājumus) visās jūsu ierīcēs. Mozilla piedāvā arī "sinhronizācijas servera" lietojumprogrammu lietošanai kopā ar Firefox Sync lietotājiem un uzņēmumiem, kuri izvēlas mitināt savus sinhronizācijas datus. Šajā rakstā ir parādīts, kā iestatīt Mozilla Sync Server.

Priekšnoteikumi

  • Nesen izvietots Vultr Debian 8, Debian 9 vai Ubuntu 16.04 servera gadījums.
  • Sudo lietotāju .

Instalējiet nepieciešamās pakotnes

Atjauniniet sistēmu:

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

Lai izveidotu un palaistu sinhronizācijas serveri, jums būs jāinstalē šīs pakotnes:

  • python-dev
  • git
  • build-essential (C++ kompilators, GCC kompilators, marka un citi nepieciešamie rīki).
  • sqlite3(ja vēlaties izmantot MySQL datu bāzi, nevis SQLite, varat aizstāt sqlite3pakotni ar mariadb-servervai mysql-server).
  • nginx(tīmekļa serveris. Jūs varat izvēlēties, kuru tīmekļa serveri vēlaties izmantot no apache2vai nginx).

Instalējiet pakotnes:

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

Servera veidošana

Mēs klonēsim sinhronizācijas servera Git repozitoriju, ierakstot šādu komandu un pēc tam ievadiet mapi:

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

Palaidiet būvēšanas komandu, kas lejupielādēs atkarības un apkopos kodu.

make build

Sinhronizēt servera konfigurāciju

Sinhronizācijas servera konfigurācija ir ļoti vienkārša, konfigurācijas failā ( ./syncserver.ini) ir jāmaina tikai daži parametri .

Atveriet konfigurācijas failu ar savu iecienītāko teksta redaktoru (piemēram, 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

Jūsu servera adrese ir jānorāda, izmantojot parametru public_url:

public_url = http://fsync.example.com

Piezīme : noklusējuma vērtība public_url"http://localhost:5000/" darbosies testēšanas nolūkos jūsu vietējā datorā.

Ar sqluriiespēju, mēs uncomment un nodot to atrašanās vietu vai URIkas ļaus serverim pieslēgt datu bāzi un uzglabāt informāciju:

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

Ja vēlaties izmantot cita veida DB:

sqluri = pymysql://username:password@db.example.com/sync

secretParametram " " mums būs jāģenerē slepenā atslēga autentifikācijas marķieriem:

head -c 20 /dev/urandom | sha1sum

Atņemiet komentāru no slepenā parametra rindiņas un pēc tam kopējiet/ielīmējiet atgriezto virkni slepenajā parametrā:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

Piezīme : ja neko neievietojat šajā parametrā, serveris to ģenerēs, taču tas būs atšķirīgs katru reizi, kad serveris tiek restartēts.

allow\_new\_usersParametram " " noņemiet komentāru un iestatiet to tā, truelai ļautu mūsu kontam pirmo reizi izveidot savienojumu ar mūsu serveri:

allow_new_users = true

Pēc tam mēs modificēsim audiencesparametru " " un ievietosim to pašu, ko public_uriparametram " ", neaizmirstot izņemt rindiņas komentārus:

audiences = http://fsync.example.com

Visbeidzot, faila beigās vienkārši pievienojiet šādu rindiņu:

forwarded_allow_ips = *

Šī rindiņa palīdzēs izvairīties no kļūdu ziņojumiem un autorizācijas problēmām.

Tiek startēts sinhronizācijas serveris

Lai palaistu sinhronizācijas serveri, varat palaist šādu komandu:

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

... vai šis:

make serve &

Pirmā opcija ļauj izvēlēties konfigurācijas faila atrašanās vietu; kā arī ievietot argumentu --threads 4, kas ļauj piešķirt vairāk jaudas sinhronizācijas serverim.

Lai palaistu serveri katru reizi, kad instancē tiek palaists, varat pievienot šādu rindiņu crontab, ierakstot crontab -ekomandu:

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

Web servera konfigurācija

Varat izmantot dažādus tīmekļa serverus, kas ir saderīgi ar WSGIprotokolu. Piemēram:

  • Nginx ar uWSGI.
  • Apache apvienojumā ar mod_wsgi.

Nginx

Lai izmantotu Nginx, jums ir jāizmanto Nginx iebūvētais starpniekserveris, kā parādīts tālāk:

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

Nginx lietotāji var izmantot tikai WSGI ligzdu.

Instalējiet, uWSGIizmantojot Pip:

pip install uwsgi

Instalējiet uWSGI, lejupielādējot avota tarbolu:

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

Piezīme : pēc izveides uwsgipašreizējā direktorijā būs binārs.

Pēc instalēšanas sāciet to ar šādām opcijām:

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

Pēc tam izmantojiet šādu Nginx konfigurāciju:

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

Apache

Instalēt mod_wsgi:

apt-get install libapache2-mod-wsgi

Pēc tam izmantojiet šādu 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>

Konfigurējiet klientu (Firefox)

Kad serveris ir instalēts un konfigurēts, jums jākonfigurē darbvirsmas Firefox klients, lai tas runātu ar jauno sinhronizācijas serveri. Ja pirms darba sākšanas jau esat izveidojis savienojumu ar Firefox sinhronizācijas serveriem, jums ir jāatsakās. Pretējā gadījumā savienojums ar jauno serveri var nedarboties.

Vispirms atveriet jaunu cilni un ievadiet šādu adresi:

about:config

Meklēšanas joslā ievadiet identity.sync.tokenserver.uriun mainiet tā vērtību uz sava servera URL ar ceļu token/1.0/sync/1.5:

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

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk