Ρύθμιση διακομιστή Firefox Sync στο CentOS 6

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

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

  • Ένα νέο Vultr CentOS 6 που αναπτύχθηκε πρόσφατα
  • Ένας χρήστης sudo .

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

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

sudo yum check-update

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

  • Mecurial
  • sqlite3
  • git
  • Python 2.6.6
  • Python 2.6.6 virtualenv
  • Python 2.6.6 SetupTools
  • Python 2.6.6 Developer Tools

Εγκαταστήστε την πιο πρόσφατη έκδοση του Mercurial:

sudo yum install mercurial

Εγκαταστήστε τα απαραίτητα εργαλεία ανάπτυξης και βιβλιοθήκες:

yum groupinstall 'Development Tools' 'Development Libraries'
yum install tk-devel libjpeg-devel mysql-devel python-devel httpd-devel zlib-devel bzip2-devel

Εγκαταστήστε το SQLite3:

sudo yum install sqlite

Εγκαταστήστε και δημιουργήστε την Python 2.6.6:

cd $home
sudo wget http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz
sudo tar xzvf Python-2.6.6.tgz
cd $home/Python-2.6.6
sudo ./configure --prefix=/opt/python2.6 --enable-thread --enable-shared --enable-unicode=ucs4
sudo make
sudo make install

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

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

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

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

make build

Εκκινήστε τον διακομιστή συγχρονισμού και βεβαιωθείτε ότι λειτουργεί σωστά:

bin/paster serve development.ini

Θα δείτε κάτι σαν αυτό:

Starting server in PID 5952.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000

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

Η διαμόρφωση του διακομιστή συγχρονισμού είναι πολύ απλή, υπάρχουν μόνο μερικές παράμετροι για αλλαγή στο αρχείο διαμόρφωσης ( ./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 &

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