Installation:
sur un ubuntu 16.04 tout neuf, faire un :
sudo apt-get install backuppc
éventuellement rrdtool libfile-rsyncp-perl
si probleme redémarrer ou :
sudo a2enmod cgid
Then restart apache2
sudo service apache2 restart
essayer aussi
sudo a2disconf serve-cgi-binBackuppc 4
sudo apt-get install backuppc
Préparation:
En général, j'utilise une partition à part (ex /sauvegarde ..)
Après avoir installé backuppc ( sudo apt-get install backuppc )
ainsi que le module libfile-rsyncp-perl ainsi que rrdtool (pour afficher les graphiques) (installé par défaut sur la 16.04 serveur)
, je déplace le répertoire et refait un lien symbolique: (après avoir stoppé le service backuppc)
sudo service backuppc stop
sudo cp -a /var/lib/backuppc /sauvegarde/
sudo rm -rf /var/lib/backuppc/
sudo ln -s /sauvegarde/backuppc /var/lib/backuppc
sudo service backuppc start
sudo service apache2 restart
Backuppc 4
Alias /backuppc /usr/share/backuppc/cgi-bin/
<Directory /usr/share/backuppc/cgi-bin/>
AllowOverride None
# Uncomment the line below to ensure that nobody can sniff important
# info from network traffic during editing of the BackupPC config or
# when browsing/restoring backups.
# Requires that you have your webserver set up for SSL (https) access.
#SSLRequireSSL
Options ExecCGI FollowSymlinks
Require all granted
AddHandler cgi-script .cgi
DirectoryIndex index.cgi
AuthUserFile /etc/backuppc/htpasswd
AuthType basic
AuthName "BackupPC admin"
<RequireAll>
# Comment out this line once you have setup HTTPS and uncommented SSLRequireSSL
Require local
# This line ensures that only authenticated users may access your backups
Require valid-user
</RequireAll>
</Directory>
sudo systemctl reload apache2
Paramètre réseau
Si besoin, modifier le fichier /etc/networking/interfaces. Par défaut il est en dynamique (DHCP) et on peut le laisser tel quel.
pour du statique: (adresse à voir selon le réseau, ici peut convenir pour un réseau avec freebox).
Pour info : eth0 est remplacé par enp3s0 depuis 2013
auto enp3s0
iface enp3s0 inet static
address 192.168.1.50
netmask 255.255.255.0
gateway 192.168.1.254
pour du dynamique (config en général par défaut...)
auto enp3s0
iface eth0 inet dhcp
Modifier le mot de passe de backuppc
sudo htpasswd /etc/backuppc/htpasswd backuppc
et taper le mot de passe
Installation serveur/client
Par défaut, backkupc se connecte en tant que root. L'idée, c'est de plutôt le faire se connecter sous un utilisateur backuppc à créer chez le client auquel on donnera juste les droits sudo qu'il faut
...(rsync à priori). Pour plus de facilités, on ouvre un terminal ssh côté serveur, et un terminal ssh côté client.
côté serveur
sudo su backuppc
ssh-keygen -t rsa
(NE pas mettre de mot de passe)
cd /var/lib/backuppc/.ssh/
cat id_rsa.pub
On affiche la clef que l'on va copier/coller chez le client (cf. paragraphe suivant)
côté client (linux)
On créé sur le client un utilisateur backuppc et on lui donne la clef du serveur.
sudo adduser backuppc
cd /home/backuppc/
sudo su backuppc
ssh-keygen -t rsa
(NE pas mettre de mot de passe)
cd .ssh
vim authorized_keys2
et coller la ligne copié paragraphe précédent (fichier id_rsa.pub du serveur)
On opère de même dans l'autre sens (on copie la clef id_rsa du client dans le fichier à créer authorized_keys2 du serveur)
Côté client, on donne ensuite des droits à l'utilisateur backuppc via visudo...
(vérifier que sudo est bien installé ainsi que rsync !)
sudo visudo
et ajouter la ligne:
backuppc ALL=NOPASSWD: /usr/bin/rsync
Il faut ensuite faire une première connexion en ssh pour initialiser:
côté serveur :
su backuppc
ssh -l backuppc clientHostName whoami
côté client :
su backuppc
ssh -l backuppc serveurHostName whoami
Normalement, pour chaque côté, il ne devrait pas demander de mots de passe...
Il faut/suffit pour se connecter sans mot de passe que l'authorized_keys2 soit rempli sur la machine contactée
Bien faire gaffe à l'underscore du authorized....et a des erreurs de copier/coller (genre sh-rsa au début au lieu de ssh-rsa..)
IMPORTANT : authorized_keys2 doit être interdit en écriture au groupe (ainsi que le répertoire .ssh)
(faire un
chmod 600 authorized_keys2
pour être sûr)
côté paramétrage Backuppc
Ne pas oublier de remplacer la ligne $Conf{RsyncClientCmd} (config serveur backuppc) par :
$sshPath -q -x -l backuppc $host nice -n 19 sudo $rsyncPath $argList+
Backuppc 4
sudo /usr/bin/rsync
$sshPath -l backuppc
côté client (Windows)
On peut utiliser samba, mais il existe un outil très simple pour faire du rsync sur windows.
Il est téléchargeable ici:
http://sourceforge.net/projects/backuppc/files/cygwin-rsyncd/
- Vérifier que le client windows répond bien aux ping (voir le pare-feu) voir : http://www.it-connect.fr/autoriser-le-ping-sous-windows-7-en-configurant-le-pare-feu/
Sauvegarde interne au serveur
pour sauvegarder un répertoire du serveur (/etc, /home, ..), configurer localhost.
Le mode de sauvegarde est déjà à priori configuré sur Tar, mais il faut changer la commande $Conf{TarClientCmd} par:
/usr/bin/sudo $tarPath -c -v -f - -C $shareName --totals
Sauvegarde depuis un client Windows