Installation of BackupPC on Cent OS 5

Following are the packages to be installed
install httpd

start httpd

via CPAN insaql the following per file

perl-MCPN -e shell

install Compress::Zlib

install Archive::Zip

File::RsyncP

Install the following packages

yum install perl-suidperl

Now we add a user for the backupPC with its group being apache useradd -g apache backuppc

Now we download the backupPC source file

cd /usr/local/src wget http://nchc.dl.sourceforge.net/sourceforge/backuppc/BackupPC-3.1.0.tar.gz

tar -xzvf BackupPC-3.1.0.tar.gz
cd BackupPC-3.1.0
make Makefile.pl
this will be the location of the config file -----------> /etc/BackupPC/config.pl
this will be the locatino where we add host( clients to be backed up ) ---------> /etc/BackupPC/hosts ths is the location where the bin doc lib files are ---------> /usr/local/BackupPC] this is the location where the data will be abcked up -----------> /home/backuppc
this is the location of your cCGI bin directory -----------------> /var/bin/cgi-bin
this the location of the image /var/www/html/backuppc same --------------------------------------> /backuppc

now we will copy the init scritp to the right location

cp /usr/local/src/BackupPC-3.1.0/init.d/linux-backuppc /etc/rc.d/init.d/backuppc
chmod +x /etc/rc.d/init.d/backuppc

(A) Now backing up frm Linux clinet to linux BackupPC

Passwordless login frm linux clinet and from Linux BackupPC server

1. on the Linux BackupPC server
su - backuppc
ssh-keygen -t rsa -------------> this will generate the id_rsa and id_rsa.pub keys in /home/backuppc/.ssh/
once that is done we scp the id_rsa.pb key to the Linux client machine scp ~/.ssh/id_rsa.pub root@linuxclinetIP:/tmp
now we log into the linux clinte Pc and copy the /tmp/id_rsa.pub to ~/.ssh/authorized_keys
cp /tmp/id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys

now on the Linux BackupPC server ( su - backuppc ) try to login in ( ssh root@linuxclinet ) , it should log you in without a password You can append as many public keys

2. On the Linux clinet PC
ssh-keygen -t rsa -------------> this will generate the id_rsa and id_rsa.pub keys in /root/.ssh/
once that is done we scp the id_rsa.pb key to the Linux BackupPC server
scp ~/.ssh/id_rsa.pub root@LinuxBackupPCIP:/tmp
now we log into the linux BackupPC server and log in a backuppc user and copy the /tmp/id_rsa.pub to ~/.ssh/authorized_keys
cp /tmp/id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
now on the Linux client PC try to login in ( ssh backuppc@linuxBackupPC IP ) , it should log you in woithout a password
Now, so that we want security to access the cgi script we careate htaccess password file

htpasswd -c /etc/BackupPC/htpasswd client1 ( unix system user ) ---------> enter the password as prompted

now we will add our clinet to the host file located in /etc/BackupPC/hosts

# host dhcp user moreUsers # <--- do not edit this line #farside 0 craig jill,jeff # <--- example static IP host entry #larson 1 bill # <--- example DHCP host entry 192.168.0.244 0 linuxclient1 # <--- where only linuxclinet1 user can acces this system back up frm webinterfce 192.168.0.209 0 backuppc # <--- where only backuppc user can acces this system back up frm webinterfce

we will create/edit a congif file in /etc/BackupPC/pc/linuxclientPCIP.pl

$Conf{RsyncClientRestoreCmd} = '$sshPath -q -x -l root $hostIP $rsyncPath $argList+'; $Conf{RsyncClientCmd} = '$sshPath -q -x -l root $hostIP $rsyncPath $argList+'; $Conf{XferMethod} = 'rsync'; $Conf{RsyncShareName} = ['/home','/var/log']; now we will edit he httpd.conf so that only the prticulat user assigned to the particular clinet gets access to the cgi script

<Directory "/var/www/cgi-bin"> # AllowOverride None # Options None # Order allow,deny # Allow from all Options ExecCGI FollowSymlinks AddHandler cgi-script .cgi DirectoryIndex index.cgi AuthGroupFile /etc/backuppc/htgroup AuthUserFile /etc/backuppc/htpasswd AuthType basic AuthName "backuppc" require valid-user

</Directory>

now we restart httpd and backuppc

/etc/init.d/httd restart /etc/init.d/backuppc restart

now we will try to take a back up of the of the Linux clinet Pc

add the user name and password .... this should gvive u access to the particular clinet

(B) Now backing up frm Windows clinet to linux BackupPC

we unzip it in C:/rsyncd/
we edit the rsyncd.conf file
use chroot = false
max connections = 4
pid file = c:/rsyncd/rsyncd.pid
lock file = c:/rsyncd/rsyncd.lock

#this is frm where all your data will be backed up.

[cDrive0] path = c:/rsyncd comment = agnello's documents auth users = agnello secrets file = c:/rsyncd/rsyncd.secrets # hosts allow = 172.16.0.17 strict modes = false read only = false list = false

[cDrive1] path = c:/var comment = agnello's documents auth users = agnello secrets file = c:/rsyncd/rsyncd.secrets # hosts allow = 172.16.0.17 strict modes = false read only = false list = false

[cDrive2] path = c:/Documents and Settings/All Users/Documents/My Music comment = agnello's documents auth users = agnello secrets file = c:/rsyncd/rsyncd.secrets # hosts allow = 172.16.0.17 strict modes = false read only = false list = false

Now save the file and run the service.bat file make sure that your windows PC has not blocked 873

Now edit the rsync.secret add the following lines

agnello:agnello123

now on the Linux BackuPC server we create a config file for the windows client

eg : vi /etc/BackupPC/pc/windowsclentip.pl $Conf{XferMethod} = 'rsyncd'; $Conf{RsyncdUserName} = 'agnello'; $Conf{RsyncdPasswd} = 'agnello123'; $Conf{RsyncShareName} = ['cDrive0','cDrive1','cDrive2']; $Conf{ClientCharset} = 'cp1252'

maker sure that the user and password is tha same as rsync.secret file

now we will add our windows clinet to the host file located in /etc/BackupPC/hosts on the lINUX bACKUPpc SERVER

# host dhcp user moreUsers # <--- do not edit this line #farside 0 craig jill,jeff # <--- example static IP host entry #larson 1 bill # <--- example DHCP host entry 192.168.0.244 0 linuxclient1 # <--- where only linuxclinet1 user can acces this system back up frm webinterfce 192.168.0.209 0 winclient1 # <--- where only backuppc user can acces this system back up frm webinterfce

now we restart backuppc

/etc/init.d/backuppc restart

now try browser in the the http://linuxBackupPCserverIP/cgi-bin/backupc

add the user name and password .... this should gvive u access to the particular clinet ( ref /etc/BackupPC/hosts file )

Now take your regular backups
--

No comments:

Other Articles

Enter your email address: