Deploying BackupPC on SLES

Introduction

Over the years I have worked on hundreds of different networks across a wide variety of platforms and for the most part all of them have one thing in common - the lack of proper backups and emergency procedures.

It is amazing how much people rely on blind faith that their data will always be available whenever they need it. I cannot count the number of times I have seen companies deploy servers for mission critical applications using a single hard drive. I have lost numerous bids to competitors simply because I refuse to deploy a server without at least some sort of data redundancy in place. Unfortunately, I have also been on the receiving end of a few emergency calls from these same businesses asking if I can recover files on a malfunctioning drive.

Backing up Data is probably the most important task a Network Admin should do (apart from ensuring all of your RAID drives are functioning). Unfortunately, out of laziness or contentment, data backups are rarely done on a regular basis. To alleviate the risk of losing data, this guide will show you how to automate your backups using a stand-alone server (with lots of disk space) running BackupPC on Suse Linux Enterprise Server 10.

For this guide I won't cover the basics of installing SLES10, the installation manual should provide enough instruction to get it installed. However here are some tips to alleviate some issues that might come up.

First, you will definitely want to use some sort of RAID array to store the backups on - not only will this provide redundancy, but it also increases the amount of storage space you will be able to use. The BackupPC program will use compression, but you will also want to store numerous "versions" of your files on this server. Also the number of computers you backup has a big impact on the amount of space you need for this server (although not as much as you think). Personally on most of my deployments I setup BackupPC to backup just about every computer in an organization.

Also, if you are going to "Archive" backups to removable media (such as DVDs or Tape) you will also want to make sure you will have enough space on the server to store an additional backup of the computer. For example, if you have 100GB of Data on one of your servers, make sure you have at least that amount free on the BackupPC Server before attempting to do an Archive of that Server (more on this later). If you are unsure of exactly how much storage space you will need, always over-estimate the amount, or at least use a filesystem or disk partition that you will be able to increase later on, such as a LVM filesystem.

For this guide, I will assume that your backups will be stored on a separate filesystem mounted at "/srv" on the BackupPC Server.

Creating the BackupPC User

For security reasons, you will want to create a separate user that will run BackupPC. To do this simply Launch Yast and go to the "User Management" module. The user we will add will be a "system user", so adjust the filter to view the "System Users", then click Add.

Displaying the System Users

Adding the BackupPC System User

Displaying the System Users and Adding the "backuppc" System User

Fill in all the required entries, here are the entries that I usually use:

Username: backuppc
Check "Disable User Logins"
Home Directory: /srv/backuppc
Logon Shell: /bin/false
Default Group: www

For the default group, you may want to also create a "group" that BackupPC is run under, however running it as the "www" group should provide enough security for most sites. Note that we will adjust the permissions on the backup directory to reduce security risks.

Installing and Configuring Apache

The BackupPC application utilizes the Apache Web Server to allow for an easy interface to it's functionality. To install Apache under Suse Linux Enterprise Server, simply launch Yast and go to the "Software Management" module. Once the module is running, you will want to change the filter so it will display "Patterns". To install apache and all of the required libraries, simply check the "Web and LAMP Server" box under the primary functions section. Click on Accept to install the software.

Installing Apache and all Required Modules

Enabling Perl Support for Apache

Installing Apache using Yast and Enabling Perl Support for Apache

To setup Apache for use with BackupPC, launch the "HTTP Server" Yast Module. The first time the module is launched you will be presented with a "Wizard" that will step you through setting up Apache. Within the wizard make sure you enable the "Perl Scripting" Module, as BackupPC makes heavy use of this. You can step through the rest of the wizard and upon exit Yast should install all the required software packages it needs, just make sure you enable Apache to start upon restart.

Now we will want to configure Apache to enforce users to enter a Username and Password when accessing the backuppc website. To do this re-launch the "HTTP Server" Yast Module and go to the "Default Host" tab (Main Host tab with SP1 and later).

Editing the cgi-bin directory

Enabling Authconfig for the cgi-bin directory

Editing the cgi-bin Directory and enabling Authconfig for User Authentication

What you will need to do is edit the "Directory" entry for "/srv/www/cgi-bin". In order to enable the authentication that we will use, set the Configuration to read:

AllowOverride	AuthConfig
Options		+ExecCGI -Includes
Order		Deny,Allow

What this will do is allow us to include a file within the cgi-bin directory that will require credentials before the site will appear. There are many different ways to do this with Apache, some might be better than others, but I chose to do it this way for a few reasons. First, it is pretty easy to setup. Second, in case of emergency you do not want to rely on any other server to access the site. If you authenticate against an LDAP server and that server is not available, you must reconfigure the BackupPC Server to allow all connections just so you can restore a good LDAP database, this would not be a good thing.

Creating the .htaccess File and Allowing Access

Now that we have setup Apache to allow the cgi-bin directory to be able to authenticate users, we now have to implement that feature. To do this you will need to create a text file called ".htaccess" within the /srv/www/cgi-bin/ directory. This file should contain:

AuthType Basic
AuthName "Username / Password Required"
AuthUserFile /srv/backuppc/password.file
Require valid-user

Now you will need to add every user that you will want to have access to the BackupPC Web Interface to the /srv/backuppc/password.file - to do this you simply run the following command:

htpasswd2 -c /srv/backuppc/password.file adminuser

to add the first user and any additional users can be added with:

htpasswd2 /srv/backuppc/password.file username

Configuring Apache to Run as the BackupPC User

For BackupPC's web interface to function properly, you must configure Apache to be ran as the "backuppc" user. To do this you need to edit the /etc/apache/uid.conf file so it looks similar to:

User backuppc
Group www

Ensure you restart Apache after you make this change.

Finishing up SLES Configuration

There are only a few more things you will want to do before installing BackupPC. The first on is to install all the required software that BackupPC uses. To do this first install perl-Archive-Zip and perl-Compress-Zlib with the following command:

yast -i perl-Archive-Zip perl-Compress-Zlib

Next is to install perl-File-RsyncP. This package is not on the Installation media, but I created an RPM package to ensure easy installation of BackupPC. To get this package and install it simply do:

wget http://www.pcc-services.com/sles/backuppc/perl-File-RsyncP-0.68-SLED.v1.i586.rpm
yast -i perl-File-RsyncP*

Now that all of the requirements are done, here are some other things you might want to do:

  • Setup NTP Client to get correct Time/Date - Yast - Network Services - NTP Client
  • Update your SLES Install - Yast - Software Management - Online Update, or you can run "zen-updater" and follow the prompts.

Installing BackupPC

This section will step you through getting BackupPC installed on your Suse Linux Enterprise Server. I will try to give you good defaults to use and explain the various configuration options that you may want to employ in your network. For further information on BackupPC, please visit the projects website at http://backuppc.sourceforge.net/. You can also get an updated version of BackupPC on the projects website. If you do utilize an updated version, some options may not be listed in this guide.

To get started installing, run the following commands (as root):

wget http://www.pcc-services.com/sles/backuppc/BackupPC-3.0.0.tar.gz
tar zxf BackupPC-3.0.0.tar.gz
cd BackupPC-3.0.0
perl configure.pl

Stepping through the Installation - instead of explaining all of the various options, here is the output from the installation script from BackupPC version 3.0.0 - the input I give will be in bold.

Is this a new installation or upgrade for BackupPC?  If this is
an upgrade please tell me the full path of the existing BackupPC
configuration file (eg: /etc/BackupPC/config.pl).  Otherwise, just
hit return.
--> Full path to existing main config.pl []? HIT RETURN
I found the following locations for these programs:
    bzip2        => /usr/bin/bzip2
    cat          => /bin/cat
    df           => /bin/df
    gtar/tar     => /bin/tar
    gzip         => /usr/bin/gzip
    hostname     => /bin/hostname
    nmblookup    => /usr/bin/nmblookup
    par2         =>
    perl         => /usr/bin/perl
    ping         => /bin/ping
    rsync        => /usr/bin/rsync
    sendmail     => /usr/sbin/sendmail
    smbclient    => /usr/bin/smbclient
    split        => /usr/bin/split
    ssh/ssh2     => /usr/bin/ssh
--> Are these paths correct? [y]? HIT RETURN
Please tell me the hostname of the machine that BackupPC will run on.
--> BackupPC will run on host [backuppc]? HIT RETURN
BackupPC should run as a dedicated user with limited privileges.  You
need to create a user.  This user will need read/write permission on
the main data directory and read/execute permission on the install
directory (these directories will be setup shortly).
The primary group for this user should also be chosen carefully.
The data directories and files will have group read permission,
so group members can access backup files.
--> BackupPC should run as user [backuppc]? HIT RETURN
Please specify an install directory for BackupPC.  This is where the
BackupPC scripts, library and documentation will be installed.
--> Install directory (full path) [/usr/local/BackupPC]? /opt/BackupPC
Please specify a data directory for BackupPC.  This is where all the
PC backup data is stored.  This file system needs to be big enough to
accommodate all the PCs you expect to backup (eg: at least several GB
per machine).
--> Data directory (full path) [/data/BackupPC]? /srv/backuppc
BackupPC can compress pool files, providing around a 40% reduction in pool
size (your mileage may vary). Specify the compression level (0 turns
off compression, and 1 to 9 represent good/fastest to best/slowest).
The recommended values are 0 (off) or 3 (reasonable compression and speed).
Increasing the compression level to 5 will use around 20% more cpu time
and give perhaps 2-3% more compression.
--> Compression level [3]? HIT RETURN
BackupPC has a powerful CGI perl interface that runs under Apache.
A single executable needs to be installed in a cgi-bin directory.
This executable needs to run as set-uid backuppc, or
it can be run under mod_perl with Apache running as user backuppc.
Leave this path empty if you don't want to install the CGI interface.
--> CGI bin directory (full path) []? /srv/www/cgi-bin
BackupPC's CGI script needs to display various GIF images that
should be stored where Apache can serve them.  They should be
placed somewher under Apache's DocumentRoot.  BackupPC also
needs to know the URL to access these images.  Example:
    Apache image directory:  /usr/local/apache/htdocs/BackupPC
    URL for image directory: /BackupPC
The URL for the image directory should start with a slash.
--> Apache image directory (full path) []? /srv/www/htdocs/BackupPC
--> URL for image directory (omit http://host; starts with '/') []? /BackupPC
Ok, we're about to:
  - install the binaries, lib and docs in /opt/BackupPC,
  - create the data directory /srv/backuppc,
  - create/update the config.pl file /etc/BackupPC/config.pl,
  - optionally install the cgi-bin interface.
--> Do you want to continue? [y]? HIT RETURN
Created /opt/BackupPC/bin
Created /opt/BackupPC/doc
Created /opt/BackupPC/lib/BackupPC/CGI
Created /opt/BackupPC/lib/BackupPC/Config
Created /opt/BackupPC/lib/BackupPC/Lang
Created /opt/BackupPC/lib/BackupPC/Storage
Created /opt/BackupPC/lib/BackupPC/Xfer
Created /opt/BackupPC/lib/BackupPC/Zip
Created /srv/www/htdocs/BackupPC
Created /srv/backuppc
Created /srv/backuppc/pool
Created /srv/backuppc/cpool
Created /srv/backuppc/pc
Created /srv/backuppc/trash
Created /etc/BackupPC
Created /var/log/BackupPC
Installing binaries in /opt/BackupPC/bin
Installing library in /opt/BackupPC/lib
Installing images in /srv/www/htdocs/BackupPC
Making init.d scripts
Installing docs in /opt/BackupPC/doc
Installing config.pl and hosts in /etc/BackupPC

Adjusting Some BackupPC Parameters

Now that backuppc is now installed on your server, you will probably want to adjust a few parameters that are found in the /etc/BackupPC/config.pl file. Note that all of these options can now be adjusted using the "Edit Config" link on the Web Interface's Status Page (new in BackupPC version 3.0.0).

$Conf{WakeupSchedule} - line 118 - allows you to specify when BackupPC will check to see if it should start backing up your servers.

$Conf{FullKeepCnt} - line 440 - allows you to specify how many different backups to keep. If you have enough space I suggest you change this to [ 4,0,4,0,0,2 ] to ensure you have older versions of your files to go back to.

$Conf{EmailAdminUserName} - line 1726 - set it to an email account that you regularly check as the backuppc program will email info reguarding problems to this account (as long as the server is running)

$Conf{EmailUserDestDomain} - line 1737 - if you want your backuppc users to receive emails about problems set this to the correct domain.

$Conf{CgiAdminUsers} - line 1857 - set this to the users that you want to have full control over all of the clients you backup.

Getting BackupPC to Start Upon Startup

To get BackupPC to run upon startup you need to adjust a few things. First you must download an updated startup script to use as the one included with BackupPC doesn't really work with Suse Linux. To do this follow the following commands:

wget http://www.pcc-services.com/sles/backuppc/backuppc
install -m 0755 backuppc /etc/init.d/

Now to get BackupPC to run at computer startup run the following command:

chkconfig -a backuppc

Once you start backuppc, you should be able to access the web interface through hostname/cgi-bin/BackupPC_Admin. It should ask for a username and password, if not try restarting the server and trying again. Later I will show you how to allow your Administrators easier access, as well as add a "legal" page to try to avoid unauthorized access.

Configuring Clients to Backup

To get BackupPC to actually do the work you need - Backing up computers - you need to configure the "Client Computers" so BackupPC can access all of the files that need to be backed up. Each client operating system has a different way of allowing this communication and this section will cover the various options for each operating system.

Backing Up Linux Clients

The best way to backup Linux or Unix based clients is to use the rsync program tunneled through the Secure Shell program (SSH). To do this you have to configure SSH to automatically allow commands to be ran remotely from the BackupPC computer.

SSH Key-Exchange

First you will want to "login" as the backuppc user that we created earlier. For security reasons you do not want to allow that username to simply login at any prompt, so an alternative way to login as the backuppc user is to first login as the root user, then to "switch-user" to the backuppc user.

su -s /bin/bash backuppc
cd
pwd

The cd command will switch to backuppc's "home" directory, which is whatever you entered when you created the backuppc user, I usually use /srv/backuppc on SLES computers. The pwd command will simply list the "present working directory" that you are in. This ensure that we are in fact in the backuppc user's home directory.

Now that we are logged in as the backuppc user, we will want to create a new SSH key pair that we will use to allow the backuppc user remote access to the machines we are going to backup. To do this simply type in the following command:

ssh-keygen -b 2048 -t rsa
chmod -R go-rxw .ssh/*
cp .ssh/id_rsa.pub BackupPCkey.pub

Now that you have created the SSH key and copied the id_rsa.pub key to BackupPCkey.pub, now you will want to copy that pub key to every Linux machine you want to backup. So for every client you will want to execute the following commands:

sftp root@clientmachine
put BackupPCkey.pub
exit
ssh root@clientmachine
ssh-keygen -b 2048 -t rsa
cat BackupPCkey.pub >> .ssh/authorized_keys2
chmod -R go-rxw .ssh/*

Finally, you will want to make sure everything went well when exchanging SSH Keys.

ssh -l root clientmachine whoami

The above command should return "root".

Configuring BackupPC to backup the Linux Client

Now that you have the SSH Keys working correctly, you now have to configure BackupPC to backup the client machine.

BackupPC will read the default settings in /etc/BackupPC/config.pl to backup any machine you have listed in the /etc/BackupPC/hosts file. By default, BackupPC will attempt to backup the client machine using the smbclient, which is only suitable when backing up Windows based clients. To change the default behavior you need to create a "per client" configuration that BackupPC will use, overriding the defaults in /etc/BackupPC/config.pl file.

First, you will need to create a directory that you will store all of the per pc configurations. So, as root create the following directory:

mkdir /etc/BackupPC/pc

Now you will want to create a file within that directory for the client you are backing up. So create the file /etc/BackupPC/pc/clientname.pl and add the following to it:

$Conf{XferMethod} = 'rsync';
$Conf{RsyncShareName} = [ '/etc', '/home', '/srv', '/var' ];

Where $Conf{RsyncShareName} is a list of directories that will be backed up on the client computer. Once you created the clientname.pl file, you must add the clientname to the /etc/BackupPC/hosts file (along with any username you want to have access to it's backups) and restart the BackupPC daemon. Note that you can now add the host to the hosts file by using the Web Interface's "Edit Hosts" link on the Server's Status Page. Once this is done, restart the backuppc process and the client should be added to the list of Hosts available in the Web Interface.

Windows Clients

When backing up Windows clients you have an option between two XferMethods. The first one I will show you is the "Rsyncd" method. This method has the benefit of using the rsync program to transfer the files to backup. Because of this, I highly recommend using the rsyncd XferMethod to backup all of your Windows Clients.

The other method is the "smb" method, this method has the benefit of not having to install any program on the client machine as it simply uses Windows file sharing to access the files to backup. This method is quite a bit slower than the rsyncd method, but can be useful in certain situations.

Backing Up Windows Clients Using Rsyncd

To allow BackupPC to communicate with your Windows clients using Rscyncd, you must first download the appropriate files. You can find them at the Sourceforge page, or you can download my copy here.

Once you download and uncompress the files, ensure that they are in the C:\rsyncd\ directory. Then you want to edit the C:\rsyncd\rsyncd.conf file and change "auth users = backuppc_user" for each "share" defined, also change "read only = true" to false if you want to use BackupPC for restoration. Also adjust the [cDrive] "share" accordingly.

After you edit the rsyncd.conf file, you will want to edit the rsyncd.secrets file to something like:

backuppc_user:password

Finally, to ensure that no one will be able to see what the password you set is, change the rsyncd.secrets file to "Read-Only" and adjust the permissions so that only the "SYSTEM" account has Read permissions on the file.

Once everything is done, double-click on the "services.bat" file to install the service and start it.

Now on the BackupPC Server, you will want to add a clientname.pl file to the /etc/BackupPC/pc/ directory. This file should contain something along the lines of:

$Conf{XferMethod} = 'rsyncd';
$Conf{RsyncdUserName} = 'backuppc_user';
$Conf{RsyncdPasswd} = 'password';
$Conf{RsyncShareName} = 'cDrive';

To get the BackupPC Server to "see" that client, add the clientname to the /etc/BackupPC/hosts file, along with the username of any user you want to have access to it's backup files and restart the BackupPC daemon.

Backing Up Windows Clients Using Smb

Occasionally there are reasons not to use the Rsyncd method for Windows clients, maybe the workstation already has cygwin installed and it would be too much of a pain to setup rsyncd properly, or maybe you do not want to open the Rsync port for the Workstation. Reguardless, you can use standard Windows Shares to backup the data on your Workstations. First you must setup a share on the Workstation (or use the "Administrator" share C$). Then you must create the /etc/BackupPC/pc/hostname.pl file which should be similar to this:

$Conf{XferMethod} = 'smb';
$Conf{SmbShareName} = 'C$';
$Conf{SmbShareUserName} = 'Administrator';
$Conf{SmbSharePasswd} = 'p@ssw0rd';

Note: If you are going to use the "Administrative Shares", it is case sensitive.

Once you have the hostname.pl file created add the host to the /etc/BackupPC/hosts file by either editing the file directly, or using the Web Interface (covered in the next section). Then once you restart the BackupPC Service the host should be available to backup using BackupPC.

Working with the Web Interface

Probably the greatest advantage of using BackupPC over other backup solutions is the easy-to-use Web Interface it provides. No longer must you mount various tapes, search for files and hope that the tape is still good in order to restore a deleted file or "roll back" to a previous version of a file. Also, since the web interface is so easy to use, you can assign different people in your organization the ability to restore files if needed (reguardless of their technical ability).

Accessing the Web Interface

By Default, you access the BackupPC's Web Interface through the link:

http://hostname/cgi-bin/BackupPC_Admin

Where hostname is the name of the BackupPC Server, or you can use the server's IP Address if you do not have a properly setup DNS Server (use "localhost" if accessing the site on the BackupPC Server).

To avoid having your backup users remember that link, I highly recommend using a HTML redirect so all they would have to do is simply enter the hostname or the IP address of the BackupPC server into their browser. You can do this by placing the following in the index.html file located at /srv/www/htdocs/index.html

<head>
<meta http-equiv="Refresh" content="0; URL=/cgi-bin/BackupPC_Admin">
<title>BackupPC Redirect Page</title>
</head>
<body>
<p><a href="/cgi-bin/BackupPC_Admin">BackupPC Web Interface</a></p>
</body>

Once the redirect is in place, if you go to "http://hostname/" in a web browser, the page will immediately redirect to the correct page. Note that you may want to add to the redirect page, such as adding a legal disclaimer (and either lengthing the time for the redirect or remove the redirect altogether to force the user to click on the link). If everything is setup properly, once the redirect takes place a dialog box should be presented to the user asking for a username and password.

Using the Web Interface

If you have gotten this far in your server setup, you will probably be able to figure out the web interface on your own, so I will just go over a few items that you should be aware of.

BackupPC Status Screen

BackupPC Host Summary

The Web Interface's Status Screen and the Host Summary Screen

Status Screen - This page allows you to monitor your BackupPC server. Here you can ensure that you have enough drive space available for future backups, how much space has been used, view any currently running jobs and view any errors that you may need to address.

Host Summary Screen - This page gives you specific information about a certain host you have configured to backup. Here you can start or stop a backup, browse any of the backups, view any errors that may have occurred, and view file information about the host (compression information, file totals, etc.

Browsing Backups

Restoring a File

Browsing a Backup through the Web Interface and Restoring a file

Browsing Backups - When you click on a backup number on a host screen, the Browse Backups page comes up. Here you can browse the backup using a tree view with the directory structure on the left and the contents of the current directory on the right. Here you can click on a file to open it on your computer, or you can check it and perform a restore.

Restoring Files - When you check a file (or files) to restore, you will be presented with the Restore Screen. Here you are given various options to restore the files. First you can directly restore the file on the client machine. This will overright the file on the client (if it exists) so rename the file first if needed. Note that the direct restore may or may not work depending how you setup the client (if you set it to read only it will not work). The other options to restore a file include downloading a compressed file containing all of the files you selected to restore, this can be in either ZIP format or TAR format.

Adjusting the Server Behaviour through the Web Interface

BackupPC now offers the ability to adjust it's configuration files through it's Web Interface. This is a very welcome feature as you no longer have to worry about errors when editing the configuration file(s).

Modifying BackupPC Behaviour

Adding a host to BackupPC

Modifying the Config File through the Web Interface and adding a host

Configuration Editor - When you click on the "Edit Config" link from the "Server Status Screen" you are given the ability to adjust the server configuration through the Web Interface. This is nice as it provides a structured way to edit the configuration file(s), as well as give you a direct link to the option you can configure. For more information on all of the configuration options just click on the option!

Just remember that when you add a host through the web interface, you will still need to manually create a hostname.pl file within the /etc/BackupPC/pc directory to fine tune the options for that host (if it differs from the procedures specified in the main configuration file).

Configuring BackupPC for Archiving Clients

BackupPC is very good at providing "on-site" backups, but what if you want to take these backups "off-site" in case of fire or other emergency. Well, BackupPC gives you the option of creating a "Archive" of any backup on any host stored on the server.

To enable this feature you must first add "Host" to the BackupPC Server. This host is not a real host, but a "Virtual Host" that you will access through the Web Interface to create archives of a backup. The first thing you will want to do is create the file /etc/BackupPC/pc/archive.pl containing:

$Conf{XferMethod} = 'archive';

Then you will want to add the "archive" host to the /etc/BackupPC/hosts file (use the web interface if you want). Finally you must manually create the directory /srv/backuppc/pc/archive and ensure that the backuppc user is the owner and has write access:

mkdir /srv/backuppc/pc/archive
chown backuppc:www /srv/backuppc/pc/archive
chmod o-rwx /srv/backuppc/pc/archive

Once you do all of the above steps, go ahead and reload the BackupPC Server Configuration (you can use the Web Interface to do this, it is under "Admin Options".

Starting an Archive

Options for the Archive

Starting an Archive through the Web Interface and Specifying Options for the Archive

Once you reread the configuration, you can now start an archive by browsing to the "archvie" host. This screen allows you to start an archive for any backups you have on the server. When starting an archive you are presented with a few different options:

Archive Location/Device - here you enter a directory where you want the archive to be stored at, it will be a directory location on the server and can be a removable drive or network location mounted somewhere on the server - don't use my example or "/srv/backuppc", create a directory called "/srv/backuppc/archive" if needed. Just remember that this directory must have enough storage space to hold a complete backup.

Compression - select the compression type that you want to use (or none you don't want compression - although it will be stored as a raw tar file).

Split output into - This allows you to control the size of the archive file size to allow it to fit onto certain media. What BackupPC will do is split the compressed image into files with the specified size. The first filename will be host.0.tar.gz.aa then it will be host.0.tar.gz.ab and so on.

Once the archive is done, move the files to removable media or a removeable drive to get them off of the premesis.

Restoring from an Archive

If you happen to be unfortunate enough to need to restore from an Archive created with BackupPC, here is how to get your files back. First, but all of the archvie files into a single directory (this means you may have to copy them back from a CD), then issue the following command to restore all of the files to a directory:

mkdir restore
cd restore
cat ../host.0.tar.gz.* | tar zx

All of your files should now be restored into the "restore" directory and you can manipulate or move them however you want.

Finishing Up

Now that your BackupPC server is operational, there are a few things you will want to do to finish up, namely adjust all permissions so that no unauthorized access can be easily obtained. To adjust the permissions, follow these commands:

chown backuppc:www /srv/backuppc -R
chmod o-rwx /srv/backuppc -R
chown backuppc:www /etc/BackupPC -R
chmod o-rwx /etc/BackupPC -R
chown backuppc:www /srv/www/cgi-bin -R
chmod o-rwx /srv/www/cgi-bin -R

Tips and Tricks

This section will be adjusted to add any answers to any questions that I may receive about this article. If you run into any problems email me at mpetersen71@gmail.com and I will either fix this article or add to this section if I can answer your questions.

Re-iterating How to Add User to Web Interface

In case you missed it in the article here is how to add every user that you will want to have access to the BackupPC Web Interface to the /srv/backuppc/password.file - to do this you simply run the following command:

htpasswd2 -c /srv/backuppc/password.file adminuser

to add the first user and any additional users can be added with:

htpasswd2 /srv/backuppc/password.file username

Be sure to adjust permission on the /srv/backuppc/password.file after it is created (see above).

Resolving Host not Found and other Issues

Most Host Not Found Issues are the result of not having a proper DNS server for your network. To work aroung this issue I recommend simply adding an entry to the /etc/hosts file on the BackupPC server that points to the correct client. It should look something like:

10.0.0.5        files.pcc-services.com
10.0.0.5        www.pcc-services.com

This usually only comes up when using the Rsync communication options. For advanced use, you can also separate your host into different backups using different hostnames (while specifying them in the /etc/hosts file). For instance if you have accounting information on the same server as office documents, you may want to separate the host into "office" and "accounting" so that "office" backup users won't have access to the "accounting" files.

Finally if you are having communication errors with Windows machines, ensure that you open the correct ports in the Windows Firewall, or disable it completely.

Google Ad

© 2017 Mike Petersen - All Rights Reserved