Ce tutoriel explique comment installer et utiliser BitTorrent Sync pour sauvegarder automatiquement un serveur Linux. BitTorrent Sync vous permet de synchroniser des dossiers entre des machines en utilisant le protocole BitTorrent. Vous pouvez synchroniser des dossiers entre votre ordinateur et votre smartphone directement. Il n’est pas nécessaire de télécharger le contenu sur des serveurs tiers. Les contenus transmis par BitTorrent Sync sont protégés par un cryptage AES 256 bits.
Comme il utilise le protocole BitTorrent, il doit y avoir au moins deux machines en ligne pour synchroniser les dossiers. Vous ne garderez probablement pas votre ordinateur personnel en ligne en permanence. Mais le serveur est une autre histoire. Les serveurs fonctionnent presque tout le temps et sont connectés à Internet. Utiliser BitTorrent Sync pour sauvegarder votre serveur Linux est donc une très bonne idée.
Didacticiel Vidéo:
Scénarios de synchronisation
- Vous avez deux serveurs Linux qui fonctionnent et sont connectés à Internet 24 heures sur 24, 7 jours sur 7. Vous pouvez alors utiliser BitTorrent Sync pour synchroniser automatiquement les dossiers entre eux.
- Vous disposez d’un seul serveur Linux. Vous pouvez synchroniser les dossiers entre votre serveur et votre ordinateur personnel. Lorsque votre ordinateur personnel démarre, il récupère automatiquement les nouveaux contenus de votre serveur Linux.
- Vous avez un Raspberry Pi. Vous pouvez faire fonctionner votre RPi 24 heures sur 24 et synchroniser les dossiers entre votre serveur Linux et le RPi. Après tout, un Raspberry Pi consomme très peu d’énergie et il ne vous coûte pas trop cher.
Alors, commençons.
Configuration de la sauvegarde d’un serveur Linux avec un serveur maître et un serveur esclave
Si vous avez deux serveurs, vous pouvez en configurer un comme maître et un autre comme esclave. Cela signifie que vous mettez à jour le contenu de votre site Web sur le serveur maître et que le serveur esclave peut seulement lire le dossier de synchronisation sur le serveur maître, mais il ne peut pas ajouter de nouveau contenu au dossier de synchronisation. Le serveur esclave est utilisé uniquement à des fins de sauvegarde.
Installation de BitTorrent Sync sur le serveur principal
Vous pouvez utiliser la méthode suivante pour installer BitTorrent sur n’importe quelle distribution Linux.
Connectez-vous à votre serveur Linux via SSH et téléchargez la version Linux de BitTorrent Sync.
64 bits :
wget https://download-cdn.getsync.com/stable/linux-x64/BitTorrent-Sync_x64.tar.gz
32 bits
wget https://download-cdn.getsync.com/stable/linux-i386/BitTorrent-Sync_i386.tar.gz
Extrayez le fichier tar.
tar xvf BitTorrent-Sync_*.tar.gz
Un nouveau fichier exécutable nommé btsync est maintenant extrait dans le répertoire de travail actuel et est prêt à être exécuté. Vous pouvez lancer BitTorrent à l’aide de la commande suivante :
./btsync
Par défaut, l’interface Web est uniquement accessible sur l’ordinateur qui exécute Sync (localhost:8888). Pour que l’interface Web soit accessible sur le réseau local ou sur Internet, démarrez Sync de la manière suivante :
./btsync --webui.listen 0.0.0.0:8888
Vous pouvez maintenant accéder à la WebUI en tapant ce qui suit dans la barre d’adresse de votre navigateur. Remplacez your-server-ip par l’adresse IP réelle de votre serveur.
votre serveur-ip:8888
Lors de votre premier accès à l’interface Web, il vous sera demandé de créer un compte. Mais nous utilisons pour l’instant le protocole HTTP simple et il n’est pas sûr. Donc avant de créer un nom d’utilisateur et un mot de passe, nous devons installer un certificat SSL sur le serveur Linux. Lisez l’article suivant pour obtenir un certificat SSL gratuit de Let’s Encrypt.
Aperçu du cryptage HTTPS et de Let’s Encryption sur le déploiement de Nginx
Je vais utiliser sync.mydomain.com comme nom de domaine pour accéder à la WebUI. J’ai donc appliqué un certificat SSL pour sync.mydomain.com et vous devez appliquer un certificat SSL pour sync.yourdomain.com. Remplacez yourdomain.com par votre nom de domaine actuel.
Après avoir obtenu un certificat SSL, revenez ici.
Configuration du proxy inverse de Nginx
Nous allons maintenant configurer Nginx comme proxy inverse pour le service BitTorrent Sync. Dans cette configuration, btsync n’a besoin d’écouter que sur localhost (127.0.0.1).
Créez un fichier de bloc de serveur Nginx.
sudo nano /etc/nginx/conf.d/sync.yourdomain.com.conf
Collez le texte suivant dans le fichier.
server { listen 80 ; server_name sync.yourdomain.com; return 301https://sync.yourdomain.com$request_uri;}server { listen 443 ssl ; server_name sync.yourdomain.com; ssl_protocols TLSv1.1 TLSv1.2 ; ssl_certificate /etc/letsencrypt/live/sync.yourdomain.com/fullchain.pem ; ssl_certificate_key /etc/letsencrypt/live/sync.yourdomain.com/privkey.pem ; access_log /var/log/nginx/sync.yourdomain.com.log ; location / { proxy_pass http://127.0.0.1:8888 ; }}
enregistrez et fermez le fichier. Cette configuration redirigera toutes les requêtes HTTP simples vers HTTPS et le serveur n’acceptera que les cryptages TLSv1.1 et TLSv1.2. Lorsque vous tapez sync.votredomaine.com dans la barre d’adresse du navigateur, Nginx transmettra la demande à 127.0.0.1:8888.
Rechargez Nginx
sudo service nginx reload ou sudo systemctl reload nginx
Accédez maintenant à l’interface Web de Sync en allant sur sync.votredomaine.com. Créez un nom d’utilisateur et un mot de passe pour sécuriser la WebUI.
Configuration du serveur esclave
Le processus pour le serveur esclave est presque le même que pour le serveur maître. Vous installez le programme btsync, obtenez un autre certificat SSL gratuit de Let’s Encrypt et configurez le proxy inverse Nginx. Ensuite, créez un compte pour sécuriser l’interface Web.
La seule différence est qu’après vous être connecté à l’interface Web du serveur esclave, vous devez cliquer sur la flèche dans le coin supérieur gauche et sélectionner Enter a key or link dans le menu déroulant.
Ensuite, allez dans l’interface Web du serveur maître, cliquez sur le bouton de partage, puis copiez la clé de lecture seule et collez-la dans l’interface Web du serveur esclave.
Après cela, vous devez sélectionner un répertoire sur votre serveur esclave pour recevoir les fichiers du serveur maître. Il y a deux clés. L’une est pour l’accès en lecture &écriture, l’autre est pour l’accès en lecture seule. Nous copions la clé en lecture seule car nous ne voulons pas laisser le serveur esclave ajouter du nouveau contenu au dossier de synchronisation.
Les deux serveurs commencent maintenant le processus de synchronisation.
Sauvegarde du serveur Linux avec votre ordinateur personnel
Si vous utilisez Linux comme système d’exploitation de votre ordinateur personnel, suivez la méthode ci-dessus pour installer BitTorrent Sync. Vous n’avez pas besoin de configurer le proxy inverse Nginx ni d’installer un certificat SSL sur votre ordinateur personnel.
Sauvegarde d’un serveur Linux avec Raspberry Pi
BitTorrent Sync a une version ARM, vous devez donc télécharger l’installateur ARM pour Raspberry Pi et ensuite l’extraire.
wget https://download-cdn.getsync.com/stable/linux-arm/BitTorrent-Sync_arm.tar.gz
Si votre Raspberry Pi est sans tête, pour que l’interface Web soit accessible à travers le réseau local ou Internet, démarrez Sync de cette façon :
./btsync --webui.listen 0.0.0.0:8888
Encore une fois, vous n’avez pas besoin d’installer un certificat SSL sur Raspberry Pi ou de configurer un proxy inverse Nginx.
Démarrage automatique au démarrage du système
Pour que BitTorrent Sync démarre automatiquement au démarrage du système, ajoutez une tâche cron en tant qu’utilisateur normal.
crontab -e
ajoutez la ligne suivante à la fin.
@reboot /path/to/btsync --webui.listen 0.0.0.0:8888
Remplacez /path/to/btsync par le chemin réel. Si btsync a seulement besoin d’écouter sur localhost(127.0.0.1) alors supprimez la partie –webui.listen 0.0.0.0:8888.
Vous voyez donc qu’il est facile de sauvegarder un serveur Linux et bonne synchronisation !