Richten Sie Firefox Sync Server unter Debian 9 oder Ubuntu 16.04 ein

Firefox Sync ist eine Browsersynchronisierungsfunktion, mit der Sie Ihre Daten und Einstellungen (wie Lesezeichen, Verlauf, Kennwörter, geöffnete Registerkarten und installierte Add-Ons) auf allen Ihren Geräten teilen können. Mozilla bietet auch eine "Synchronisationsserver" -Anwendung zur Verwendung mit Firefox Sync für Benutzer und Unternehmen, die ihre eigenen Synchronisationsdaten hosten möchten. Dieser Artikel zeigt Ihnen, wie Sie Mozilla Sync Server einrichten.

Voraussetzungen

  • Eine neu bereitgestellte Vultr Debian 8-, Debian 9- oder Ubuntu 16.04-Serverinstanz.
  • Ein Sudo-Benutzer .

Installieren Sie die erforderlichen Pakete

Aktualisieren Sie das System:

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

Um Sync Server zu erstellen und auszuführen, müssen Sie die folgenden Pakete installieren:

  • python-dev
  • git
  • build-essential (C ++ - Compiler, GCC-Compiler, make und andere erforderliche Tools).
  • sqlite3(Wenn Sie stattdessen eine MySQL-Datenbank verwenden möchten SQLite, können Sie das sqlite3Paket durch mariadb-serveroder ersetzen mysql-server.)
  • nginx(Webserver. Es liegt an Ihnen, welchen Webserver Sie verwenden möchten apache2oder nginx).

Installieren Sie die Pakete:

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

Server erstellen

Wir klonen das Git-Repository des Synchronisationsservers, indem wir den folgenden Befehl eingeben und dann den Ordner eingeben:

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

Führen Sie den Befehl build aus, der die Abhängigkeiten herunterlädt und den Code kompiliert.

make build

Serverkonfiguration synchronisieren

Die Konfiguration des Synchronisationsservers ist sehr einfach. In der Konfigurationsdatei ( ./syncserver.ini) müssen nur wenige Parameter geändert werden .

Öffnen Sie die Konfigurationsdatei mit Ihrem bevorzugten Texteditor (zum Beispiel 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

Die Adresse Ihres Servers muss über den Parameter angegeben werden public_url:

public_url = http://fsync.example.com

Hinweis : Der Standardwert public_url"http: // localhost: 5000 /" funktioniert zu Testzwecken auf Ihrem lokalen Computer.

In der sqluriOption werden wir den Speicherort auskommentieren und angeben, oder URIder Server kann die Datenbank verbinden und die Informationen speichern:

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

Wenn Sie einen anderen DB-Typ verwenden möchten:

sqluri = pymysql://username:[email protected]/sync

Für den secretParameter " " müssen wir einen geheimen Schlüssel für Authentifizierungstoken generieren:

head -c 20 /dev/urandom | sha1sum

Kommentieren Sie die Zeile des geheimen Parameters aus und kopieren Sie die zurückgegebene Zeichenfolge in den geheimen Parameter:

secret = db8a203aed5fe3e4594d4b75990acb76242efd35

Hinweis : Wenn Sie in diesen Parameter nichts eingeben, generiert der Server einen, der sich jedoch bei jedem Neustart des Servers unterscheidet.

allow\_new\_usersKommentieren Sie den Parameter " " aus und stellen Sie ihn so ein true, dass unser Konto zum ersten Mal eine Verbindung zu unserem Server herstellen kann:

allow_new_users = true

Wir werden dann den audiencesParameter " " ändern und das Gleiche wie den public_uriParameter " " setzen, ohne zu vergessen, die Zeile zu kommentieren:

audiences = http://fsync.example.com

Fügen Sie zum Schluss einfach die folgende Zeile am Ende Ihrer Datei hinzu:

forwarded_allow_ips = *

Diese Zeile hilft Ihnen, Fehlermeldungen und Autorisierungsprobleme zu vermeiden.

Sync Server starten

Um den Synchronisationsserver zu starten, können Sie entweder den folgenden Befehl starten:

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

... oder dieses:

make serve &

Mit der ersten Option können Sie den Speicherort der Konfigurationsdatei auswählen. und auch, um das Argument zu setzen --threads 4, das es ermöglicht, dem Synchronisationsserver mehr Leistung zuzuweisen.

Um den Server bei jedem Start Ihrer Instanz zu starten, können Sie der crontab die folgende Zeile hinzufügen, indem Sie den folgenden crontab -eBefehl eingeben :

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

Webserverkonfiguration

Sie können verschiedene Webserver verwenden, die mit dem WSGIProtokoll kompatibel sind . Zum Beispiel:

  • Nginx mit uWSGI.
  • Apache kombiniert mit mod_wsgi.

Nginx

Für Nginx müssen Sie den integrierten Proxy von Nginx wie folgt verwenden:

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-Benutzer können nur den WSGI-Socket verwenden.

Installation uWSGIüber Pip:

pip install uwsgi

Installation uWSGIüber das Herunterladen eines Quell-Tarballs:

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

Hinweis : Nach dem Build befindet sich uwsgiim aktuellen Verzeichnis eine Binärdatei.

Starten Sie es nach der Installation mit den folgenden Optionen:

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

Verwenden Sie dann die folgende Nginx-Konfiguration:

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

Apache

Installieren mod_wsgi:

apt-get install libapache2-mod-wsgi

Verwenden Sie dann den folgenden 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>

Konfigurieren Sie den Client (Firefox)

Sobald der Server installiert und konfiguriert wurde, sollten Sie den Desktop-Firefox-Client so konfigurieren, dass er mit Ihrem neuen Synchronisierungsserver kommuniziert. Bevor Sie beginnen, müssen Sie sich abmelden, wenn Sie bereits mit Firefox Sync Servern verbunden sind. Andernfalls funktioniert die Verbindung zum neuen Server möglicherweise nicht.

Öffnen Sie zunächst eine neue Registerkarte und geben Sie die folgende Adresse ein:

about:config

Geben Sie in der Suchleiste identity.sync.tokenserver.uriden Wert ein und ändern Sie ihn in die URL Ihres Servers mit dem Pfad token/1.0/sync/1.5:

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


Leave a Comment

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein

Vultr bietet Ihnen eine hervorragende Konnektivität für private Netzwerke für Server, die am selben Standort ausgeführt werden. Aber manchmal möchten Sie zwei Server in verschiedenen Ländern

Installieren und Verwenden von Yunohost unter Debian 7 x64

Installieren und Verwenden von Yunohost unter Debian 7 x64

Dieses Tutorial führt Sie durch die Installation des Yunohost Complete Server-Kontrollfelds unter Debian. Folgen Sie einfach dem Tutorial und Ihr Server wird in Betrieb sein

Chroot auf Debian einrichten

Chroot auf Debian einrichten

In diesem Artikel erfahren Sie, wie Sie unter Debian ein Chroot-Gefängnis einrichten. Ich gehe davon aus, dass Sie Debian 7.x verwenden. Wenn Sie Debian 6 oder 8 ausführen, funktioniert dies möglicherweise, bu

So installieren Sie PiVPN unter Debian

So installieren Sie PiVPN unter Debian

Einführung Eine einfache Möglichkeit, einen VPN-Server unter Debian einzurichten, ist PiVPN. PiVPN ist ein Installationsprogramm und ein Wrapper für OpenVPN. Es werden einfache Befehle für Sie erstellt

Richten Sie Cacti auf Debian Jessie ein

Richten Sie Cacti auf Debian Jessie ein

Einführung Cacti ist ein Open-Source-Überwachungs- und Grafiktool, das vollständig auf RRD-Daten basiert. Mit Cacti können Sie nahezu jede Art von Gerät überwachen

Einrichten von Teamspeak 3 auf Debian Wheezy

Einrichten von Teamspeak 3 auf Debian Wheezy

Dieser Artikel zeigt Ihnen, wie Sie einen Teamspeak 3-Server unter Debian Wheezy ausführen. Bevor Sie damit beginnen können, sollten Sie einige Vorbereitungen für Ihr VPS treffen. ich

Verwenden von MySQL Views unter Debian 7

Verwenden von MySQL Views unter Debian 7

Einführung MySQL verfügt über eine großartige Funktion, die als Ansichten bezeichnet wird. Ansichten sind gespeicherte Abfragen. Stellen Sie sich diese als Alias ​​für eine ansonsten lange Abfrage vor. In diesem Handbuch

So installieren Sie ModSecurity für Nginx unter CentOS 7, Debian 8 und Ubuntu 16.04

So installieren Sie ModSecurity für Nginx unter CentOS 7, Debian 8 und Ubuntu 16.04

ModSecurity ist ein WAF-Modul (Open Source Web Application Firewall), mit dem Apache, Nginx und IIS vor verschiedenen Cyberangriffen geschützt werden können

Installieren Sie Hiawatha Web Server mit PHP-FPM und MySQL unter Debian

Installieren Sie Hiawatha Web Server mit PHP-FPM und MySQL unter Debian

Hiawatha ist ein Webserver, der Einfachheit, Benutzerfreundlichkeit und Sicherheit im Auge hat. Es ist die perfekte Lösung für kleinere Server, ältere Hardware oder Embedde

Installieren Sie Lynis auf Debian 8

Installieren Sie Lynis auf Debian 8

Einführung Lynis ist ein kostenloses Open-Source-Tool zur Systemprüfung, das von vielen Systemadministratoren verwendet wird, um die Integrität zu überprüfen und ihre Systeme zu härten. ich

Überwachen Sie den Debian-Serverstatus mit Munin

Überwachen Sie den Debian-Serverstatus mit Munin

Munin ist ein Überwachungstool zur Überwachung von Prozessen und Ressourcen in Ihrer Maschine und präsentiert die Informationen in Diagrammen über eine Weboberfläche. Verwenden Sie die folgenden

So installieren Sie das NodeBB-Forum unter Debian 9

So installieren Sie das NodeBB-Forum unter Debian 9

Verwenden Sie ein anderes System? NodeBB ist ein Node.js-basiertes Forum. Es verwendet Web-Sockets für sofortige Interaktionen und Echtzeitbenachrichtigungen. NodeBB-Quellcode i

So installieren Sie BigTree CMS auf einem Debian 9 LAMP VPS

So installieren Sie BigTree CMS auf einem Debian 9 LAMP VPS

Verwenden Sie ein anderes System? BigTree CMS 4.2 ist ein schnelles und leichtes, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen mit umfangreichen Funktionen

So installieren Sie Koel unter Debian 9

So installieren Sie Koel unter Debian 9

Verwenden Sie ein anderes System? Koel ist eine einfache webbasierte persönliche Audio-Streaming-App, die auf der Clientseite in Vue und auf der Serverseite in Laravel geschrieben wurde. Koe

Sticky Session mit Docker Swarm (CE) auf Debian 9

Sticky Session mit Docker Swarm (CE) auf Debian 9

Verwenden Sie ein anderes System? Einführung Docker Swarm verwandelt Ihre einzelnen Server in einen Computercluster. Erleichterung der Skalierung, Hochverfügbarkeit an

So installieren Sie Paste 2.1 auf einem Debian 9 LAMP VPS

So installieren Sie Paste 2.1 auf einem Debian 9 LAMP VPS

Verwenden Sie ein anderes System? Paste 2.1 ist eine einfache und flexible, kostenlose und Open-Source-Pastebin-Anwendung zum Speichern von Code, Text und mehr. Es war ursprünglich

Erzwinge Apt-Get auf IPv4 oder IPv6 unter Ubuntu oder Debian

Erzwinge Apt-Get auf IPv4 oder IPv6 unter Ubuntu oder Debian

Hier bei Vultr haben wir die Option, IPv6 auf allen bereitstellbaren VPS zu aktivieren. Aber damit bevorzugen einige Programme und Befehle den einen oder anderen Witz

So installieren Sie Automad CMS unter Debian 9

So installieren Sie Automad CMS unter Debian 9

Verwenden Sie ein anderes System? Einführung Automad ist ein Open Source File-basiertes Content Management System (CMS) und eine in PHP geschriebene Template Engine. Automa

So installieren Sie Apache Cassandra 3.11.x unter Debian 9

So installieren Sie Apache Cassandra 3.11.x unter Debian 9

Verwenden Sie ein anderes System? Apache Cassandra ist ein kostenloses und Open-Source-NoSQL-Datenbankverwaltungssystem, das Skalierbarkeit bietet

So konfigurieren Sie Snort unter Debian

So konfigurieren Sie Snort unter Debian

Snort ist ein kostenloses Network Intrusion Detection System (IDS). In weniger offiziellen Begriffen können Sie Ihr Netzwerk in Echtzeit auf verdächtige Aktivitäten überwachen

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.