BackupPC est une suite logicielle de sauvegarde gratuite, open source et basée sur le Web qui peut être utilisée pour sauvegarder des PC et des ordinateurs portables Linux, Windows et macOS. Il est écrit en Perl et utilise Rsync, Samba ou tar sur le protocole ssh/rsh/nfs. Il fournit une interface Web puissante qui vous permet d'afficher les fichiers journaux, la configuration, l'état actuel et permet aux utilisateurs de lancer et d'annuler des sauvegardes et de parcourir et de restaurer des fichiers à partir de sauvegardes. Il s'agit d'un système de sauvegarde hautes performances de niveau entreprise permettant de sauvegarder un grand nombre de machines sur le disque local ou le stockage réseau d'un serveur.
Dans ce tutoriel, nous allons vous montrer comment installer BackupPC sur le serveur Ubuntu 20.04.
Prérequis
- Deux serveurs exécutant Ubuntu 20.04.
- Un mot de passe root est configuré sur chaque serveur.
Installer BackupPC
Par défaut, BackupPC est disponible dans le référentiel par défaut d'Ubuntu 20.04. Vous pouvez l'installer en exécutant simplement la commande suivante :
apt-get install backuppc -y
Lors de l'installation, il vous sera demandé de sélectionner le type de configuration de messagerie comme indiqué ci-dessous :
Sélectionnez Local uniquement et appuyez sur Entrée . Il vous sera demandé de fournir le nom de messagerie du système comme indiqué ci-dessous :
Indiquez le nom souhaité et appuyez sur Entrée . Il vous sera demandé de sélectionner le serveur Web que vous souhaitez configurer comme indiqué ci-dessous :
Sélectionnez Apache et appuyez sur Entrée pour lancer l'installation. BackupPC configurera également un utilisateur administratif nommé backuppc avec un mot de passe pour administrer diverses tâches telles que l'accès au tableau de bord Web de BackupPC. Une fois l'installation terminée, vous devriez voir l'écran suivant :
Maintenant, appuyez sur Entrée pour terminer l'installation.
Modifier le mot de passe par défaut de BackupPC
Si vous souhaitez modifier le mot de passe de backupc. Vous pouvez le modifier avec la commande suivante :
htpasswd /etc/backuppc/htpasswd backuppc
Sortie :
New password: Re-type new password: Updating password for user backuppc
Gérer le service BackupPC
Vous pouvez également gérer le service BackupPC avec systemd.
Par exemple, vous pouvez démarrer le service BackupPC avec la commande suivante :
systemctl start backuppc
Pour vérifier l'état du service BackupPC, exécutez la commande suivante :
systemctl status backuppc
Vous devriez voir le résultat suivant :
? backuppc.service - LSB: Launch backuppc server Loaded: loaded (/etc/init.d/backuppc; generated) Active: active (running) since Sat 2020-07-25 13:59:33 UTC; 6min ago Docs: man:systemd-sysv-generator(8) Tasks: 2 (limit: 2353) Memory: 22.0M CGroup: /system.slice/backuppc.service ??4463 /usr/bin/perl /usr/share/backuppc/bin/BackupPC -d ??4464 /usr/bin/perl /usr/share/backuppc/bin/BackupPC_trashClean Jul 25 13:59:32 backuppcserver systemd[1]: Starting LSB: Launch backuppc server... Jul 25 13:59:32 backuppcserver backuppc[4442]: * Starting backuppc... Jul 25 13:59:33 backuppcserver backuppc[4442]: ...done. Jul 25 13:59:33 backuppcserver systemd[1]: Started LSB: Launch backuppc server.
Pour activer le service BackupPC au démarrage du système, exécutez la commande suivante :
systemctl enable backuppc
Configurer l'accès SSH aux ordinateurs clients
Les serveurs et les clients peuvent communiquer de plusieurs manières pour s'authentifier et transférer des données. Dans ce tutoriel, nous utiliserons le protocole Rsync comme méthode de sauvegarde. Vous devrez donc configurer l'authentification SSH sans mot de passe pour chaque client afin d'accéder au système client sans mot de passe.
Sur le serveur BackupPC, basculez l'utilisateur vers backuppc et générez une paire de clés SSH avec la commande suivante :
su - backuppc
ssh-keygen
Vous devriez voir le résultat suivant :
Generating public/private rsa key pair. Enter file in which to save the key (/var/lib/backuppc/.ssh/id_rsa): Created directory '/var/lib/backuppc/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/lib/backuppc/.ssh/id_rsa Your public key has been saved in /var/lib/backuppc/.ssh/id_rsa.pub The key fingerprint is: SHA256:kFWEjgktEgzWGFelWdY1B0w4WANvPJxM83X79FJA6GE [email protected] The key's randomart image is: +---[RSA 3072]----+ |.==o.o.=*OB=.=o. | |..+.o *+B+=.E ...| | . =o+ O.+ . .o| | o.o . . oo| | S . o| | . | | | | | | | +----[SHA256]-----+
Ensuite, copiez la clé SSH générée sur le système client avec la commande suivante :
ssh-copy-id [email protected]
Vous devriez voir le résultat suivant :
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/var/lib/backuppc/.ssh/id_rsa.pub" The authenticity of host 'backuppc-client-ip (backuppc-client-ip)' can't be established. ECDSA key fingerprint is SHA256:UMxtsszZC/MuEiAnSgV2q5tdckXnEw7MXTVBhtJCeEE. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys [email protected]'s password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh '[email protected]'" and check to make sure that only the key(s) you wanted were added.
Désactiver le transfert
Ensuite, vous devrez également désactiver le transfert d'agent ssh, le transfert de port ou même le pty pour que l'utilisateur de backuppc se connecte au client à partir de BackupPC.
Sur le système client, modifiez le fichier de clé autorisée ssh avec la commande suivante :
nano .ssh/authorized_keys
Ajoutez la ligne suivante avant ssh-rsa mot :
from="your-server-ip",no-agent-forwarding,no-port-forwarding,no-pty
Configurer Apache pour BackupPC
Par défaut, BackupPC n'est accessible qu'à partir de l'hôte local. Vous devrez donc modifier le fichier de configuration Apache pour autoriser BackupPC à partir de l'adresse IP externe. Vous pouvez le faire en éditant le fichier suivant sur la machine serveur :
nano /etc/apache2/conf-available/backuppc.conf
Recherchez la ligne suivante :
Require local
Remplacez-le par la ligne suivante :
Require all granted
Enregistrez et fermez le fichier lorsque vous avez terminé. Redémarrez ensuite le service Apache pour appliquer les modifications :
systemctl restart apache2
À ce stade, votre serveur BackupPC est accessible depuis l'IP externe.
Accéder à l'interface Web de BackupPC
Maintenant, ouvrez votre navigateur Web et tapez l'URL http://backuppc-server-ip/backuppc. Vous devriez voir l'écran de connexion BackupPC :
Fournissez votre nom d'utilisateur et votre mot de passe d'administrateur BackupPC et cliquez sur Signer dans bouton. Vous devriez voir le tableau de bord BackupPC dans l'écran suivant :
Ajouter une machine cliente à BackupPC
Ensuite, vous devrez ajouter la machine cliente que vous souhaitez sauvegarder avec BackupPC.
Sur le tableau de bord de BackupPC, cliquez sur Modifier Hôtes sur le panneau de gauche. Vous devriez voir l'éditeur de configuration des hôtes dans l'écran suivant :
Vous pouvez voir que localhost est déjà ajouté en tant que client. Cependant, nous n'avons besoin que de sauvegarder le client distant, donc supprimez l'hôte local en cliquant sur supprimer bouton. Cliquez ensuite sur ajouter bouton pour ajouter la machine cliente distante comme indiqué ci-dessous :
Maintenant, fournissez l'adresse IP de votre client distant et cliquez sur Enregistrer bouton pour enregistrer la configuration.
Ensuite, vous devrez configurer une méthode de transfert de données de sauvegarde. Dans ce tutoriel, nous utiliserons le protocole Rsync pour le transfert de données. Alors cliquez sur Transfert pour configurer la méthode de transfert de la base de données. Vous devriez voir l'écran suivant :
Sélectionnez Rsync sous Paramètres Xfer et cliquez sur Enregistrer bouton pour enregistrer les modifications.
Ensuite, vous devrez définir le chemin du répertoire du système client que vous souhaitez sauvegarder.
Dans le volet de gauche, sous Hôtes , cliquez sur le bouton déroulant et sélectionnez un hôte client. Vous devriez voir l'écran suivant :
Maintenant, cliquez sur Modifier la configuration et cliquez sur Transférer languette. Vous devriez voir l'écran suivant :
Sous Xfer Settings, cochez la case Overide sous RsyncShareName et tapez le chemin du répertoire que vous souhaitez sauvegarder. Une fois que vous avez terminé, cliquez sur Enregistrer bouton pour appliquer les modifications.
Ensuite, vous devrez configurer le calendrier de sauvegarde.
Dans le volet de gauche, sous Paramètres du serveur , cliquez sur Modifier Configuration et cliquez sur Planifier languette. Vous devriez voir l'écran suivant :
Indiquez les paramètres de sauvegarde souhaités et cliquez sur Enregistrer bouton pour appliquer les modifications.
Maintenant, vous devrez exécuter une sauvegarde manuelle sur votre client.
Dans le volet de gauche, sous Hôtes , cliquez sur le bouton déroulant et sélectionnez un hôte client. Vous devriez voir l'écran suivant :
Sous Récapitulatif de la sauvegarde > Actions de l'utilisateur , cliquez sur Démarrer la sauvegarde complète et si tout va bien. Vous devriez voir l'écran suivant :
Dans le volet de gauche, cliquez sur le LOG fichier pour vérifier les journaux de sauvegarde. Vous devriez voir le journal de sauvegarde complet dans l'écran suivant :
Pour vérifier le résumé de la sauvegarde, cliquez sur le Résumé de l'hôte lien dans le volet de gauche, sous Serveur . Vous devriez voir l'écran suivant :
Pour voir une liste de tous les fichiers de sauvegarde, cliquez sur l'IP hôte comme indiqué dans le résumé ci-dessus, puis cliquez sur Parcourir les sauvegardes> Numéro de sauvegarde. Vous devriez voir tous vos fichiers de sauvegarde dans l'écran suivant :
Conclusion
Dans ce didacticiel, vous avez appris à configurer BackupPC sur le serveur Ubuntu 20.04. Vous avez également appris à ajouter un ordinateur client au BackupPC via un navigateur Web et à effectuer une opération de sauvegarde. J'espère que cet outil vous aidera à mettre en place un système de sauvegarde centralisé. N'hésitez pas à me demander si vous avez des questions.