Si vous utilisez le navigateur Mozilla Firefox (Iceweasel) , vous êtes probablement au courant de l’opportunité: la synchronisation des données: mots de passe, signets, paramètres, modules complémentaires, etc. Et ayant votre propre serveur sous Linux, vous pouvez facilement organiser votre propre stockage.
Dans la version 1.0, le service était complètement remplaçable. Autrement dit, dans les paramètres du navigateur, vous pouvez spécifier l'adresse de votre serveur et l'enregistrement du compte, et le stockage des données a été effectué sur votre serveur. Mais depuis la version 1.5, le service de synchronisation n'est qu'une partie des services de Mozilla. Vous pouvez toujours configurer votre service de synchronisation, mais l'enregistrement du compte se fera via le site Web de Mozilly. Et les données seront stockées sur votre serveur. :)
Certes, vous pouvez démarrer immédiatement les comptes Mozilla sur votre serveur. Mais cela peut être considéré dans le prochain article.
Je vous recommande également de créer obligatoirement un utilisateur pour le compte duquel le service de synchronisation Firefox sera lancé.
Contenu de l'article:
- Установка компонентов 1 Installation des composants
- Настройка Sync Server 2 Configuration du serveur de synchronisation
- Связка с nginx 3 Bundle avec nginx
- Запуск sync server при помощи screen 4 Démarrer le serveur de synchronisation à l'aide de l'écran
- Настройка синхронизации в Firefox 5 Configuration de la synchronisation dans Firefox
- Обновление Firefox sync server 6 Mise à jour du serveur de synchronisation Firefox
Installation de composants
Installez les composants nécessaires:
# aptitude installe python-dev git-core python-virtualenv
Vous pouvez maintenant commencer à créer le service à partir de fichiers source. Mais vous devez d’abord les copier avec git.
# git clone https://github.com/mozilla-services/syncserver
Allez dans le dossier source.
# cd syncserver
Et collectionne ...
# make build
Configuration du serveur de synchronisation
Mon site Web, via lequel les données seront synchronisées, fonctionne à l'aide du protocole https et nginx agit en tant que serveur Web. Toutes les demandes de synchronisation sont envoyées par proxy de nginx au service de synchronisation. Par conséquent, les paramètres de configuration seront donnés dans cet esprit.
Le fichier de configuration est syncserver.ini. Ouvrez-le dans votre éditeur de texte préféré et modifiez les paramètres suivants.
[syncserver] public_url = https://mysite.com/dir/
Ici, vous devez indiquer l'adresse où le service de synchronisation sera disponible. N'hésitez pas à entrer l'adresse de votre domaine (avec https, si supporté). Vous pouvez également spécifier le chemin, comme dans mon exemple.
sqluri = sqlite: ////path/to/database/file.db
C'est le chemin d'accès au fichier de base de données au format SQLite. Le fichier de données peut être stocké dans le répertoire de base de l'utilisateur pour le compte duquel le service est lancé.
Ensuite, vous devez spécifier la clé secrète. Exécutez la commande suivante dans la console:
# head -c 20 / dev / urandom | sha1sum
La commande va générer de manière aléatoire une clé secrète. Décommentez le paramètre secret et spécifiez la clé reçue. Par exemple:
secret = db8a203aed5fe3e4594d4b75990acb76242efd35
Bundle avec nginx
Maintenant, organisons le travail du service de synchronisation et de nginx.
La directive [server: main] du fichier de configuration syncserver.ini est convertie comme suit:
[serveur: principal] utilisation = oeuf: gunicorn hôte = 127.0.0.1 port = 5000 travailleurs = 2 délai d'attente = 60
Après cela, ouvrez le fichier de configuration nginx avec votre site, ajoutez l'emplacement suivant à cet endroit:
serveur {
...
emplacement / dir {
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 désactivé;
proxy_read_timeout 120;
proxy_connect_timeout 10;
proxy_pass http://127.0.0.1 span000 /;
}
...
} Et redémarrez Nginx. Puis démarrez le service de synchronisation:
# local / bin / pserve syncserver.ini
Démarrage du serveur de synchronisation à l'aide de l'écran
Pour faciliter le démarrage du service de synchronisation, créez dans le dossier avec le service un fichier .sh avec un nom quelconque et écrivez-y les éléments suivants:
#! / bin / bash écran -A -d -m -S ffsync permet de servir
Ce sera votre script de démarrage. :) Il ne reste plus qu'à le démarrer et le service fonctionnera en mode réduit. Vous pouvez agrandir la fenêtre avec la commande screen -x ffsync .
Paramètre de synchronisation dans Firefox
Dans le nouvel onglet, ouvrez la page about: config en tapant l'adresse dans la barre d'adresse. Et recherchez le paramètre services.sync.tokenServerURI . Dans la valeur de ce paramètre, vous devrez spécifier l'adresse de votre serveur. Par exemple:
services.sync.tokenServerURI: http://sync.example.com/token/1.0/sync/1.5
Dans ce cas, vous devez remplacer ici uniquement http://sync.example.com/ . Si le service de synchronisation est configuré sur votre dossier, tel que http://sync.example.com/dir/, ce chemin doit être spécifié avec le jeton / 1.0 / sync / 1.5 .
Mise à jour du serveur de synchronisation Firefox
Périodiquement, le service devra être mis à jour. Et vous pouvez le mettre à jour en exécutant les commandes suivantes dans l'ordre:
cd / chemin / à / syncserver git stash # enregistrer n'importe quel fichier local dans le fichier de configuration git pull # obtenir les dernières mises à jour de github git stash pop # réapplique les modifications locales à partir du fichier de configuration make build # extrait toutes les dépendances mises à jour
UPD 30/05/2015: En guise de test, j'ai essayé d'installer firefox sync sur la partition du système de fichiers btrfs. Mais à chaque fois, il y avait un problème avec la base en sqlite. Je n'ai pas observé une telle erreur sur la partition ext4.
