Nustatykite „Firefox“ sinchronizavimo serverį „Debian 9“ arba „Ubuntu 16.04“.

„Firefox Sync“ yra naršyklės sinchronizavimo funkcija, leidžianti bendrinti duomenis ir nuostatas (pvz., žymes, istoriją, slaptažodžius, atidarytus skirtukus ir įdiegtus priedus) visuose įrenginiuose. „Mozilla“ taip pat siūlo „sinchronizavimo serverio“ programą, skirtą naudoti su „Firefox Sync“ vartotojams ir įmonėms, kurios nori priglobti savo sinchronizavimo duomenis. Šiame straipsnyje parodyta, kaip nustatyti „Mozilla Sync Server“.

Būtinos sąlygos

  • Naujai įdiegtas Vultr Debian 8, Debian 9 arba Ubuntu 16.04 serverio egzempliorius.
  • Sudo vartotojas .

Įdiekite reikiamus paketus

Atnaujinkite sistemą:

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

Norėdami sukurti ir paleisti sinchronizavimo serverį, turėsite įdiegti šiuos paketus:

  • python-dev
  • git
  • build-essential (C++ kompiliatorius, GCC kompiliatorius, make ir kiti reikalingi įrankiai).
  • sqlite3(jei norite naudoti MySQL duomenų bazę, o ne SQLite, sqlite3paketą galite pakeisti mariadb-serverarba mysql-server).
  • nginx(žiniatinklio serveris. Jūs turite pasirinkti, kurį žiniatinklio serverį norite naudoti iš apache2arba nginx).

Įdiekite paketus:

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

Serverio kūrimas

Mes klonuosime sinchronizavimo serverio Git saugyklą įvesdami šią komandą ir įveskite aplanką:

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

Vykdykite kūrimo komandą, kuri atsisiųs priklausomybes ir sukompiliuos kodą.

make build

Sinchronizuoti serverio konfigūraciją

Sinchronizavimo serverio konfigūracija labai paprasta, konfigūracijos faile ( ./syncserver.ini) reikia pakeisti tik kelis parametrus .

Atidarykite konfigūracijos failą naudodami mėgstamą teksto rengyklę (pavyzdžiui, 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ūsų serverio adresas turi būti nurodytas naudojant parametrą public_url:

public_url = http://fsync.example.com

Pastaba : numatytoji reikšmė public_url„http://localhost:5000/“ veiks jūsų vietiniame kompiuteryje bandymo tikslais.

Į sqlurigalimybe, mes odkomentować ir įdėti vietą arba URIkuris leis serverio prisijungti prie duomenų bazės ir saugoti informaciją:

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

Jei norite naudoti kito tipo DB:

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

secretParametrui „ “ turėsime sugeneruoti slaptą autentifikavimo žetonų raktą:

head -c 20 /dev/urandom | sha1sum

Pašalinkite slaptojo parametro eilutę ir nukopijuokite / įklijuokite grąžintą eilutę į slaptąjį parametrą:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

Pastaba : jei nieko neįdėsite į šį parametrą, serveris sugeneruos jį, tačiau jis bus kitoks kiekvieną kartą, kai serveris bus paleistas iš naujo.

allow\_new\_usersParametrui „ “ panaikinkite komentarą ir nustatykite, truekad paskyra pirmą kartą galėtų prisijungti prie serverio:

allow_new_users = true

Tada pakeisime audiencesparametrą " " ir įdėsime tą patį, ką ir public_uriparametrą " ", nepamiršdami atšaukti eilutės komentaro:

audiences = http://fsync.example.com

Galiausiai tiesiog pridėkite šią eilutę prie failo pabaigos:

forwarded_allow_ips = *

Ši eilutė padės išvengti klaidų pranešimų ir autorizacijos problemų.

Paleidžiamas sinchronizavimo serveris

Norėdami paleisti sinchronizavimo serverį, galite paleisti šią komandą:

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

... arba šis:

make serve &

Pirmoji parinktis leidžia pasirinkti konfigūracijos failo vietą; ir taip pat pateikti argumentą --threads 4, kuris leidžia sinchronizavimo serveriui priskirti daugiau galios.

Norėdami paleisti serverį kiekvieną kartą, kai paleidžiamas egzempliorius, į savo crontab galite įtraukti šią eilutę įvesdami crontab -ekomandą:

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

Žiniatinklio serverio konfigūracija

Galite naudoti skirtingus žiniatinklio serverius, suderinamus su WSGIprotokolu. Pavyzdžiui:

  • Nginx su uWSGI.
  • Apache kartu su mod_wsgi.

Nginx

„Nginx“ turite naudoti „Nginx“ įtaisytąjį tarpinį serverį, kaip parodyta toliau:

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“ vartotojai gali naudoti tik WSGI lizdą.

Įdiegti uWSGIper Pip:

pip install uwsgi

Įdiekite uWSGIatsisiųsdami šaltinio tarbalą:

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

Pastaba : Sukūrę uwsgidabartiniame kataloge turėsite dvejetainį failą.

Įdiegę paleiskite jį naudodami šias parinktis:

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

Tada naudokite šią Nginx konfigūraciją:

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

Apache

Įdiegti mod_wsgi:

apt-get install libapache2-mod-wsgi

Tada naudokite šį 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>

Konfigūruoti klientą (Firefox)

Kai serveris bus įdiegtas ir sukonfigūruotas, turėtumėte sukonfigūruoti darbalaukio „Firefox“ klientą, kad jis kalbėtų su naujuoju sinchronizavimo serveriu. Prieš pradėdami, jei jau esate prisijungę prie „Firefox“ sinchronizavimo serverių, turite atsijungti. Priešingu atveju ryšys su nauju serveriu gali neveikti.

Pirmiausia atidarykite naują skirtuką ir įveskite šį adresą:

about:config

Paieškos juostoje įveskite identity.sync.tokenserver.uriir pakeiskite jo reikšmę į savo serverio URL, kurio kelias yra token/1.0/sync/1.5:

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

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį