Difference between revisions of "BackupPC"

From ArchWiki
Jump to: navigation, search
(Edit Apache configuration)
(Edit Apache configuration)
Line 35: Line 35:
  LoadModule perl_module modules/mod_perl.so
  LoadModule perl_module modules/mod_perl.so
  User backuppc
  User backuppc
Group backuppc
  Include conf/extra/backuppc.conf
  Include conf/extra/backuppc.conf

Revision as of 00:24, 26 July 2012

BackupPC is a high-performance, enterprise-grade system for backing up Unix, Linux, WinXX, and MacOSX PCs, desktops and laptops to a server's disk. BackupPC is highly configurable and easy to install and maintain.

Given the ever decreasing cost of disks and raid systems, it is now practical and cost effective to backup a large number of machines onto a server's local disk or network storage. For some sites this might be the complete backup solution. For other sites additional permanent archives could be created by periodically backing up the server to tape.


BackupPC is part of the official repos. You can simply install it with pacman:

# pacman -S backuppc

Additional Packages

Install rsync & perl-file-rsyncp if you want to use rsync as a transport

Start BackupPC

To manually start BackupPC issue this command.

# /etc/rc.d/backuppc start

Make BackupPC run at startup

To make BackupPC load at startup edit /etc/rc.conf and add it to DAEMONS.

# nano -w /etc/rc.conf
DAEMONS=(... backuppc ...)

Apache Configuration

BackupPC has a web interface that allows you to easily control it. You can access it using Apache and mod_perl but other webservers like lighttpd works too.

Install Apache and mod_perl

# pacman -S apache mod_perl

Edit Apache configuration

Edit the Apache configuration file...

# nano -w /etc/httpd/conf/httpd.conf

...to load mod_perl, tell Apache to run as user backuppc and to include /etc/httpd/conf/extra/backuppc.conf

LoadModule perl_module modules/mod_perl.so
User backuppc
Group backuppc
Include conf/extra/backuppc.conf

Edit /etc/backuppc/config.pl. Set administrator name

$Conf{CgiAdminUsers} = 'admin'; 

Next, we need to add a users file and set the admin password:

# htpasswd -c /etc/backuppc/backuppc.users admin
Note: The BackupPC-Webfrontend is initially configured, that you can only access it from the localhost. If you want to access it from all machines in your network, you have to edit /etc/httpd/conf/extra/backuppc.conf:
# nano -w /etc/httpd/conf/extra/backuppc.conf

Edit the line

allow from


allow from 192.168.0

where you have to replace 192.168.0 to your corresponding IP-Adresses you want to gain access from.

Starting BackupPC and Apache manually

# /etc/rc.d/backuppc start
# /etc/rc.d/httpd start

Starting both on boot

Add the BackupPC and the Apache daemon to rc.conf

# nano -w /etc/rc.conf
DAEMONS=(... backuppc httpd ...)

Alternative lighttpd Configuration


server.port             = 81
server.username         = "backuppc"
server.groupname        = "http"
server.document-root    = "/srv/http"
server.errorlog         = "/var/log/lighttpd/error.log"
dir-listing.activate    = "enable"
index-file.names        = ( "index.html", "index.php", "index.cgi" )
mimetype.assign         = ( ".html" => "text/html", ".txt" => "text/plain", ".jpg" => "image/jpeg", ".png" => "image/png", "" => "application/octet-stream" )

server.modules = ("mod_alias", "mod_cgi", "mod_auth", "mod_access" )

alias.url               = ( "/BackupPC_Admin" => "/usr/share/backuppc/cgi-bin/BackupPC_Admin" )
cgi.assign              += ( ".cgi" => "/usr/bin/perl" )
cgi.assign              += ( "BackupPC_Admin" => "/usr/bin/perl" )

auth.backend = "plain"
auth.backend.plain.userfile = "/etc/lighttpd/passwd"
auth.require = ( "/BackupPC_Admin" => ( "method" => "basic", "realm" => "BackupPC", "require" => "user=admin" ) )



Accessing the admin page

Browse to http://localhost/BackupPC_Admin respectively http://YOUR_BACKUPPC_SERVER_IP/BackupPC_Admin