Ρύθμιση διακομιστή Firefox Sync σε Debian 9 ή Ubuntu 16.04

Το Firefox Sync είναι μια δυνατότητα συγχρονισμού του προγράμματος περιήγησης που σας επιτρέπει να μοιράζεστε τα δεδομένα και τις προτιμήσεις σας (όπως τους σελιδοδείκτες, το ιστορικό, τους κωδικούς πρόσβασης, τις ανοιχτές καρτέλες και τα εγκατεστημένα πρόσθετα) σε όλες τις συσκευές σας. Η Mozilla προσφέρει επίσης μια εφαρμογή "διακομιστή συγχρονισμού" για χρήση με το Firefox Sync για χρήστες και επιχειρήσεις που προτιμούν να φιλοξενούν τα δικά τους δεδομένα συγχρονισμού. Αυτό το άρθρο σας δείχνει πώς να ρυθμίσετε το Mozilla Sync Server.

Προαπαιτούμενα

  • Μια πρόσφατα αναπτυγμένη παρουσία διακομιστή Vultr Debian 8, Debian 9 ή Ubuntu 16.04.
  • Ένας χρήστης sudo .

Εγκαταστήστε τα απαραίτητα πακέτα

Ενημερώστε το σύστημα:

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

Για να δημιουργήσετε και να εκτελέσετε το Sync Server, θα χρειαστεί να εγκαταστήσετε αυτά τα πακέτα:

  • python-dev
  • git
  • build-essential (C++ compiler, GCC compiler, make και άλλα απαιτούμενα εργαλεία).
  • sqlite3(αν θέλετε να χρησιμοποιήσετε μια βάση δεδομένων MySQL αντί για SQLite, μπορείτε να αντικαταστήσετε το sqlite3πακέτο με mariadb-serverή mysql-server).
  • nginx(διακομιστής Ιστού. Εναπόκειται σε εσάς να επιλέξετε από ποιον διακομιστή ιστού θέλετε να χρησιμοποιήσετε apache2ή nginx).

Εγκαταστήστε τα πακέτα:

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

Κατασκευή του διακομιστή

Θα κλωνοποιήσουμε το αποθετήριο Git του διακομιστή συγχρονισμού πληκτρολογώντας την ακόλουθη εντολή και μετά εισάγουμε το φάκελο:

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

Εκτελέστε την εντολή build που θα κατεβάσει τις εξαρτήσεις και θα μεταγλωττίσει τον κώδικα.

make build

Συγχρονισμός διαμόρφωσης διακομιστή

Η διαμόρφωση του διακομιστή συγχρονισμού είναι πολύ απλή, υπάρχουν μόνο μερικές παράμετροι για αλλαγή στο αρχείο διαμόρφωσης ( ./syncserver.ini).

Ανοίξτε το αρχείο διαμόρφωσης με τον αγαπημένο σας επεξεργαστή κειμένου (για παράδειγμα 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

Η διεύθυνση του διακομιστή σας πρέπει να καθοριστεί μέσω της παραμέτρου public_url:

public_url = http://fsync.example.com

Σημείωση : η προεπιλεγμένη τιμή του public_url"http://localhost:5000/" θα λειτουργήσει για σκοπούς δοκιμής στον τοπικό σας υπολογιστή.

Στην sqluriεπιλογή, θα αποσχολιάσουμε και θα βάλουμε την τοποθεσία ή URIπου θα επιτρέψει στον διακομιστή να συνδέσει τη βάση δεδομένων και να αποθηκεύσει τις πληροφορίες:

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

Εάν θέλετε να χρησιμοποιήσετε άλλο τύπο DB:

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

Για την secretπαράμετρο " ", θα πρέπει να δημιουργήσουμε ένα μυστικό κλειδί για διακριτικά ελέγχου ταυτότητας:

head -c 20 /dev/urandom | sha1sum

Καταργήστε το σχόλιο της γραμμής της μυστικής παραμέτρου και, στη συνέχεια, αντιγράψτε/επικολλήστε τη συμβολοσειρά που επιστράφηκε στη μυστική παράμετρο:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

Σημείωση : Εάν δεν βάλετε τίποτα σε αυτήν την παράμετρο, ο διακομιστής θα δημιουργήσει ένα, αλλά θα είναι διαφορετικό κάθε φορά που γίνεται επανεκκίνηση του διακομιστή.

Για την allow\_new\_usersπαράμετρο " ", αφαιρέστε την από το σχόλιο και ορίστε την έτσι ώστε trueνα επιτρέπει στον λογαριασμό μας να συνδεθεί στον διακομιστή μας για πρώτη φορά:

allow_new_users = true

Στη συνέχεια θα τροποποιήσουμε την audiencesπαράμετρο " " και θα βάλουμε το ίδιο πράγμα με την public_uriπαράμετρο " " χωρίς να ξεχάσουμε να αποσχολιάσουμε τη γραμμή:

audiences = http://fsync.example.com

Τέλος, απλώς προσθέστε την ακόλουθη γραμμή στο τέλος του αρχείου σας:

forwarded_allow_ips = *

Αυτή η γραμμή θα σας βοηθήσει να αποφύγετε μηνύματα λάθους και ζητήματα εξουσιοδότησης.

Εκκίνηση του διακομιστή συγχρονισμού

Για να ξεκινήσετε τον διακομιστή συγχρονισμού, μπορείτε είτε να ξεκινήσετε την ακόλουθη εντολή:

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

... ή αυτό:

make serve &

Η πρώτη επιλογή επιτρέπει την επιλογή της θέσης του αρχείου διαμόρφωσης. και επίσης να βάλουμε το όρισμα --threads 4, το οποίο επιτρέπει την εκχώρηση περισσότερης ισχύος στον διακομιστή συγχρονισμού.

Για να ξεκινήσετε τον διακομιστή κάθε φορά που εκκινείται η παρουσία σας, μπορείτε να προσθέσετε την ακόλουθη γραμμή στο crontab σας πληκτρολογώντας την crontab -eεντολή:

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

Διαμόρφωση διακομιστή Ιστού

Μπορείτε να χρησιμοποιήσετε διαφορετικούς διακομιστές Ιστού που είναι συμβατοί με το WSGIπρωτόκολλο. Για παράδειγμα:

  • Nginx με το uWSGI.
  • Apache σε συνδυασμό με το mod_wsgi.

Nginx

Για το Nginx, πρέπει να χρησιμοποιήσετε τον ενσωματωμένο διακομιστή μεσολάβησης του Nginx όπως φαίνεται παρακάτω:

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 να χρησιμοποιούν μόνο την υποδοχή WSGI.

Εγκατάσταση uWSGIμέσω Pip:

pip install uwsgi

Εγκαταστήστε uWSGIμέσω λήψης tarball πηγής:

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

Σημείωση : Μετά την κατασκευή, θα έχετε ένα uwsgiδυαδικό αρχείο στον τρέχοντα κατάλογο.

Μόλις εγκατασταθεί, ξεκινήστε με τις ακόλουθες επιλογές:

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

Στη συνέχεια, χρησιμοποιήστε την ακόλουθη διαμόρφωση Nginx:

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

Απάχης

Εγκατάσταση mod_wsgi:

apt-get install libapache2-mod-wsgi

Στη συνέχεια χρησιμοποιήστε τον ακόλουθο 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>

Διαμόρφωση του πελάτη (Firefox)

Αφού εγκατασταθεί και διαμορφωθεί ο διακομιστής, θα πρέπει να ρυθμίσετε τις παραμέτρους του προγράμματος-πελάτη Firefox για επιτραπέζιους υπολογιστές ώστε να συνομιλεί με τον νέο σας διακομιστή συγχρονισμού. Πριν ξεκινήσετε, εάν είστε ήδη συνδεδεμένοι με διακομιστές Firefox Sync, πρέπει να αποσυνδεθείτε. Διαφορετικά, η σύνδεση με τον νέο διακομιστή ενδέχεται να μην λειτουργεί.

Αρχικά, ανοίξτε μια νέα καρτέλα και εισαγάγετε την ακόλουθη διεύθυνση:

about:config

Στη γραμμή αναζήτησης, εισαγάγετε identity.sync.tokenserver.uriκαι αλλάξτε την τιμή του στη διεύθυνση URL του διακομιστή σας με μια διαδρομή token/1.0/sync/1.5:

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

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα