A Firefox Sync Server beállítása Debian 9 vagy Ubuntu 16.04 rendszeren

A Firefox Sync egy böngésző szinkronizálási funkciója, amellyel megoszthatja adatait és beállításait (például könyvjelzőit, előzményeit, jelszavait, megnyitott lapjait és telepített bővítményeit) az összes eszközén. A Mozilla egy "szinkronizációs szerver" alkalmazást is kínál a Firefox Sync alkalmazáshoz azoknak a felhasználóknak és vállalkozásoknak, akik inkább saját szinkronizálási adataikat tárolják. Ez a cikk bemutatja a Mozilla Sync Server beállítását.

Előfeltételek

  • Egy újonnan telepített Vultr Debian 8, Debian 9 vagy Ubuntu 16.04 szerverpéldány.
  • Egy sudo felhasználó .

Telepítse a szükséges csomagokat

Frissítse a rendszert:

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

A Sync Server felépítéséhez és futtatásához telepítenie kell a következő csomagokat:

  • python-dev
  • git
  • build-essential (C++ fordító, GCC fordító, make és egyéb szükséges eszközök).
  • sqlite3(ha a helyett MySQL adatbázist szeretne használni SQLite, a sqlite3csomagot helyettesítheti a mariadb-servervagy -ra mysql-server).
  • nginx(webszerver. Ön dönti el, melyik webszervert kívánja használni a apache2vagy a nginx).

Telepítse a csomagokat:

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

A szerver építése

A következő parancs beírásával klónozzuk a szinkronizációs szerver Git tárházát, majd beírjuk a mappát:

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

Futtassa a build parancsot, amely letölti a függőségeket és lefordítja a kódot.

make build

Sync Server konfiguráció

A szinkronizáló szerver beállítása nagyon egyszerű, csak néhány paramétert kell módosítani a konfigurációs fájlban ( ./syncserver.ini).

Nyissa meg a konfigurációs fájlt kedvenc szövegszerkesztőjével (például 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

A szerver címét a következő paraméterrel kell megadni public_url:

public_url = http://fsync.example.com

Megjegyzés : a public_url"http://localhost:5000/" alapértelmezett értéke tesztelési célokra működik a helyi gépen.

Az sqluriopciónál töröljük a megjegyzéseket, és megadjuk a helyet, vagy URIamely lehetővé teszi a szerver számára az adatbázishoz való csatlakozást és az információk tárolását:

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

Ha más típusú DB-t szeretne használni:

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

A " secret" paraméterhez létre kell hoznunk egy titkos kulcsot a hitelesítési tokenekhez:

head -c 20 /dev/urandom | sha1sum

Törölje a megjegyzést a titkos paraméter sorából, majd másolja/illessze be a visszaadott karakterláncot a titkos paraméterbe:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

Megjegyzés : Ha nem ad meg semmit ebben a paraméterben, a szerver generál egyet, de minden alkalommal más lesz, amikor újraindítják.

A " allow\_new\_users" paraméternél törölje a megjegyzést, és állítsa be úgy, truehogy fiókunk először csatlakozhasson a szerverünkhöz:

allow_new_users = true

Ezután módosítjuk a " audiences" paramétert, és ugyanazt adjuk meg, mint a " public_uri" paramétert anélkül, hogy elfelejtené a sor megjegyzését:

audiences = http://fsync.example.com

Végül csak adja hozzá a következő sort a fájl végéhez:

forwarded_allow_ips = *

Ez a sor segít elkerülni a hibaüzeneteket és az engedélyezési problémákat.

A Sync Server indítása

A szinkronizálási kiszolgáló elindításához a következő parancsot indíthatja el:

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

...vagy ez:

make serve &

Az első opció lehetővé teszi a konfigurációs fájl helyének kiválasztását; és adja meg az argumentumot is --threads 4, amely lehetővé teszi nagyobb teljesítmény hozzárendelését a szinkronizáló szerverhez.

Ha a kiszolgálót minden alkalommal el szeretné indítani a példány indításakor, a következő sort adhatja a crontabhoz a crontab -eparancs beírásával :

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

Webszerver konfigurációja

Különféle webszervereket használhat, amelyek kompatibilisek a WSGIprotokollal. Például:

  • Nginx uWSGI-vel.
  • Apache mod_wsgi-vel kombinálva.

Nginx

Az Nginx esetében az Nginx beépített proxyját kell használnia az alábbiak szerint:

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

Az Nginx felhasználók csak a WSGI aljzatot használhatják.

Telepítés uWSGIPip-en keresztül:

pip install uwsgi

Telepítés uWSGIegy forrás tarball letöltésével:

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

Megjegyzés : A build után egy uwsgibináris fájl lesz az aktuális könyvtárban.

A telepítés után indítsa el a következő lehetőségekkel:

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

Ezután használja a következő Nginx konfigurációt:

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

Apache

Telepítés mod_wsgi:

apt-get install libapache2-mod-wsgi

Ezután használja a következő vhost-ot:

<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>

A kliens konfigurálása (Firefox)

A szerver telepítése és konfigurálása után be kell állítania az asztali Firefox klienst, hogy kommunikáljon az új szinkronizáló kiszolgálóval. Mielőtt elkezdené, ki kell jelentkeznie, ha már csatlakozott a Firefox Sync Servers szolgáltatáshoz. Ellenkező esetben előfordulhat, hogy a kapcsolat az új szerverrel nem működik.

Először nyisson meg egy új lapot, és írja be a következő címet:

about:config

A keresősávba írja be identity.sync.tokenserver.uriés módosítsa az értékét a szerver URL-jére a következő elérési úttal token/1.0/sync/1.5:

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

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.