]> Frank Brehm's Git Trees - config/bruni/etc.git/commitdiff
Current state after installation of BackupPC
authorFrank Brehm <frank@brehm-online.com>
Thu, 3 Jan 2013 12:24:07 +0000 (13:24 +0100)
committerFrank Brehm <frank@brehm-online.com>
Thu, 3 Jan 2013 12:24:07 +0000 (13:24 +0100)
33 files changed:
BackupPC/.keep_app-backup_backuppc-0 [new file with mode: 0644]
BackupPC/config.pl [new file with mode: 0644]
BackupPC/hosts [new file with mode: 0644]
BackupPC/httpd.conf [new file with mode: 0644]
BackupPC/pc/.keep_app-backup_backuppc-0 [new file with mode: 0644]
BackupPC/users.htpasswd [new file with mode: 0644]
apache2/modules.d/75_mod_perl.conf [new file with mode: 0644]
apache2/modules.d/apache2-mod_perl-startup.pl [new file with mode: 0644]
conf.d/apache2-backuppc [new file with mode: 0644]
conf.d/backuppc [new file with mode: 0644]
fstab
group
group-
gshadow
gshadow-
init.d/apache2-backuppc [new file with mode: 0755]
init.d/backuppc [new file with mode: 0755]
passwd
passwd-
php/apache2-php5.3/ext-active/uuid.ini [new symlink]
php/apache2-php5.3/ext/uuid.ini [new file with mode: 0644]
php/cgi-php5.3/ext-active/uuid.ini [new symlink]
php/cgi-php5.3/ext/uuid.ini [new file with mode: 0644]
php/cli-php5.3/ext-active/uuid.ini [new symlink]
php/cli-php5.3/ext/uuid.ini [new file with mode: 0644]
php/embed-php5.3/ext-active/uuid.ini [new symlink]
php/embed-php5.3/ext/uuid.ini [new file with mode: 0644]
php/fpm-php5.3/ext-active/uuid.ini [new symlink]
php/fpm-php5.3/ext/uuid.ini [new file with mode: 0644]
portage/package.use
shadow
shadow-
sudoers

diff --git a/BackupPC/.keep_app-backup_backuppc-0 b/BackupPC/.keep_app-backup_backuppc-0
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/BackupPC/config.pl b/BackupPC/config.pl
new file mode 100644 (file)
index 0000000..556b946
--- /dev/null
@@ -0,0 +1,2279 @@
+#============================================================= -*-perl-*-
+#
+# Configuration file for BackupPC.
+#
+# DESCRIPTION
+#
+#   This is the main configuration file for BackupPC.
+#
+#   This file must be valid perl source, so make sure the punctuation,
+#   quotes, and other syntax are valid.
+#
+#   This file is read by BackupPC at startup, when a HUP (-1) signal
+#   is sent to BackupPC and also at each wakeup time whenever the
+#   modification time of this file changes.
+#
+#   The configuration parameters are divided into four general groups.
+#   The first group (general server configuration) provides general
+#   configuration for BackupPC.  The next two groups describe what
+#   to backup, when to do it, and how long to keep it.  The fourth
+#   group are settings for the CGI http interface.
+#
+#   Configuration settings can also be specified on a per-PC basis.
+#   Simply put the relevant settings in a config.pl file in the
+#   PC's backup directory (ie: in __TOPDIR__/pc/hostName).
+#   All configuration settings in the second, third and fourth
+#   groups can be overridden by the per-PC config.pl file.
+#
+# AUTHOR
+#   Craig Barratt  <cbarratt@users.sourceforge.net>
+#
+# COPYRIGHT
+#   Copyright (C) 2001-2009  Craig Barratt
+#
+#   See http://backuppc.sourceforge.net.
+#
+#========================================================================
+
+###########################################################################
+# General server configuration
+###########################################################################
+#
+# Host name on which the BackupPC server is running.
+#
+$Conf{ServerHost} = 'bruni';
+
+#
+# TCP port number on which the BackupPC server listens for and accepts
+# connections.  Normally this should be disabled (set to -1).  The TCP
+# port is only needed if apache runs on a different machine from BackupPC.
+# In that case, set this to any spare port number over 1024 (eg: 2359).
+# If you enable the TCP port, make sure you set $Conf{ServerMesgSecret}
+# too!
+#
+$Conf{ServerPort} = -1;
+
+#
+# Shared secret to make the TCP port secure.  Set this to a hard to guess
+# string if you enable the TCP port (ie: $Conf{ServerPort} > 0).
+#
+# To avoid possible attacks via the TCP socket interface, every client
+# message is protected by an MD5 digest. The MD5 digest includes four
+# items:
+#   - a seed that is sent to the client when the connection opens
+#   - a sequence number that increments for each message
+#   - a shared secret that is stored in $Conf{ServerMesgSecret}
+#   - the message itself.
+#
+# The message is sent in plain text preceded by the MD5 digest.  A
+# snooper can see the plain-text seed sent by BackupPC and plain-text
+# message from the client, but cannot construct a valid MD5 digest since
+# the secret $Conf{ServerMesgSecret} is unknown.  A replay attack is
+# not possible since the seed changes on a per-connection and
+# per-message basis.
+#
+$Conf{ServerMesgSecret} = '';
+
+#
+# PATH setting for BackupPC.  An explicit value is necessary
+# for taint mode.  Value shouldn't matter too much since
+# all execs use explicit paths.  However, taint mode in perl
+# will complain if this directory is world writable.
+#
+$Conf{MyPath} = '/bin';
+
+#
+# Permission mask for directories and files created by BackupPC.
+# Default value prevents any access from group other, and prevents
+# group write.
+#
+$Conf{UmaskMode} = 27;
+
+#
+# Times at which we wake up, check all the PCs, and schedule necessary
+# backups.  Times are measured in hours since midnight.  Can be
+# fractional if necessary (eg: 4.25 means 4:15am).
+#
+# If the hosts you are backing up are always connected to the network
+# you might have only one or two wakeups each night.  This will keep
+# the backup activity after hours.  On the other hand, if you are backing
+# up laptops that are only intermittently connected to the network you
+# will want to have frequent wakeups (eg: hourly) to maximize the chance
+# that each laptop is backed up.
+#
+# Examples:
+#     $Conf{WakeupSchedule} = [22.5];         # once per day at 10:30 pm.
+#     $Conf{WakeupSchedule} = [2,4,6,8,10,12,14,16,18,20,22];  # every 2 hours
+#
+# The default value is every hour except midnight.
+#
+# The first entry of $Conf{WakeupSchedule} is when BackupPC_nightly is run.
+# You might want to re-arrange the entries in $Conf{WakeupSchedule}
+# (they don't have to be ascending) so that the first entry is when
+# you want BackupPC_nightly to run (eg: when you don't expect a lot
+# of regular backups to run).
+#
+$Conf{WakeupSchedule} = [
+  1,
+  2,
+  3,
+  4,
+  5,
+  6,
+  7,
+  8,
+  9,
+  10,
+  11,
+  12,
+  13,
+  14,
+  15,
+  16,
+  17,
+  18,
+  19,
+  20,
+  21,
+  22,
+  23
+];
+
+#
+# Maximum number of simultaneous backups to run.  If there
+# are no user backup requests then this is the maximum number
+# of simultaneous backups.
+#
+$Conf{MaxBackups} = 4;
+
+#
+# Additional number of simultaneous backups that users can run.
+# As many as $Conf{MaxBackups} + $Conf{MaxUserBackups} requests can
+# run at the same time.
+#
+$Conf{MaxUserBackups} = 4;
+
+#
+# Maximum number of pending link commands. New backups will only be
+# started if there are no more than $Conf{MaxPendingCmds} plus
+# $Conf{MaxBackups} number of pending link commands, plus running jobs.
+# This limit is to make sure BackupPC doesn't fall too far behind in
+# running BackupPC_link commands.
+#
+$Conf{MaxPendingCmds} = 15;
+
+#
+# Nice level at which CmdQueue commands (eg: BackupPC_link and
+# BackupPC_nightly) are run at.
+#
+$Conf{CmdQueueNice} = 10;
+
+#
+# How many BackupPC_nightly processes to run in parallel.
+#
+# Each night, at the first wakeup listed in $Conf{WakeupSchedule},
+# BackupPC_nightly is run.  Its job is to remove unneeded files
+# in the pool, ie: files that only have one link.  To avoid race
+# conditions, BackupPC_nightly and BackupPC_link cannot run at
+# the same time.  Starting in v3.0.0, BackupPC_nightly can run
+# concurrently with backups (BackupPC_dump).
+#
+# So to reduce the elapsed time, you might want to increase this
+# setting to run several BackupPC_nightly processes in parallel
+# (eg: 4, or even 8).
+#
+$Conf{MaxBackupPCNightlyJobs} = 2;
+
+#
+# How many days (runs) it takes BackupPC_nightly to traverse the
+# entire pool.  Normally this is 1, which means every night it runs,
+# it does traverse the entire pool removing unused pool files.
+#
+# Other valid values are 2, 4, 8, 16.  This causes BackupPC_nightly to
+# traverse 1/2, 1/4, 1/8 or 1/16th of the pool each night, meaning it
+# takes 2, 4, 8 or 16 days to completely traverse the pool.  The
+# advantage is that each night the running time of BackupPC_nightly
+# is reduced roughly in proportion, since the total job is split
+# over multiple days.  The disadvantage is that unused pool files
+# take longer to get deleted, which will slightly increase disk
+# usage.
+#
+# Note that even when $Conf{BackupPCNightlyPeriod} > 1, BackupPC_nightly
+# still runs every night.  It just does less work each time it runs.
+#
+# Examples:
+#
+#    $Conf{BackupPCNightlyPeriod} = 1;   # entire pool is checked every night
+#
+#    $Conf{BackupPCNightlyPeriod} = 2;   # two days to complete pool check
+#                                        # (different half each night)
+#
+#    $Conf{BackupPCNightlyPeriod} = 4;   # four days to complete pool check
+#                                        # (different quarter each night)
+#
+$Conf{BackupPCNightlyPeriod} = 1;
+
+#
+# Maximum number of log files we keep around in log directory.
+# These files are aged nightly.  A setting of 14 means the log
+# directory will contain about 2 weeks of old log files, in
+# particular at most the files LOG, LOG.0, LOG.1, ... LOG.13
+# (except today's LOG, these files will have a .z extension if
+# compression is on).
+#
+# If you decrease this number after BackupPC has been running for a
+# while you will have to manually remove the older log files.
+#
+$Conf{MaxOldLogFiles} = 14;
+
+#
+# Full path to the df command.  Security caution: normal users
+# should not allowed to write to this file or directory.
+#
+$Conf{DfPath} = '/bin/df';
+
+#
+# Command to run df.  The following variables are substituted at run-time:
+#
+#   $dfPath      path to df ($Conf{DfPath})
+#   $topDir      top-level BackupPC data directory
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{DfCmd} = '$dfPath $topDir';
+
+#
+# Full path to various commands for archiving
+#
+$Conf{SplitPath} = '/usr/bin/split';
+$Conf{ParPath} = '/usr/bin/par2';
+$Conf{CatPath} = '/bin/cat';
+$Conf{GzipPath} = '/bin/gzip';
+$Conf{Bzip2Path} = '/bin/bzip2';
+
+#
+# Maximum threshold for disk utilization on the __TOPDIR__ filesystem.
+# If the output from $Conf{DfPath} reports a percentage larger than
+# this number then no new regularly scheduled backups will be run.
+# However, user requested backups (which are usually incremental and
+# tend to be small) are still performed, independent of disk usage.
+# Also, currently running backups will not be terminated when the disk
+# usage exceeds this number.
+#
+$Conf{DfMaxUsagePct} = 95;
+
+#
+# How long BackupPC_trashClean sleeps in seconds between each check
+# of the trash directory.  Once every 5 minutes should be reasonable.
+#
+$Conf{TrashCleanSleepSec} = 300;
+
+#
+# List of DHCP address ranges we search looking for PCs to backup.
+# This is an array of hashes for each class C address range.
+# This is only needed if hosts in the conf/hosts file have the
+# dhcp flag set.
+#
+# Examples:
+#    # to specify 192.10.10.20 to 192.10.10.250 as the DHCP address pool
+#    $Conf{DHCPAddressRanges} = [
+#        {
+#            ipAddrBase => '192.10.10',
+#            first => 20,
+#            last  => 250,
+#        },
+#    ];
+#    # to specify two pools (192.10.10.20-250 and 192.10.11.10-50)
+#    $Conf{DHCPAddressRanges} = [
+#        {
+#            ipAddrBase => '192.10.10',
+#            first => 20,
+#            last  => 250,
+#        },
+#        {
+#            ipAddrBase => '192.10.11',
+#            first => 10,
+#            last  => 50,
+#        },
+#    ];
+#
+$Conf{DHCPAddressRanges} = [];
+
+#
+# The BackupPC user.
+#
+$Conf{BackupPCUser} = 'backuppc';
+
+#
+# Important installation directories:
+#
+#   TopDir     - where all the backup data is stored
+#   ConfDir    - where the main config and hosts files resides
+#   LogDir     - where log files and other transient information
+#   InstallDir - where the bin, lib and doc installation dirs reside.
+#                Note: you cannot change this value since all the
+#                perl scripts include this path.  You must reinstall
+#                with configure.pl to change InstallDir.
+#   CgiDir     - Apache CGI directory for BackupPC_Admin
+#
+# Note: it is STRONGLY recommended that you don't change the
+# values here.  These are set at installation time and are here
+# for reference and are used during upgrades.
+#
+# Instead of changing TopDir here it is recommended that you use
+# a symbolic link to the new location, or mount the new BackupPC
+# store at the existing $Conf{TopDir} setting.
+#
+#$Conf{TopDir} = '/var/lib/backuppc';
+$Conf{TopDir} = '/data/my_passport/backuppc';
+$Conf{ConfDir} = '/etc/BackupPC';
+$Conf{LogDir} = '/var/log/BackupPC';
+$Conf{InstallDir} = '/usr';
+$Conf{CgiDir} = '/usr/share/webapps/backuppc/3.2.1-r2/htdocs';
+
+#
+# Whether BackupPC and the CGI script BackupPC_Admin verify that they
+# are really running as user $Conf{BackupPCUser}.  If this flag is set
+# and the effective user id (euid) differs from $Conf{BackupPCUser}
+# then both scripts exit with an error.  This catches cases where
+# BackupPC might be accidently started as root or the wrong user,
+# or if the CGI script is not installed correctly.
+#
+$Conf{BackupPCUserVerify} = '1';
+
+#
+# Maximum number of hardlinks supported by the $TopDir file system
+# that BackupPC uses.  Most linux or unix file systems should support
+# at least 32000 hardlinks per file, or 64000 in other cases.  If a pool
+# file already has this number of hardlinks, a new pool file is created
+# so that new hardlinks can be accommodated.  This limit will only
+# be hit if an identical file appears at least this number of times
+# across all the backups.
+#
+$Conf{HardLinkMax} = 31999;
+
+#
+# Advanced option for asking BackupPC to load additional perl modules.
+# Can be a list (array ref) of module names to load at startup.
+#
+$Conf{PerlModuleLoad} = undef;
+
+#
+# Path to init.d script and command to use that script to start the
+# server from the CGI interface.  The following variables are substituted
+# at run-time:
+#
+#   $sshPath           path to ssh ($Conf{SshPath})
+#   $serverHost        same as $Conf{ServerHost}
+#   $serverInitdPath   path to init.d script ($Conf{ServerInitdPath})
+#
+# Example:
+#
+# $Conf{ServerInitdPath}     = '/etc/init.d/backuppc';
+# $Conf{ServerInitdStartCmd} = '$sshPath -q -x -l root $serverHost'
+#                            . ' $serverInitdPath start'
+#                            . ' < /dev/null >& /dev/null';
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{ServerInitdPath} = undef;
+$Conf{ServerInitdStartCmd} = '';
+
+
+###########################################################################
+# What to backup and when to do it
+# (can be overridden in the per-PC config.pl)
+###########################################################################
+#
+# Minimum period in days between full backups. A full dump will only be
+# done if at least this much time has elapsed since the last full dump,
+# and at least $Conf{IncrPeriod} days has elapsed since the last
+# successful dump.
+#
+# Typically this is set slightly less than an integer number of days. The
+# time taken for the backup, plus the granularity of $Conf{WakeupSchedule}
+# will make the actual backup interval a bit longer.
+#
+$Conf{FullPeriod} = '6.97';
+
+#
+# Minimum period in days between incremental backups (a user requested
+# incremental backup will be done anytime on demand).
+#
+# Typically this is set slightly less than an integer number of days. The
+# time taken for the backup, plus the granularity of $Conf{WakeupSchedule}
+# will make the actual backup interval a bit longer.
+#
+$Conf{IncrPeriod} = '0.97';
+
+#
+# Number of full backups to keep.  Must be >= 1.
+#
+# In the steady state, each time a full backup completes successfully
+# the oldest one is removed.  If this number is decreased, the
+# extra old backups will be removed.
+#
+# If filling of incremental dumps is off the oldest backup always
+# has to be a full (ie: filled) dump.  This might mean one or two
+# extra full dumps are kept until the oldest incremental backups expire.
+#
+# Exponential backup expiry is also supported.  This allows you to specify:
+#
+#   - num fulls to keep at intervals of 1 * $Conf{FullPeriod}, followed by
+#   - num fulls to keep at intervals of 2 * $Conf{FullPeriod},
+#   - num fulls to keep at intervals of 4 * $Conf{FullPeriod},
+#   - num fulls to keep at intervals of 8 * $Conf{FullPeriod},
+#   - num fulls to keep at intervals of 16 * $Conf{FullPeriod},
+#
+# and so on.  This works by deleting every other full as each expiry
+# boundary is crossed.
+#
+# Exponential expiry is specified using an array for $Conf{FullKeepCnt}:
+#
+#   $Conf{FullKeepCnt} = [4, 2, 3];
+#
+# Entry #n specifies how many fulls to keep at an interval of
+# 2^n * $Conf{FullPeriod} (ie: 1, 2, 4, 8, 16, 32, ...).
+#
+# The example above specifies keeping 4 of the most recent full backups
+# (1 week interval) two full backups at 2 week intervals, and 3 full
+# backups at 4 week intervals, eg:
+#
+#    full 0 19 weeks old   \
+#    full 1 15 weeks old    >---  3 backups at 4 * $Conf{FullPeriod}
+#    full 2 11 weeks old   / 
+#    full 3  7 weeks old   \____  2 backups at 2 * $Conf{FullPeriod}
+#    full 4  5 weeks old   /
+#    full 5  3 weeks old   \
+#    full 6  2 weeks old    \___  4 backups at 1 * $Conf{FullPeriod}
+#    full 7  1 week old     /
+#    full 8  current       /
+#
+# On a given week the spacing might be less than shown as each backup
+# ages through each expiry period.  For example, one week later, a
+# new full is completed and the oldest is deleted, giving:
+#
+#    full 0 16 weeks old   \
+#    full 1 12 weeks old    >---  3 backups at 4 * $Conf{FullPeriod}
+#    full 2  8 weeks old   / 
+#    full 3  6 weeks old   \____  2 backups at 2 * $Conf{FullPeriod}
+#    full 4  4 weeks old   /
+#    full 5  3 weeks old   \
+#    full 6  2 weeks old    \___  4 backups at 1 * $Conf{FullPeriod}
+#    full 7  1 week old     /
+#    full 8  current       /
+#
+# You can specify 0 as a count (except in the first entry), and the
+# array can be as long as you wish.  For example:
+#
+#   $Conf{FullKeepCnt} = [4, 0, 4, 0, 0, 2];
+#
+# This will keep 10 full dumps, 4 most recent at 1 * $Conf{FullPeriod},
+# followed by 4 at an interval of 4 * $Conf{FullPeriod} (approx 1 month
+# apart), and then 2 at an interval of 32 * $Conf{FullPeriod} (approx
+# 7-8 months apart).
+#
+# Example: these two settings are equivalent and both keep just
+# the four most recent full dumps:
+#
+#    $Conf{FullKeepCnt} = 4;
+#    $Conf{FullKeepCnt} = [4];
+#
+$Conf{FullKeepCnt} = [
+  1
+];
+
+#
+# Very old full backups are removed after $Conf{FullAgeMax} days.  However,
+# we keep at least $Conf{FullKeepCntMin} full backups no matter how old
+# they are.
+#
+# Note that $Conf{FullAgeMax} will be increased to $Conf{FullKeepCnt}
+# times $Conf{FullPeriod} if $Conf{FullKeepCnt} specifies enough
+# full backups to exceed $Conf{FullAgeMax}.
+#
+$Conf{FullKeepCntMin} = 1;
+$Conf{FullAgeMax} = 90;
+
+#
+# Number of incremental backups to keep.  Must be >= 1.
+#
+# In the steady state, each time an incr backup completes successfully
+# the oldest one is removed.  If this number is decreased, the
+# extra old backups will be removed.
+#
+$Conf{IncrKeepCnt} = 6;
+
+#
+# Very old incremental backups are removed after $Conf{IncrAgeMax} days.
+# However, we keep at least $Conf{IncrKeepCntMin} incremental backups no
+# matter how old they are.
+#
+$Conf{IncrKeepCntMin} = 1;
+$Conf{IncrAgeMax} = 30;
+
+#
+# Level of each incremental.  "Level" follows the terminology
+# of dump(1).  A full backup has level 0.  A new incremental
+# of level N will backup all files that have changed since
+# the most recent backup of a lower level.
+#
+# The entries of $Conf{IncrLevels} apply in order to each
+# incremental after each full backup.  It wraps around until
+# the next full backup.  For example, these two settings
+# have the same effect:
+#
+#       $Conf{IncrLevels} = [1, 2, 3];
+#       $Conf{IncrLevels} = [1, 2, 3, 1, 2, 3];
+#
+# This means the 1st and 4th incrementals (level 1) go all
+# the way back to the full.  The 2nd and 3rd (and 5th and
+# 6th) backups just go back to the immediate preceeding
+# incremental.
+#
+# Specifying a sequence of multi-level incrementals will
+# usually mean more than $Conf{IncrKeepCnt} incrementals will
+# need to be kept, since lower level incrementals are needed
+# to merge a complete view of a backup.  For example, with
+#
+#       $Conf{FullPeriod}  = 7;
+#       $Conf{IncrPeriod}  = 1;
+#       $Conf{IncrKeepCnt} = 6;
+#       $Conf{IncrLevels}  = [1, 2, 3, 4, 5, 6];
+#
+# there will be up to 11 incrementals in this case: 
+#
+#       backup #0  (full, level 0, oldest)
+#       backup #1  (incr, level 1)
+#       backup #2  (incr, level 2)
+#       backup #3  (incr, level 3)
+#       backup #4  (incr, level 4)
+#       backup #5  (incr, level 5)
+#       backup #6  (incr, level 6)
+#       backup #7  (full, level 0)
+#       backup #8  (incr, level 1)
+#       backup #9  (incr, level 2)
+#       backup #10 (incr, level 3)
+#       backup #11 (incr, level 4)
+#       backup #12 (incr, level 5, newest)
+#
+# Backup #1 (the oldest level 1 incremental) can't be deleted
+# since backups 2..6 depend on it.  Those 6 incrementals can't
+# all be deleted since that would only leave 5 (#8..12).
+# When the next incremental happens (level 6), the complete
+# set of 6 older incrementals (#1..6) will be deleted, since
+# that maintains the required number ($Conf{IncrKeepCnt})
+# of incrementals.  This situation is reduced if you set
+# shorter chains of multi-level incrementals, eg:
+#
+#       $Conf{IncrLevels}  = [1, 2, 3];
+#
+# would only have up to 2 extra incremenals before all 3
+# are deleted.
+#
+# BackupPC as usual merges the full and the sequence
+# of incrementals together so each incremental can be
+# browsed and restored as though it is a complete backup.
+# If you specify a long chain of incrementals then more
+# backups need to be merged when browsing, restoring,
+# or getting the starting point for rsync backups.
+# In the example above (levels 1..6), browing backup
+# #6 requires 7 different backups (#0..6) to be merged.
+#
+# Because of this merging and the additional incrementals
+# that need to be kept, it is recommended that some
+# level 1 incrementals be included in $Conf{IncrLevels}.
+#
+# Prior to version 3.0 incrementals were always level 1,
+# meaning each incremental backed up all the files that
+# changed since the last full.
+#
+$Conf{IncrLevels} = [
+  1
+];
+
+#
+# Disable all full and incremental backups.  These settings are
+# useful for a client that is no longer being backed up
+# (eg: a retired machine), but you wish to keep the last
+# backups available for browsing or restoring to other machines.
+#
+# There are three values for $Conf{BackupsDisable}:
+#
+#   0    Backups are enabled.
+#
+#   1    Don't do any regular backups on this client.  Manually
+#        requested backups (via the CGI interface) will still occur.
+#
+#   2    Don't do any backups on this client.  Manually requested
+#        backups (via the CGI interface) will be ignored.
+#
+# In versions prior to 3.0 Backups were disabled by setting
+# $Conf{FullPeriod} to -1 or -2.
+#
+$Conf{BackupsDisable} = 0;
+
+#
+# A failed full backup is saved as a partial backup.  The rsync
+# XferMethod can take advantage of the partial full when the next
+# backup is run. This parameter sets the age of the partial full
+# in days: if the partial backup is older than this number of
+# days, then rsync will ignore (not use) the partial full when
+# the next backup is run.  If you set this to a negative value
+# then no partials will be saved.  If you set this to 0, partials
+# will be saved, but will not be used by the next backup.
+#
+# The default setting of 3 days means that a partial older than
+# 3 days is ignored when the next full backup is done.
+#
+$Conf{PartialAgeMax} = 3;
+
+#
+# Whether incremental backups are filled.  "Filling" means that the
+# most recent full (or filled) dump is merged into the new incremental
+# dump using hardlinks.  This makes an incremental dump look like a
+# full dump.  Prior to v1.03 all incremental backups were filled.
+# In v1.4.0 and later the default is off.
+#
+# BackupPC, and the cgi interface in particular, do the right thing on
+# un-filled incremental backups.  It will correctly display the merged
+# incremental backup with the most recent filled backup, giving the
+# un-filled incremental backups a filled appearance.  That means it
+# invisible to the user whether incremental dumps are filled or not.
+#
+# Filling backups takes a little extra disk space, and it does cost
+# some extra disk activity for filling, and later removal.  Filling
+# is no longer useful, since file mangling and compression doesn't
+# make a filled backup very useful. It's likely the filling option
+# will be removed from future versions: filling will be delegated to
+# the display and extraction of backup data.
+#
+# If filling is off, BackupPC makes sure that the oldest backup is
+# a full, otherwise the following incremental backups will be
+# incomplete.  This might mean an extra full backup has to be
+# kept until the following incremental backups expire.
+#
+# The default is off.  You can turn this on or off at any
+# time without affecting existing backups.
+#
+$Conf{IncrFill} = '0';
+
+#
+# Number of restore logs to keep.  BackupPC remembers information about
+# each restore request.  This number per client will be kept around before
+# the oldest ones are pruned.
+#
+# Note: files/dirs delivered via Zip or Tar downloads don't count as
+# restores.  Only the first restore option (where the files and dirs
+# are written to the host) count as restores that are logged.
+#
+$Conf{RestoreInfoKeepCnt} = 10;
+
+#
+# Number of archive logs to keep.  BackupPC remembers information
+# about each archive request.  This number per archive client will
+# be kept around before the oldest ones are pruned.
+#
+$Conf{ArchiveInfoKeepCnt} = 10;
+
+#
+# List of directories or files to backup.  If this is defined, only these
+# directories or files will be backed up.
+#
+# For Smb, only one of $Conf{BackupFilesExclude} and $Conf{BackupFilesOnly}
+# can be specified per share. If both are set for a particular share, then
+# $Conf{BackupFilesOnly} takes precedence and $Conf{BackupFilesExclude}
+# is ignored.
+#
+# This can be set to a string, an array of strings, or, in the case
+# of multiple shares, a hash of strings or arrays.  A hash is used
+# to give a list of directories or files to backup for each share
+# (the share name is the key).  If this is set to just a string or
+# array, and $Conf{SmbShareName} contains multiple share names, then
+# the setting is assumed to apply all shares.
+#
+# If a hash is used, a special key "*" means it applies to all
+# shares that don't have a specific entry.
+#
+# Examples:
+#    $Conf{BackupFilesOnly} = '/myFiles';
+#    $Conf{BackupFilesOnly} = ['/myFiles'];     # same as first example
+#    $Conf{BackupFilesOnly} = ['/myFiles', '/important'];
+#    $Conf{BackupFilesOnly} = {
+#       'c' => ['/myFiles', '/important'],      # these are for 'c' share
+#       'd' => ['/moreFiles', '/archive'],      # these are for 'd' share
+#    };
+#    $Conf{BackupFilesOnly} = {
+#       'c' => ['/myFiles', '/important'],      # these are for 'c' share
+#       '*' => ['/myFiles', '/important'],      # these are other shares
+#    };
+#
+$Conf{BackupFilesOnly} = {};
+
+#
+# List of directories or files to exclude from the backup.  For Smb,
+# only one of $Conf{BackupFilesExclude} and $Conf{BackupFilesOnly}
+# can be specified per share.  If both are set for a particular share,
+# then $Conf{BackupFilesOnly} takes precedence and
+# $Conf{BackupFilesExclude} is ignored.
+#
+# This can be set to a string, an array of strings, or, in the case
+# of multiple shares, a hash of strings or arrays.  A hash is used
+# to give a list of directories or files to exclude for each share
+# (the share name is the key).  If this is set to just a string or
+# array, and $Conf{SmbShareName} contains multiple share names, then
+# the setting is assumed to apply to all shares.
+#
+# The exact behavior is determined by the underlying transport program,
+# smbclient or tar.  For smbclient the exlclude file list is passed into
+# the X option.  Simple shell wild-cards using "*" or "?" are allowed.
+#
+# For tar, if the exclude file contains a "/" it is assumed to be anchored
+# at the start of the string.  Since all the tar paths start with "./",
+# BackupPC prepends a "." if the exclude file starts with a "/".  Note
+# that GNU tar version >= 1.13.7 is required for the exclude option to
+# work correctly.  For linux or unix machines you should add
+# "/proc" to $Conf{BackupFilesExclude} unless you have specified
+# --one-file-system in $Conf{TarClientCmd} or --one-file-system in
+# $Conf{RsyncArgs}.  Also, for tar, do not use a trailing "/" in
+# the directory name: a trailing "/" causes the name to not match
+# and the directory will not be excluded.
+#
+# Users report that for smbclient you should specify a directory
+# followed by "/*", eg: "/proc/*", instead of just "/proc".
+#
+# FTP servers are traversed recursively so excluding directories will
+# also exclude its contents.  You can use the wildcard characters "*"
+# and "?" to define files for inclusion and exclusion.  Both
+# attributes $Conf{BackupFilesOnly} and $Conf{BackupFilesExclude} can
+# be defined for the same share.
+#
+# If a hash is used, a special key "*" means it applies to all
+# shares that don't have a specific entry.
+#
+# Examples:
+#    $Conf{BackupFilesExclude} = '/temp';
+#    $Conf{BackupFilesExclude} = ['/temp'];     # same as first example
+#    $Conf{BackupFilesExclude} = ['/temp', '/winnt/tmp'];
+#    $Conf{BackupFilesExclude} = {
+#       'c' => ['/temp', '/winnt/tmp'],         # these are for 'c' share
+#       'd' => ['/junk', '/dont_back_this_up'], # these are for 'd' share
+#    };
+#    $Conf{BackupFilesExclude} = {
+#       'c' => ['/temp', '/winnt/tmp'],         # these are for 'c' share
+#       '*' => ['/junk', '/dont_back_this_up'], # these are for other shares
+#    };
+#
+$Conf{BackupFilesExclude} = {};
+
+#
+# PCs that are always or often on the network can be backed up after
+# hours, to reduce PC, network and server load during working hours. For
+# each PC a count of consecutive good pings is maintained. Once a PC has
+# at least $Conf{BlackoutGoodCnt} consecutive good pings it is subject
+# to "blackout" and not backed up during hours and days specified by
+# $Conf{BlackoutPeriods}.
+#
+# To allow for periodic rebooting of a PC or other brief periods when a
+# PC is not on the network, a number of consecutive bad pings is allowed
+# before the good ping count is reset. This parameter is
+# $Conf{BlackoutBadPingLimit}.
+#
+# Note that bad and good pings don't occur with the same interval. If a
+# machine is always on the network, it will only be pinged roughly once
+# every $Conf{IncrPeriod} (eg: once per day). So a setting for
+# $Conf{BlackoutGoodCnt} of 7 means it will take around 7 days for a
+# machine to be subject to blackout. On the other hand, if a ping is
+# failed, it will be retried roughly every time BackupPC wakes up, eg,
+# every one or two hours. So a setting for $Conf{BlackoutBadPingLimit} of
+# 3 means that the PC will lose its blackout status after 3-6 hours of
+# unavailability.
+#
+# To disable the blackout feature set $Conf{BlackoutGoodCnt} to a negative
+# value.  A value of 0 will make all machines subject to blackout.  But
+# if you don't want to do any backups during the day it would be easier
+# to just set $Conf{WakeupSchedule} to a restricted schedule.
+#
+$Conf{BlackoutBadPingLimit} = 3;
+$Conf{BlackoutGoodCnt} = 7;
+
+#
+# One or more blackout periods can be specified.  If a client is
+# subject to blackout then no regular (non-manual) backups will
+# be started during any of these periods.  hourBegin and hourEnd
+# specify hours fro midnight and weekDays is a list of days of
+# the week where 0 is Sunday, 1 is Monday etc.
+#
+# For example:
+#
+#    $Conf{BlackoutPeriods} = [
+#      {
+#          hourBegin =>  7.0,
+#          hourEnd   => 19.5,
+#          weekDays  => [1, 2, 3, 4, 5],
+#      },
+#    ];
+#
+# specifies one blackout period from 7:00am to 7:30pm local time
+# on Mon-Fri.
+#
+# The blackout period can also span midnight by setting
+# hourBegin > hourEnd, eg:
+#
+#    $Conf{BlackoutPeriods} = [
+#      {
+#          hourBegin =>  7.0,
+#          hourEnd   => 19.5,
+#          weekDays  => [1, 2, 3, 4, 5],
+#      },
+#      {
+#          hourBegin => 23,
+#          hourEnd   =>  5,
+#          weekDays  => [5, 6],
+#      },
+#    ];
+#
+# This specifies one blackout period from 7:00am to 7:30pm local time
+# on Mon-Fri, and a second period from 11pm to 5am on Friday and
+# Saturday night.
+#
+$Conf{BlackoutPeriods} = [
+  {
+    'hourEnd' => '19.5',
+    'weekDays' => [
+      1,
+      2,
+      3,
+      4,
+      5
+    ],
+    'hourBegin' => 7
+  }
+];
+
+#
+# A backup of a share that has zero files is considered fatal. This is
+# used to catch miscellaneous Xfer errors that result in no files being
+# backed up.  If you have shares that might be empty (and therefore an
+# empty backup is valid) you should set this flag to 0.
+#
+$Conf{BackupZeroFilesIsFatal} = '1';
+
+###########################################################################
+# How to backup a client
+# (can be overridden in the per-PC config.pl)
+###########################################################################
+#
+# What transport method to use to backup each host.  If you have
+# a mixed set of WinXX and linux/unix hosts you will need to override
+# this in the per-PC config.pl.
+#
+# The valid values are:
+#
+#   - 'smb':     backup and restore via smbclient and the SMB protocol.
+#                Easiest choice for WinXX.
+#
+#   - 'rsync':   backup and restore via rsync (via rsh or ssh).
+#                Best choice for linux/unix.  Good choice also for WinXX.
+#
+#   - 'rsyncd':  backup and restore via rsync daemon on the client.
+#                Best choice for linux/unix if you have rsyncd running on
+#                the client.  Good choice also for WinXX.
+#
+#   - 'tar':    backup and restore via tar, tar over ssh, rsh or nfs.
+#               Good choice for linux/unix.
+#
+#   - 'archive': host is a special archive host.  Backups are not done.
+#                An archive host is used to archive other host's backups
+#                to permanent media, such as tape, CDR or DVD.
+#               
+#
+$Conf{XferMethod} = 'smb';
+
+#
+# Level of verbosity in Xfer log files.  0 means be quiet, 1 will give
+# will give one line per file, 2 will also show skipped files on
+# incrementals, higher values give more output.
+#
+$Conf{XferLogLevel} = 1;
+
+#
+# Filename charset encoding on the client.  BackupPC uses utf8
+# on the server for filename encoding.  If this is empty, then
+# utf8 is assumed and client filenames will not be modified.
+# If set to a different encoding then filenames will converted
+# to/from utf8 automatically during backup and restore.
+#
+# If the file names displayed in the browser (eg: accents or special
+# characters) don't look right then it is likely you haven't set
+# $Conf{ClientCharset} correctly.
+#
+# If you are using smbclient on a WinXX machine, smbclient will convert
+# to the "unix charset" setting in smb.conf.  The default is utf8,
+# in which case leave $Conf{ClientCharset} empty since smbclient does
+# the right conversion.
+#
+# If you are using rsync on a WinXX machine then it does no conversion.
+# A typical WinXX encoding for latin1/western europe is 'cp1252',
+# so in this case set $Conf{ClientCharset} to 'cp1252'.
+#
+# On a linux or unix client, run "locale charmap" to see the client's
+# charset.  Set $Conf{ClientCharset} to this value.  A typical value
+# for english/US is 'ISO-8859-1'.
+#
+# Do "perldoc Encode::Supported" to see the list of possible charset
+# values.  The FAQ at http://www.cl.cam.ac.uk/~mgk25/unicode.html
+# is excellent, and http://czyborra.com/charsets/iso8859.html
+# provides more information on the iso-8859 charsets.
+#
+$Conf{ClientCharset} = '';
+
+#
+# Prior to 3.x no charset conversion was done by BackupPC.  Backups were
+# stored in what ever charset the XferMethod provided - typically utf8
+# for smbclient and the client's locale settings for rsync and tar (eg:
+# cp1252 for rsync on WinXX and perhaps iso-8859-1 with rsync on linux).
+# This setting tells BackupPC the charset that was used to store file
+# names in old backups taken with BackupPC 2.x, so that non-ascii file
+# names in old backups can be viewed and restored.
+#
+$Conf{ClientCharsetLegacy} = 'iso-8859-1';
+
+###########################################################################
+# Samba Configuration
+# (can be overwritten in the per-PC log file)
+###########################################################################
+#
+# Name of the host share that is backed up when using SMB.  This can be a
+# string or an array of strings if there are multiple shares per host.
+# Examples:
+#
+#   $Conf{SmbShareName} = 'c';          # backup 'c' share
+#   $Conf{SmbShareName} = ['c', 'd'];   # backup 'c' and 'd' shares
+#
+# This setting only matters if $Conf{XferMethod} = 'smb'.
+#
+$Conf{SmbShareName} = [
+  'C$'
+];
+
+#
+# Smbclient share user name.  This is passed to smbclient's -U argument.
+#
+# This setting only matters if $Conf{XferMethod} = 'smb'.
+#
+$Conf{SmbShareUserName} = '';
+
+#
+# Smbclient share password.  This is passed to smbclient via its PASSWD
+# environment variable.  There are several ways you can tell BackupPC
+# the smb share password.  In each case you should be very careful about
+# security.  If you put the password here, make sure that this file is
+# not readable by regular users!  See the "Setting up config.pl" section
+# in the documentation for more information.
+#
+# This setting only matters if $Conf{XferMethod} = 'smb'.
+#
+$Conf{SmbSharePasswd} = '';
+
+#
+# Full path for smbclient. Security caution: normal users should not
+# allowed to write to this file or directory.
+#
+# smbclient is from the Samba distribution. smbclient is used to
+# actually extract the incremental or full dump of the share filesystem
+# from the PC.
+#
+# This setting only matters if $Conf{XferMethod} = 'smb'.
+#
+$Conf{SmbClientPath} = '/usr/bin/smbclient';
+
+#
+# Command to run smbclient for a full dump.
+# This setting only matters if $Conf{XferMethod} = 'smb'.
+#
+# The following variables are substituted at run-time:
+#
+#    $smbClientPath   same as $Conf{SmbClientPath}
+#    $host            host to backup/restore
+#    $hostIP          host IP address
+#    $shareName       share name
+#    $userName        user name
+#    $fileList        list of files to backup (based on exclude/include)
+#    $I_option        optional -I option to smbclient
+#    $X_option        exclude option (if $fileList is an exclude list)
+#    $timeStampFile   start time for incremental dump
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{SmbClientFullCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -N -d 1 -c tarmode\\ full -Tc$X_option - $fileList';
+
+#
+# Command to run smbclient for an incremental dump.
+# This setting only matters if $Conf{XferMethod} = 'smb'.
+#
+# Same variable substitutions are applied as $Conf{SmbClientFullCmd}.
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{SmbClientIncrCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -N -d 1 -c tarmode\\ full -TcN$X_option $timeStampFile - $fileList';
+
+#
+# Command to run smbclient for a restore.
+# This setting only matters if $Conf{XferMethod} = 'smb'.
+#
+# Same variable substitutions are applied as $Conf{SmbClientFullCmd}.
+#
+# If your smb share is read-only then direct restores will fail.
+# You should set $Conf{SmbClientRestoreCmd} to undef and the
+# corresponding CGI restore option will be removed.
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -N -d 1 -c tarmode\\ full -Tx -';
+
+###########################################################################
+# Tar Configuration
+# (can be overwritten in the per-PC log file)
+###########################################################################
+#
+# Which host directories to backup when using tar transport.  This can be a
+# string or an array of strings if there are multiple directories to
+# backup per host.  Examples:
+#
+#   $Conf{TarShareName} = '/';                 # backup everything
+#   $Conf{TarShareName} = '/home';             # only backup /home
+#   $Conf{TarShareName} = ['/home', '/src'];   # backup /home and /src
+#
+# The fact this parameter is called 'TarShareName' is for historical
+# consistency with the Smb transport options.  You can use any valid
+# directory on the client: there is no need for it to correspond to
+# any Smb share or device mount point.
+#
+# Note also that you can also use $Conf{BackupFilesOnly} to specify
+# a specific list of directories to backup.  It's more efficient to
+# use this option instead of $Conf{TarShareName} since a new tar is
+# run for each entry in $Conf{TarShareName}.
+#
+# On the other hand, if you add --one-file-system to $Conf{TarClientCmd}
+# you can backup each file system separately, which makes restoring one
+# bad file system easier.  In this case you would list all of the mount
+# points here, since you can't get the same result with
+# $Conf{BackupFilesOnly}:
+#
+#     $Conf{TarShareName} = ['/', '/var', '/data', '/boot'];
+#
+# This setting only matters if $Conf{XferMethod} = 'tar'.
+#
+$Conf{TarShareName} = [
+  '/'
+];
+
+#
+# Full command to run tar on the client.  GNU tar is required.  You will
+# need to fill in the correct paths for ssh2 on the local host (server)
+# and GNU tar on the client.  Security caution: normal users should not
+# allowed to write to these executable files or directories.
+#
+# See the documentation for more information about setting up ssh2 keys.
+#
+# If you plan to use NFS then tar just runs locally and ssh2 is not needed.
+# For example, assuming the client filesystem is mounted below /mnt/hostName,
+# you could use something like:
+#
+#    $Conf{TarClientCmd} = '$tarPath -c -v -f - -C /mnt/$host/$shareName'
+#                        . ' --totals';
+#
+# In the case of NFS or rsh you need to make sure BackupPC's privileges
+# are sufficient to read all the files you want to backup.  Also, you
+# will probably want to add "/proc" to $Conf{BackupFilesExclude}.
+#
+# The following variables are substituted at run-time:
+#
+#   $host        host name
+#   $hostIP      host's IP address
+#   $incrDate    newer-than date for incremental backups
+#   $shareName   share name to backup (ie: top-level directory path)
+#   $fileList    specific files to backup or exclude
+#   $tarPath     same as $Conf{TarClientPath}
+#   $sshPath     same as $Conf{SshPath}
+#
+# If a variable is followed by a "+" it is shell escaped.  This is
+# necessary for the command part of ssh or rsh, since it ends up
+# getting passed through the shell.
+#
+# This setting only matters if $Conf{XferMethod} = 'tar'.
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{TarClientCmd} = '$sshPath -q -x -n -l root $host env LC_ALL=C $tarPath -c -v -f - -C $shareName+ --totals';
+
+#
+# Extra tar arguments for full backups.  Several variables are substituted at
+# run-time.  See $Conf{TarClientCmd} for the list of variable substitutions.
+#
+# If you are running tar locally (ie: without rsh or ssh) then remove the
+# "+" so that the argument is no longer shell escaped.
+#
+# This setting only matters if $Conf{XferMethod} = 'tar'.
+#
+$Conf{TarFullArgs} = '$fileList+';
+
+#
+# Extra tar arguments for incr backups.  Several variables are substituted at
+# run-time.  See $Conf{TarClientCmd} for the list of variable substitutions.
+#
+# Note that GNU tar has several methods for specifying incremental backups,
+# including:
+#
+#   --newer-mtime $incrDate+
+#          This causes a file to be included if the modification time is
+#          later than $incrDate (meaning its contents might have changed).
+#          But changes in the ownership or modes will not qualify the
+#          file to be included in an incremental.
+#
+#   --newer=$incrDate+
+#          This causes the file to be included if any attribute of the
+#          file is later than $incrDate, meaning either attributes or
+#          the modification time.  This is the default method.  Do
+#          not use --atime-preserve in $Conf{TarClientCmd} above,
+#          otherwise resetting the atime (access time) counts as an
+#          attribute change, meaning the file will always be included
+#          in each new incremental dump.
+#
+# If you are running tar locally (ie: without rsh or ssh) then remove the
+# "+" so that the argument is no longer shell escaped.
+#
+# This setting only matters if $Conf{XferMethod} = 'tar'.
+#
+$Conf{TarIncrArgs} = '--newer=$incrDate+ $fileList+';
+
+#
+# Full command to run tar for restore on the client.  GNU tar is required.
+# This can be the same as $Conf{TarClientCmd}, with tar's -c replaced by -x
+# and ssh's -n removed.
+#
+# See $Conf{TarClientCmd} for full details.
+#
+# This setting only matters if $Conf{XferMethod} = "tar".
+#
+# If you want to disable direct restores using tar, you should set
+# $Conf{TarClientRestoreCmd} to undef and the corresponding CGI
+# restore option will be removed.
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{TarClientRestoreCmd} = '$sshPath -q -x -l root $host env LC_ALL=C $tarPath -x -p --numeric-owner --same-owner -v -f - -C $shareName+';
+
+#
+# Full path for tar on the client. Security caution: normal users should not
+# allowed to write to this file or directory.
+#
+# This setting only matters if $Conf{XferMethod} = 'tar'.
+#
+$Conf{TarClientPath} = '/bin/tar';
+
+###########################################################################
+# Rsync/Rsyncd Configuration
+# (can be overwritten in the per-PC log file)
+###########################################################################
+#
+# Path to rsync executable on the client
+#
+$Conf{RsyncClientPath} = '/usr/bin/rsync';
+
+#
+# Full command to run rsync on the client machine.  The following variables
+# are substituted at run-time:
+#
+#        $host           host name being backed up
+#        $hostIP         host's IP address
+#        $shareName      share name to backup (ie: top-level directory path)
+#        $rsyncPath      same as $Conf{RsyncClientPath}
+#        $sshPath        same as $Conf{SshPath}
+#        $argList        argument list, built from $Conf{RsyncArgs},
+#                        $shareName, $Conf{BackupFilesExclude} and
+#                        $Conf{BackupFilesOnly}
+#
+# This setting only matters if $Conf{XferMethod} = 'rsync'.
+#
+$Conf{RsyncClientCmd} = '$sshPath -q -x -l root $host $rsyncPath $argList+';
+
+#
+# Full command to run rsync for restore on the client.  The following
+# variables are substituted at run-time:
+#
+#        $host           host name being backed up
+#        $hostIP         host's IP address
+#        $shareName      share name to backup (ie: top-level directory path)
+#        $rsyncPath      same as $Conf{RsyncClientPath}
+#        $sshPath        same as $Conf{SshPath}
+#        $argList        argument list, built from $Conf{RsyncArgs},
+#                        $shareName, $Conf{BackupFilesExclude} and
+#                        $Conf{BackupFilesOnly}
+#
+# This setting only matters if $Conf{XferMethod} = 'rsync'.
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{RsyncClientRestoreCmd} = '$sshPath -q -x -l root $host $rsyncPath $argList+';
+
+#
+# Share name to backup.  For $Conf{XferMethod} = "rsync" this should
+# be a file system path, eg '/' or '/home'.
+#
+# For $Conf{XferMethod} = "rsyncd" this should be the name of the module
+# to backup (ie: the name from /etc/rsynd.conf).
+#
+# This can also be a list of multiple file system paths or modules.
+# For example, by adding --one-file-system to $Conf{RsyncArgs} you
+# can backup each file system separately, which makes restoring one
+# bad file system easier.  In this case you would list all of the mount
+# points:
+#
+#     $Conf{RsyncShareName} = ['/', '/var', '/data', '/boot'];
+#
+$Conf{RsyncShareName} = [
+  '/'
+];
+
+#
+# Rsync daemon port on the client, for $Conf{XferMethod} = "rsyncd".
+#
+$Conf{RsyncdClientPort} = 873;
+
+#
+# Rsync daemon user name on client, for $Conf{XferMethod} = "rsyncd".
+# The user name and password are stored on the client in whatever file
+# the "secrets file" parameter in rsyncd.conf points to
+# (eg: /etc/rsyncd.secrets).
+#
+$Conf{RsyncdUserName} = '';
+
+#
+# Rsync daemon user name on client, for $Conf{XferMethod} = "rsyncd".
+# The user name and password are stored on the client in whatever file
+# the "secrets file" parameter in rsyncd.conf points to
+# (eg: /etc/rsyncd.secrets).
+#
+$Conf{RsyncdPasswd} = '';
+
+#
+# Whether authentication is mandatory when connecting to the client's
+# rsyncd.  By default this is on, ensuring that BackupPC will refuse to
+# connect to an rsyncd on the client that is not password protected.
+# Turn off at your own risk.
+#
+$Conf{RsyncdAuthRequired} = '1';
+
+#
+# When rsync checksum caching is enabled (by adding the
+# --checksum-seed=32761 option to $Conf{RsyncArgs}), the cached
+# checksums can be occasionally verified to make sure the file
+# contents matches the cached checksums.  This is to avoid the
+# risk that disk problems might cause the pool file contents to
+# get corrupted, but the cached checksums would make BackupPC
+# think that the file still matches the client.
+#
+# This setting is the probability (0 means never and 1 means always)
+# that a file will be rechecked.  Setting it to 0 means the checksums
+# will not be rechecked (unless there is a phase 0 failure).  Setting
+# it to 1 (ie: 100%) means all files will be checked, but that is
+# not a desirable setting since you are better off simply turning
+# caching off (ie: remove the --checksum-seed option).
+#   
+# The default of 0.01 means 1% (on average) of the files during a full
+# backup will have their cached checksum re-checked.
+#   
+# This setting has no effect unless checksum caching is turned on.
+#   
+$Conf{RsyncCsumCacheVerifyProb} = '0.01';
+
+#
+# Arguments to rsync for backup.  Do not edit the first set unless you
+# have a thorough understanding of how File::RsyncP works.
+#
+$Conf{RsyncArgs} = [
+  '--numeric-ids',
+  '--perms',
+  '--owner',
+  '--group',
+  '-D',
+  '--links',
+  '--hard-links',
+  '--times',
+  '--block-size=2048',
+  '--recursive',
+  '--specials',
+  '--checksum-seed=32761',
+];
+
+#
+# Additional arguments added to RsyncArgs.  This can be used in
+# conbination with $Conf{RsyncArgs} to allow customization of
+# the rsync arguments on a part-client basis.  The standard
+# arguments go in $Conf{RsyncArgs} and $Conf{RsyncArgsExtra}
+# can be set on a per-client basis.
+#
+# Examples of additional arguments that should work are --exclude/--include,
+# eg:
+#
+#     $Conf{RsyncArgsExtra} = [
+#           '--exclude', '/proc',
+#           '--exclude', '*.tmp',
+#     ];
+#
+# Both $Conf{RsyncArgs} and $Conf{RsyncArgsExtra} are subject
+# to the following variable substitutions:
+#
+#        $client       client name being backed up
+#        $host         host name (could be different from client name if
+#                                 $Conf{ClientNameAlias} is set)
+#        $hostIP       IP address of host
+#        $confDir      configuration directory path
+#
+# This allows settings of the form:
+#
+#     $Conf{RsyncArgsExtra} = [
+#             '--exclude-from=$confDir/pc/$host.exclude',
+#     ];
+#
+$Conf{RsyncArgsExtra} = [];
+
+#
+# Arguments to rsync for restore.  Do not edit the first set unless you
+# have a thorough understanding of how File::RsyncP works.
+#
+# If you want to disable direct restores using rsync (eg: is the module
+# is read-only), you should set $Conf{RsyncRestoreArgs} to undef and
+# the corresponding CGI restore option will be removed.
+#
+# $Conf{RsyncRestoreArgs} is subject to the following variable
+# substitutions:
+#
+#        $client       client name being backed up
+#        $host         host name (could be different from client name if
+#                                 $Conf{ClientNameAlias} is set)
+#        $hostIP       IP address of host
+#        $confDir      configuration directory path
+#
+# Note: $Conf{RsyncArgsExtra} doesn't apply to $Conf{RsyncRestoreArgs}.
+#
+$Conf{RsyncRestoreArgs} = [
+  '--numeric-ids',
+  '--perms',
+  '--owner',
+  '--group',
+  '-D',
+  '--links',
+  '--hard-links',
+  '--times',
+  '--block-size=2048',
+  '--relative',
+  '--ignore-times',
+  '--recursive',
+  '--specials',
+  '--checksum-seed=32761',
+];
+
+###########################################################################
+# FTP Configuration
+# (can be overwritten in the per-PC log file)
+##########################################################################
+#
+# Which host directories to backup when using FTP.  This can be a
+# string or an array of strings if there are multiple shares per host.
+#
+# This value must be specified in one of two ways: either as a
+# subdirectory of the 'share root' on the server, or as the absolute
+# path of the directory.
+#
+# In the following example, if the directory /home/username is the
+# root share of the ftp server with the given username, the following
+# two values will back up the same directory:
+#
+#    $Conf{FtpShareName} = 'www';                # www directory
+#    $Conf{FtpShareName} = '/home/username/www'; # same directory
+#
+# Path resolution is not supported; i.e.; you may not have an ftp
+# share path defined as '../otheruser' or '~/games'.
+#
+#  Multiple shares may also be specified, as with other protocols:
+#
+#    $Conf{FtpShareName} = [ 'www',
+#                            'bin',
+#                            'config' ];
+#
+# Note also that you can also use $Conf{BackupFilesOnly} to specify
+# a specific list of directories to backup.  It's more efficient to
+# use this option instead of $Conf{FtpShareName} since a new tar is
+# run for each entry in $Conf{FtpShareName}.
+#
+# This setting only matters if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpShareName} = '';
+
+#
+# FTP user name.  This is used to log into the server.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpUserName} = '';
+
+#
+# FTP user password.  This is used to log into the server.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpPasswd} = '';
+
+#
+# Whether passive mode is used.  The correct setting depends upon
+# whether local or remote ports are accessible from the other machine,
+# which is affected by any firewall or routers between the FTP server
+# on the client and the BackupPC server.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpPassive} = 1;
+
+#
+# Transfer block size. This sets the size of the amounts of data in
+# each frame. While undefined, this value takes the default value.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpBlockSize} = 10240;
+
+#
+# The port of the ftp server.  If undefined, 21 is used.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpPort} = 21;
+
+#
+# Connection timeout for FTP.  When undefined, the default is 120 seconds.
+#
+# This setting is used only if $Conf{XferMethod} = 'ftp'.
+#
+$Conf{FtpTimeout} = 120;
+
+#
+# Behaviour when BackupPC encounters symlinks on the FTP share.
+#
+# Symlinks cannot be restored via FTP, so the desired behaviour will
+# be different depending on the setup of the share. The default for
+# this behavor is 1.  Directory shares with more complicated directory
+# structures should consider other protocols.
+#
+$Conf{FtpFollowSymlinks} = 0;
+
+###########################################################################
+# Archive Configuration
+# (can be overwritten in the per-PC log file)
+###########################################################################
+#
+# Archive Destination
+#
+# The Destination of the archive
+# e.g. /tmp for file archive or /dev/nst0 for device archive
+#
+$Conf{ArchiveDest} = '/tmp';
+
+#
+# Archive Compression type
+#
+# The valid values are:
+#
+#   - 'none':  No Compression
+#
+#   - 'gzip':  Medium Compression. Recommended.
+#
+#   - 'bzip2': High Compression but takes longer.
+#
+$Conf{ArchiveComp} = 'gzip';
+
+#
+# Archive Parity Files
+#
+# The amount of Parity data to generate, as a percentage
+# of the archive size.
+# Uses the commandline par2 (par2cmdline) available from
+# http://parchive.sourceforge.net
+#
+# Only useful for file dumps.
+#
+# Set to 0 to disable this feature.
+#
+$Conf{ArchivePar} = '0';
+
+#
+# Archive Size Split
+#
+# Only for file archives. Splits the output into 
+# the specified size * 1,000,000.
+# e.g. to split into 650,000,000 bytes, specify 650 below.
+# 
+# If the value is 0, or if $Conf{ArchiveDest} is an existing file or
+# device (e.g. a streaming tape drive), this feature is disabled.
+#
+$Conf{ArchiveSplit} = 0;
+
+#
+# Archive Command
+#
+# This is the command that is called to actually run the archive process
+# for each host.  The following variables are substituted at run-time:
+#
+#   $Installdir    The installation directory of BackupPC
+#   $tarCreatePath The path to BackupPC_tarCreate
+#   $splitpath     The path to the split program
+#   $parpath       The path to the par2 program
+#   $host          The host to archive
+#   $backupnumber  The backup number of the host to archive
+#   $compression   The path to the compression program
+#   $compext       The extension assigned to the compression type
+#   $splitsize     The number of bytes to split archives into
+#   $archiveloc    The location to put the archive
+#   $parfile       The amount of parity data to create (percentage)
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{ArchiveClientCmd} = '$Installdir/bin/BackupPC_archiveHost $tarCreatePath $splitpath $parpath $host $backupnumber $compression $compext $splitsize $archiveloc $parfile *';
+
+#
+# Full path for ssh. Security caution: normal users should not
+# allowed to write to this file or directory.
+#
+$Conf{SshPath} = '/usr/bin/ssh';
+
+#
+# Full path for nmblookup. Security caution: normal users should not
+# allowed to write to this file or directory.
+#
+# nmblookup is from the Samba distribution. nmblookup is used to get the
+# netbios name, necessary for DHCP hosts.
+#
+$Conf{NmbLookupPath} = '/usr/bin/nmblookup';
+
+#
+# NmbLookup command.  Given an IP address, does an nmblookup on that
+# IP address.  The following variables are substituted at run-time:
+#
+#   $nmbLookupPath      path to nmblookup ($Conf{NmbLookupPath})
+#   $host               IP address
+#
+# This command is only used for DHCP hosts: given an IP address, this
+# command should try to find its NetBios name.
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{NmbLookupCmd} = '$nmbLookupPath -A $host';
+
+#
+# NmbLookup command.  Given a netbios name, finds that host by doing
+# a NetBios lookup.  Several variables are substituted at run-time:
+#
+#   $nmbLookupPath      path to nmblookup ($Conf{NmbLookupPath})
+#   $host               NetBios name
+#
+# In some cases you might need to change the broadcast address, for
+# example if nmblookup uses 192.168.255.255 by default and you find
+# that doesn't work, try 192.168.1.255 (or your equivalent class C
+# address) using the -B option:
+#
+#    $Conf{NmbLookupFindHostCmd} = '$nmbLookupPath -B 192.168.1.255 $host';
+#
+# If you use a WINS server and your machines don't respond to
+# multicast NetBios requests you can use this (replace 1.2.3.4
+# with the IP address of your WINS server):
+#
+#    $Conf{NmbLookupFindHostCmd} = '$nmbLookupPath -R -U 1.2.3.4 $host';
+#
+# This is preferred over multicast since it minimizes network traffic.
+#
+# Experiment manually for your site to see what form of nmblookup command
+# works.
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{NmbLookupFindHostCmd} = '$nmbLookupPath $host';
+
+#
+# For fixed IP address hosts, BackupPC_dump can also verify the netbios
+# name to ensure it matches the host name.  An error is generated if
+# they do not match.  Typically this flag is off.  But if you are going
+# to transition a bunch of machines from fixed host addresses to DHCP,
+# setting this flag is a great way to verify that the machines have
+# their netbios name set correctly before turning on DCHP.
+#
+$Conf{FixedIPNetBiosNameCheck} = '0';
+
+#
+# Full path to the ping command.  Security caution: normal users
+# should not be allowed to write to this file or directory.
+#
+# If you want to disable ping checking, set this to some program
+# that exits with 0 status, eg:
+#
+#     $Conf{PingPath} = '/bin/echo';
+#
+$Conf{PingPath} = '/bin/ping';
+
+#
+# Ping command.  The following variables are substituted at run-time:
+#
+#   $pingPath      path to ping ($Conf{PingPath})
+#   $host          host name
+#
+# Wade Brown reports that on solaris 2.6 and 2.7 ping -s returns the wrong
+# exit status (0 even on failure).  Replace with "ping $host 1", which
+# gets the correct exit status but we don't get the round-trip time.
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{PingCmd} = '$pingPath -c 1 -w 3 $host';
+
+#
+# Maximum round-trip ping time in milliseconds.  This threshold is set
+# to avoid backing up PCs that are remotely connected through WAN or
+# dialup connections.  The output from ping -s (assuming it is supported
+# on your system) is used to check the round-trip packet time.  On your
+# local LAN round-trip times should be much less than 20msec.  On most
+# WAN or dialup connections the round-trip time will be typically more
+# than 20msec.  Tune if necessary.
+#
+$Conf{PingMaxMsec} = 20;
+
+#
+# Compression level to use on files.  0 means no compression.  Compression
+# levels can be from 1 (least cpu time, slightly worse compression) to
+# 9 (most cpu time, slightly better compression).  The recommended value
+# is 3.  Changing to 5, for example, will take maybe 20% more cpu time
+# and will get another 2-3% additional compression. See the zlib
+# documentation for more information about compression levels.
+#
+# Changing compression on or off after backups have already been done
+# will require both compressed and uncompressed pool files to be stored.
+# This will increase the pool storage requirements, at least until all
+# the old backups expire and are deleted.
+#
+# It is ok to change the compression value (from one non-zero value to
+# another non-zero value) after dumps are already done.  Since BackupPC
+# matches pool files by comparing the uncompressed versions, it will still
+# correctly match new incoming files against existing pool files.  The
+# new compression level will take effect only for new files that are
+# newly compressed and added to the pool.
+#
+# If compression was off and you are enabling compression for the first
+# time you can use the BackupPC_compressPool utility to compress the
+# pool.  This avoids having the pool grow to accommodate both compressed
+# and uncompressed backups.  See the documentation for more information.
+#
+# Note: compression needs the Compress::Zlib perl library.  If the
+# Compress::Zlib library can't be found then $Conf{CompressLevel} is
+# forced to 0 (compression off).
+#
+$Conf{CompressLevel} = 3;
+
+#
+# Timeout in seconds when listening for the transport program's
+# (smbclient, tar etc) stdout. If no output is received during this
+# time, then it is assumed that something has wedged during a backup,
+# and the backup is terminated.
+#
+# Note that stdout buffering combined with huge files being backed up
+# could cause longish delays in the output from smbclient that
+# BackupPC_dump sees, so in rare cases you might want to increase
+# this value.
+#
+# Despite the name, this parameter sets the timeout for all transport
+# methods (tar, smb etc).
+#
+$Conf{ClientTimeout} = 72000;
+
+#
+# Maximum number of log files we keep around in each PC's directory
+# (ie: pc/$host).  These files are aged monthly.  A setting of 12
+# means there will be at most the files LOG, LOG.0, LOG.1, ... LOG.11
+# in the pc/$host directory (ie: about a years worth).  (Except this
+# month's LOG, these files will have a .z extension if compression
+# is on).
+#
+# If you decrease this number after BackupPC has been running for a
+# while you will have to manually remove the older log files.
+#
+$Conf{MaxOldPerPCLogFiles} = 12;
+
+#
+# Optional commands to run before and after dumps and restores,
+# and also before and after each share of a dump.
+#
+# Stdout from these commands will be written to the Xfer (or Restore)
+# log file.  One example of using these commands would be to
+# shut down and restart a database server, dump a database
+# to files for backup, or doing a snapshot of a share prior
+# to a backup.  Example:
+#
+#    $Conf{DumpPreUserCmd} = '$sshPath -q -x -l root $host /usr/bin/dumpMysql';
+#
+# The following variable substitutions are made at run time for
+# $Conf{DumpPreUserCmd}, $Conf{DumpPostUserCmd}, $Conf{DumpPreShareCmd}
+# and $Conf{DumpPostShareCmd}:
+#
+#        $type         type of dump (incr or full)
+#        $xferOK       1 if the dump succeeded, 0 if it didn't
+#        $client       client name being backed up
+#        $host         host name (could be different from client name if
+#                                 $Conf{ClientNameAlias} is set)
+#        $hostIP       IP address of host
+#        $user         user name from the hosts file
+#        $moreUsers    list of additional users from the hosts file
+#        $share        the first share name (or current share for
+#                        $Conf{DumpPreShareCmd} and $Conf{DumpPostShareCmd})
+#        $shares       list of all the share names
+#        $XferMethod   value of $Conf{XferMethod} (eg: tar, rsync, smb)
+#        $sshPath      value of $Conf{SshPath},
+#        $cmdType      set to DumpPreUserCmd or DumpPostUserCmd
+#
+# The following variable substitutions are made at run time for
+# $Conf{RestorePreUserCmd} and $Conf{RestorePostUserCmd}:
+#
+#        $client       client name being backed up
+#        $xferOK       1 if the restore succeeded, 0 if it didn't
+#        $host         host name (could be different from client name if
+#                                 $Conf{ClientNameAlias} is set)
+#        $hostIP       IP address of host
+#        $user         user name from the hosts file
+#        $moreUsers    list of additional users from the hosts file
+#        $share        the first share name
+#        $XferMethod   value of $Conf{XferMethod} (eg: tar, rsync, smb)
+#        $sshPath      value of $Conf{SshPath},
+#        $type         set to "restore"
+#        $bkupSrcHost  host name of the restore source
+#        $bkupSrcShare share name of the restore source
+#        $bkupSrcNum   backup number of the restore source
+#        $pathHdrSrc   common starting path of restore source
+#        $pathHdrDest  common starting path of destination
+#        $fileList     list of files being restored
+#        $cmdType      set to RestorePreUserCmd or RestorePostUserCmd
+#
+# The following variable substitutions are made at run time for
+# $Conf{ArchivePreUserCmd} and $Conf{ArchivePostUserCmd}:
+#
+#        $client       client name being backed up
+#        $xferOK       1 if the archive succeeded, 0 if it didn't
+#        $host         Name of the archive host
+#        $user         user name from the hosts file
+#        $share        the first share name
+#        $XferMethod   value of $Conf{XferMethod} (eg: tar, rsync, smb)
+#        $HostList     list of hosts being archived
+#        $BackupList   list of backup numbers for the hosts being archived
+#        $archiveloc   location where the archive is sent to
+#        $parfile      amount of parity data being generated (percentage)
+#        $compression  compression program being used (eg: cat, gzip, bzip2)
+#        $compext      extension used for compression type (eg: raw, gz, bz2)
+#        $splitsize    size of the files that the archive creates
+#        $sshPath      value of $Conf{SshPath},
+#        $type         set to "archive"
+#        $cmdType      set to ArchivePreUserCmd or ArchivePostUserCmd
+#
+# Note: all Cmds are executed directly without a shell, so the prog name
+# needs to be a full path and you can't include shell syntax like
+# redirection and pipes; put that in a script if you need it.
+#
+$Conf{DumpPreUserCmd} = undef;
+$Conf{DumpPostUserCmd} = undef;
+$Conf{DumpPreShareCmd} = undef;
+$Conf{DumpPostShareCmd} = undef;
+$Conf{RestorePreUserCmd} = undef;
+$Conf{RestorePostUserCmd} = undef;
+$Conf{ArchivePreUserCmd} = undef;
+$Conf{ArchivePostUserCmd} = undef;
+
+#
+# Whether the exit status of each PreUserCmd and
+# PostUserCmd is checked.
+#
+# If set and the Dump/Restore/Archive Pre/Post UserCmd
+# returns a non-zero exit status then the dump/restore/archive
+# is aborted.  To maintain backward compatibility (where
+# the exit status in early versions was always ignored),
+# this flag defaults to 0.
+#
+# If this flag is set and the Dump/Restore/Archive PreUserCmd
+# fails then the matching Dump/Restore/Archive PostUserCmd is
+# not executed.  If DumpPreShareCmd returns a non-exit status,
+# then DumpPostShareCmd is not executed, but the DumpPostUserCmd
+# is still run (since DumpPreUserCmd must have previously
+# succeeded).
+#
+# An example of a DumpPreUserCmd that might fail is a script
+# that snapshots or dumps a database which fails because
+# of some database error.
+#
+$Conf{UserCmdCheckStatus} = '0';
+
+#
+# Override the client's host name.  This allows multiple clients
+# to all refer to the same physical host.  This should only be
+# set in the per-PC config file and is only used by BackupPC at
+# the last moment prior to generating the command used to backup
+# that machine (ie: the value of $Conf{ClientNameAlias} is invisible
+# everywhere else in BackupPC).  The setting can be a host name or
+# IP address, eg:
+#
+#         $Conf{ClientNameAlias} = 'realHostName';
+#         $Conf{ClientNameAlias} = '192.1.1.15';
+#
+# will cause the relevant smb/tar/rsync backup/restore commands to be
+# directed to realHostName, not the client name.
+#
+# Note: this setting doesn't work for hosts with DHCP set to 1.
+#
+$Conf{ClientNameAlias} = undef;
+
+###########################################################################
+# Email reminders, status and messages
+# (can be overridden in the per-PC config.pl)
+###########################################################################
+#
+# Full path to the sendmail command.  Security caution: normal users
+# should not allowed to write to this file or directory.
+#
+$Conf{SendmailPath} = '/usr/sbin/sendmail';
+
+#
+# Minimum period between consecutive emails to a single user.
+# This tries to keep annoying email to users to a reasonable
+# level.  Email checks are done nightly, so this number is effectively
+# rounded up (ie: 2.5 means a user will never receive email more
+# than once every 3 days).
+#
+$Conf{EMailNotifyMinDays} = '2.5';
+
+#
+# Name to use as the "from" name for email.  Depending upon your mail
+# handler this is either a plain name (eg: "admin") or a fully-qualified
+# name (eg: "admin@mydomain.com").
+#
+$Conf{EMailFromUserName} = 'backuppc';
+
+#
+# Destination address to an administrative user who will receive a
+# nightly email with warnings and errors.  If there are no warnings
+# or errors then no email will be sent.  Depending upon your mail
+# handler this is either a plain name (eg: "admin") or a fully-qualified
+# name (eg: "admin@mydomain.com").
+#
+$Conf{EMailAdminUserName} = 'backuppc';
+
+#
+# Destination domain name for email sent to users.  By default
+# this is empty, meaning email is sent to plain, unqualified
+# addresses.  Otherwise, set it to the destintation domain, eg:
+#
+#    $Cong{EMailUserDestDomain} = '@mydomain.com';
+#
+# With this setting user email will be set to 'user@mydomain.com'.
+#
+$Conf{EMailUserDestDomain} = '';
+
+#
+# This subject and message is sent to a user if their PC has never been
+# backed up.
+#
+# These values are language-dependent.  The default versions can be
+# found in the language file (eg: lib/BackupPC/Lang/en.pm).  If you
+# need to change the message, copy it here and edit it, eg:
+#
+#   $Conf{EMailNoBackupEverMesg} = <<'EOF';
+#   To: $user$domain
+#   cc:
+#   Subject: $subj
+#   
+#   Dear $userName,
+#   
+#   This is a site-specific email message.
+#   EOF
+#
+$Conf{EMailNoBackupEverSubj} = undef;
+$Conf{EMailNoBackupEverMesg} = undef;
+
+#
+# How old the most recent backup has to be before notifying user.
+# When there have been no backups in this number of days the user
+# is sent an email.
+#
+$Conf{EMailNotifyOldBackupDays} = 7;
+
+#
+# This subject and message is sent to a user if their PC has not recently
+# been backed up (ie: more than $Conf{EMailNotifyOldBackupDays} days ago).
+#
+# These values are language-dependent.  The default versions can be
+# found in the language file (eg: lib/BackupPC/Lang/en.pm).  If you
+# need to change the message, copy it here and edit it, eg:
+#
+#   $Conf{EMailNoBackupRecentMesg} = <<'EOF';
+#   To: $user$domain
+#   cc:
+#   Subject: $subj
+#   
+#   Dear $userName,
+#   
+#   This is a site-specific email message.
+#   EOF
+#
+$Conf{EMailNoBackupRecentSubj} = undef;
+$Conf{EMailNoBackupRecentMesg} = undef;
+
+#
+# How old the most recent backup of Outlook files has to be before
+# notifying user.
+#
+$Conf{EMailNotifyOldOutlookDays} = 5;
+
+#
+# This subject and message is sent to a user if their Outlook files have
+# not recently been backed up (ie: more than $Conf{EMailNotifyOldOutlookDays}
+# days ago).
+#
+# These values are language-dependent.  The default versions can be
+# found in the language file (eg: lib/BackupPC/Lang/en.pm).  If you
+# need to change the message, copy it here and edit it, eg:
+#
+#   $Conf{EMailOutlookBackupMesg} = <<'EOF';
+#   To: $user$domain
+#   cc:
+#   Subject: $subj
+#   
+#   Dear $userName,
+#   
+#   This is a site-specific email message.
+#   EOF
+#
+$Conf{EMailOutlookBackupSubj} = undef;
+$Conf{EMailOutlookBackupMesg} = undef;
+
+#
+# Additional email headers.  This sets to charset to
+# utf8.
+#
+$Conf{EMailHeaders} = 'MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+';
+
+###########################################################################
+# CGI user interface configuration settings
+# (can be overridden in the per-PC config.pl)
+###########################################################################
+#
+# Normal users can only access information specific to their host.
+# They can start/stop/browse/restore backups.
+#
+# Administrative users have full access to all hosts, plus overall
+# status and log information.
+#
+# The administrative users are the union of the unix/linux group
+# $Conf{CgiAdminUserGroup} and the manual list of users, separated
+# by spaces, in $Conf{CgiAdminUsers}. If you don't want a group or
+# manual list of users set the corresponding configuration setting
+# to undef or an empty string.
+#
+# If you want every user to have admin privileges (careful!), set
+# $Conf{CgiAdminUsers} = '*'.
+#
+# Examples:
+#    $Conf{CgiAdminUserGroup} = 'admin';
+#    $Conf{CgiAdminUsers}     = 'craig celia';
+#    --> administrative users are the union of group admin, plus
+#      craig and celia.
+#
+#    $Conf{CgiAdminUserGroup} = '';
+#    $Conf{CgiAdminUsers}     = 'craig celia';
+#    --> administrative users are only craig and celia'.
+#
+$Conf{CgiAdminUserGroup} = '';
+$Conf{CgiAdminUsers}     = 'backuppc';
+
+#
+# URL of the BackupPC_Admin CGI script.  Used for email messages.
+#
+$Conf{CgiURL} = 'http://bruni/BackupPC_Admin';
+
+#   
+# Language to use.  See lib/BackupPC/Lang for the list of supported
+# languages, which include English (en), French (fr), Spanish (es),
+# German (de), Italian (it), Dutch (nl), Polish (pl), Portuguese
+# Brazillian (pt_br) and Chinese (zh_CH).
+#
+# Currently the Language setting applies to the CGI interface and email
+# messages sent to users.  Log files and other text are still in English.
+#
+$Conf{Language} = 'en';
+
+#
+# User names that are rendered by the CGI interface can be turned
+# into links into their home page or other information about the
+# user.  To set this up you need to create two sprintf() strings,
+# that each contain a single '%s' that will be replaced by the user
+# name.  The default is a mailto: link.
+#
+# $Conf{CgiUserHomePageCheck} should be an absolute file path that
+# is used to check (via "-f") that the user has a valid home page.
+# Set this to undef or an empty string to turn off this check.
+#
+# $Conf{CgiUserUrlCreate} should be a full URL that points to the
+# user's home page.  Set this to undef or an empty string to turn
+# off generation of URLs for user names.
+#
+# Example:
+#    $Conf{CgiUserHomePageCheck} = '/var/www/html/users/%s.html';
+#    $Conf{CgiUserUrlCreate}     = 'http://myhost/users/%s.html';
+#    --> if /var/www/html/users/craig.html exists, then 'craig' will
+#      be rendered as a link to http://myhost/users/craig.html.
+#
+$Conf{CgiUserHomePageCheck} = '';
+$Conf{CgiUserUrlCreate} = 'mailto:%s';
+
+#
+# Date display format for CGI interface.  A value of 1 uses US-style
+# dates (MM/DD), a value of 2 uses full YYYY-MM-DD format, and zero
+# for international dates (DD/MM).
+#
+$Conf{CgiDateFormatMMDD} = 2;
+
+#
+# If set, the complete list of hosts appears in the left navigation
+# bar pull-down for administrators.  Otherwise, just the hosts for which
+# the user is listed in the host file (as either the user or in moreUsers)
+# are displayed.
+#
+$Conf{CgiNavBarAdminAllHosts} = '1';
+
+#
+# Enable/disable the search box in the navigation bar.
+#
+$Conf{CgiSearchBoxEnable} = '1';
+
+#
+# Additional navigation bar links.  These appear for both regular users
+# and administrators.  This is a list of hashes giving the link (URL)
+# and the text (name) for the link.  Specifying lname instead of name
+# uses the language specific string (ie: $Lang->{lname}) instead of
+# just literally displaying name.
+#
+$Conf{CgiNavBarLinks} = [
+  {
+    'link' => '?action=view&type=docs',
+    'lname' => 'Documentation',
+    'name' => undef
+  },
+  {
+    'link' => 'http://backuppc.wiki.sourceforge.net',
+    'lname' => undef,
+    'name' => 'Wiki'
+  },
+  {
+    'link' => 'http://backuppc.sourceforge.net',
+    'lname' => undef,
+    'name' => 'SourceForge'
+  }
+];
+
+#
+# Hilight colors based on status that are used in the PC summary page.
+#
+$Conf{CgiStatusHilightColor} = {
+  'Reason_backup_failed' => '#ffcccc',
+  'Reason_backup_done' => '#ccffcc',
+  'Reason_backup_canceled_by_user' => '#ff9900',
+  'Reason_no_ping' => '#ffff99',
+  'Disabled_OnlyManualBackups' => '#d1d1d1',
+  'Status_backup_in_progress' => '#66cc99',
+  'Disabled_AllBackupsDisabled' => '#d1d1d1'
+};
+
+#
+# Additional CGI header text.
+#
+$Conf{CgiHeaders} = '<meta http-equiv="pragma" content="no-cache">';
+
+#
+# Directory where images are stored.  This directory should be below
+# Apache's DocumentRoot.  This value isn't used by BackupPC but is
+# used by configure.pl when you upgrade BackupPC.
+#
+# Example:
+#     $Conf{CgiImageDir} = '/var/www/htdocs/BackupPC';
+#
+$Conf{CgiImageDir} = '/usr/share/webapps/backuppc/3.2.1-r2/htdocs/image';
+
+#
+# Additional mappings of file name extenions to Content-Type for
+# individual file restore.  See $Ext2ContentType in BackupPC_Admin
+# for the default setting.  You can add additional settings here,
+# or override any default settings.  Example:
+#
+#     $Conf{CgiExt2ContentType} = {
+#                 'pl'  => 'text/plain',
+#          };
+#
+$Conf{CgiExt2ContentType} = {};
+
+#
+# URL (without the leading http://host) for BackupPC's image directory.
+# The CGI script uses this value to serve up image files.
+#
+# Example:
+#     $Conf{CgiImageDirURL} = '/BackupPC';
+#
+$Conf{CgiImageDirURL} = '/image';
+
+#
+# CSS stylesheet "skin" for the CGI interface.  It is stored
+# in the $Conf{CgiImageDir} directory and accessed via the
+# $Conf{CgiImageDirURL} URL.
+#
+# For BackupPC v3.x several color, layout and font changes were made.
+# The previous v2.x version is available as BackupPC_stnd_orig.css, so
+# if you prefer the old skin, change this to BackupPC_stnd_orig.css.
+#
+$Conf{CgiCSSFile} = 'BackupPC_stnd.css';
+
+#
+# Whether the user is allowed to edit their per-PC config.
+#
+$Conf{CgiUserConfigEditEnable} = '1';
+
+#
+# Which per-host config variables a non-admin user is allowed
+# to edit.  Admin users can edit all per-host config variables,
+# even if disabled in this list.
+#
+# SECURITY WARNING: Do not let users edit any of the Cmd
+# config variables!  That's because a user could set a
+# Cmd to a shell script of their choice and it will be
+# run as the BackupPC user.  That script could do all
+# sorts of bad things.
+#
+$Conf{CgiUserConfigEdit} = {
+  FullPeriod => 1,
+  IncrPeriod => 1,
+  FullKeepCnt => 1,
+  FullKeepCntMin => 1,
+  FullAgeMax => 1,
+  IncrKeepCnt => 1,
+  IncrKeepCntMin => 1,
+  IncrAgeMax => 1,
+  IncrLevels => 1,
+  IncrFill => 1,
+  PartialAgeMax => 1,
+  RestoreInfoKeepCnt => 1,
+  ArchiveInfoKeepCnt => 1,
+  BackupFilesOnly => 1,
+  BackupFilesExclude => 1,
+  BackupsDisable => 1,
+  BlackoutBadPingLimit => 1,
+  BlackoutGoodCnt => 1,
+  BlackoutPeriods => 1,
+  BackupZeroFilesIsFatal => 1,
+  ClientCharset => 1,
+  ClientCharsetLegacy => 1,
+  XferMethod => 1,
+  XferLogLevel => 1,
+  SmbShareName => 1,
+  SmbShareUserName => 1,
+  SmbSharePasswd => 1,
+  SmbClientFullCmd => 0,
+  SmbClientIncrCmd => 0,
+  SmbClientRestoreCmd => 0,
+  TarShareName => 1,
+  TarFullArgs => 1,
+  TarIncrArgs => 1,
+  TarClientCmd => 0,
+  TarClientRestoreCmd => 0,
+  TarClientPath => 0,
+  RsyncShareName => 1,
+  RsyncdClientPort => 1,
+  RsyncdPasswd => 1,
+  RsyncdUserName => 1,
+  RsyncdAuthRequired => 1,
+  RsyncCsumCacheVerifyProb => 1,
+  RsyncArgs => 1,
+  RsyncArgsExtra => 1,
+  RsyncRestoreArgs => 1,
+  RsyncClientCmd => 0,
+  RsyncClientRestoreCmd => 0,
+  RsyncClientPath => 0,
+  FtpShareName => 1,
+  FtpUserName => 1,
+  FtpPasswd => 1,
+  FtpBlockSize => 1,
+  FtpPort => 1,
+  FtpTimeout => 1,
+  FtpFollowSymlinks => 1,
+  FtpRestoreEnabled => 1,
+  ArchiveDest => 1,
+  ArchiveComp => 1,
+  ArchivePar => 1,
+  ArchiveSplit => 1,
+  ArchiveClientCmd => 0,
+  FixedIPNetBiosNameCheck => 1,
+  NmbLookupCmd => 0,
+  NmbLookupFindHostCmd => 0,
+  PingMaxMsec => 1,
+  PingCmd => 0,
+  ClientTimeout => 1,
+  MaxOldPerPCLogFiles => 1,
+  CompressLevel => 1,
+  ClientNameAlias => 0,
+  DumpPreUserCmd => 0,
+  DumpPostUserCmd => 0,
+  RestorePreUserCmd => 0,
+  RestorePostUserCmd => 0,
+  ArchivePreUserCmd => 0,
+  ArchivePostUserCmd => 0,
+  DumpPostShareCmd => 0,
+  DumpPreShareCmd => 0,
+  UserCmdCheckStatus => 0,
+  EMailNotifyMinDays => 1,
+  EMailFromUserName => 1,
+  EMailAdminUserName => 1,
+  EMailUserDestDomain => 1,
+  EMailNoBackupEverSubj => 1,
+  EMailNoBackupEverMesg => 1,
+  EMailNotifyOldBackupDays => 1,
+  EMailNoBackupRecentSubj => 1,
+  EMailNoBackupRecentMesg => 1,
+  EMailNotifyOldOutlookDays => 1,
+  EMailOutlookBackupSubj => 1,
+  EMailOutlookBackupMesg => 1,
+  EMailHeaders => 1,
+};
diff --git a/BackupPC/hosts b/BackupPC/hosts
new file mode 100644 (file)
index 0000000..debf9d1
--- /dev/null
@@ -0,0 +1,58 @@
+#============================================================= -*-perl-*-
+#
+# Host file list for BackupPC.
+#
+# DESCRIPTION
+#
+#   This file lists all the hosts that should be backed up by
+#   BackupPC.
+#
+#   Each line in the hosts file contains three fields, separated
+#   by white space:
+#
+#     - The host name.  If this host is a static IP address this
+#       must the machine's IP host name (ie: something that can
+#       be looked up using nslookup or DNS).  If this is a DHCP
+#       host then the host name must be the netbios name of the
+#       machine.  It is possible to have a host name that contains
+#       spaces, but that is discouraged.  Escape a space with "\", eg:
+#
+#                craigs\ pc
+#
+#     - DHCP flag.  Set to 0 if this is a static IP address host
+#       or if the machine can be found using nmblookup.  Otherwise,
+#       if the client can only be found by looking through the DHCP
+#       pool then set this to 1.
+#
+#     - User name (unix login/email name) of the user who "owns"
+#       or uses this machine.  This is the user who will be sent
+#       email about this machine, and this user will have permission
+#       to stop/start/browse/restore backups for this host.  This
+#       user name must match the name the user authenticates with
+#       via apache.
+#
+#     - Optional additional user names (comma separated, no white space) of
+#       users who are also allowed to stop/start/browse/restore backups
+#       for this client via the CGI interface.  These users are not sent
+#       email.  These do not need to be valid email names; they simply
+#       need to match the name the user authenticates with via apache.
+#
+# AUTHOR
+#   Craig Barratt  <craig@arraycomm.com>
+#
+# COPYRIGHT
+#   Copyright (C) 2001-2009  Craig Barratt
+#
+#   See http://backuppc.sourceforge.net.
+#
+#========================================================================
+
+#
+# The first non-comment non-empty line gives the field names and should
+# not be edited!!
+#
+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
+bruni       0       frank
+
diff --git a/BackupPC/httpd.conf b/BackupPC/httpd.conf
new file mode 100644 (file)
index 0000000..6da4d91
--- /dev/null
@@ -0,0 +1,332 @@
+# This is a modification of the default Apache 2.2 configuration file
+# for Gentoo Linux.
+#
+# Support:
+#   http://www.gentoo.org/main/en/lists.xml   [mailing lists]
+#   http://forums.gentoo.org/                 [web forums]
+#   irc://irc.freenode.net#gentoo-apache      [irc chat]
+#
+# Bug Reports:
+#   http://bugs.gentoo.org                    [gentoo related bugs]
+#   http://httpd.apache.org/bug_report.html   [apache httpd related bugs]
+#
+#
+# This is the main Apache HTTP server configuration file.  It contains the
+# configuration directives that give the server its instructions.
+# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.
+# In particular, see
+# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
+# for a discussion of each configuration directive.
+#
+# Do NOT simply read the instructions in here without understanding
+# what they do.  They're here only as hints or reminders.  If you are unsure
+# consult the online docs. You have been warned.
+#
+# Configuration and logfile names: If the filenames you specify for many
+# of the server's control files begin with "/" (or "drive:/" for Win32), the
+# server will use that explicit path.  If the filenames do *not* begin
+# with "/", the value of ServerRoot is prepended -- so "var/log/apache2/foo_log"
+# with ServerRoot set to "/usr" will be interpreted by the
+# server as "/usr/var/log/apache2/foo.log".
+
+# ServerRoot: The top of the directory tree under which the server's
+# configuration, error, and log files are kept.
+#
+# Do not add a slash at the end of the directory path.  If you point
+# ServerRoot at a non-local disk, be sure to point the LockFile directive
+# at a local disk.  If you wish to share the same ServerRoot for multiple
+# httpd daemons, you will need to change at least LockFile and PidFile.
+ServerRoot "/usr/lib/apache2"
+
+# Dynamic Shared Object (DSO) Support
+#
+# To be able to use the functionality of a module which was built as a DSO you
+# have to place corresponding `LoadModule' lines at this location so the
+# directives contained in it are actually available _before_ they are used.
+# Statically compiled modules (those listed by `httpd -l') do not need
+# to be loaded here.
+#
+# Example:
+# LoadModule foo_module modules/mod_foo.so
+#
+# GENTOO: Automatically defined based on APACHE2_MODULES USE_EXPAND variable.
+#         Do not change manually, it will be overwritten on upgrade.
+#
+# The following modules are considered as the default configuration.
+# If you wish to disable one of them, you may have to alter other
+# configuration directives.
+#
+# Change these at your own risk!
+
+LoadModule actions_module modules/mod_actions.so
+LoadModule alias_module modules/mod_alias.so
+LoadModule auth_basic_module modules/mod_auth_basic.so
+<IfDefine AUTH_DIGEST>
+LoadModule auth_digest_module modules/mod_auth_digest.so
+</IfDefine>
+LoadModule authn_anon_module modules/mod_authn_anon.so
+LoadModule authn_dbm_module modules/mod_authn_dbm.so
+LoadModule authn_default_module modules/mod_authn_default.so
+LoadModule authn_file_module modules/mod_authn_file.so
+LoadModule authz_dbm_module modules/mod_authz_dbm.so
+LoadModule authz_default_module modules/mod_authz_default.so
+LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
+LoadModule authz_host_module modules/mod_authz_host.so
+LoadModule authz_owner_module modules/mod_authz_owner.so
+LoadModule authz_user_module modules/mod_authz_user.so
+LoadModule autoindex_module modules/mod_autoindex.so
+<IfDefine CACHE>
+LoadModule cache_module modules/mod_cache.so
+</IfDefine>
+LoadModule cgid_module modules/mod_cgid.so
+LoadModule deflate_module modules/mod_deflate.so
+LoadModule dir_module modules/mod_dir.so
+<IfDefine CACHE>
+LoadModule disk_cache_module modules/mod_disk_cache.so
+</IfDefine>
+LoadModule env_module modules/mod_env.so
+LoadModule expires_module modules/mod_expires.so
+LoadModule ext_filter_module modules/mod_ext_filter.so
+<IfDefine CACHE>
+LoadModule file_cache_module modules/mod_file_cache.so
+</IfDefine>
+LoadModule filter_module modules/mod_filter.so
+LoadModule headers_module modules/mod_headers.so
+LoadModule include_module modules/mod_include.so
+<IfDefine INFO>
+LoadModule info_module modules/mod_info.so
+</IfDefine>
+LoadModule log_config_module modules/mod_log_config.so
+LoadModule logio_module modules/mod_logio.so
+<IfDefine CACHE>
+LoadModule mem_cache_module modules/mod_mem_cache.so
+</IfDefine>
+LoadModule mime_module modules/mod_mime.so
+LoadModule mime_magic_module modules/mod_mime_magic.so
+LoadModule negotiation_module modules/mod_negotiation.so
+<IfDefine PROXY>
+LoadModule proxy_module modules/mod_proxy.so
+</IfDefine>
+<IfDefine PROXY>
+LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
+</IfDefine>
+<IfDefine PROXY>
+LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
+</IfDefine>
+<IfDefine PROXY>
+LoadModule proxy_connect_module modules/mod_proxy_connect.so
+</IfDefine>
+<IfDefine PROXY>
+LoadModule proxy_http_module modules/mod_proxy_http.so
+</IfDefine>
+LoadModule rewrite_module modules/mod_rewrite.so
+LoadModule setenvif_module modules/mod_setenvif.so
+LoadModule speling_module modules/mod_speling.so
+<IfDefine SSL>
+LoadModule ssl_module modules/mod_ssl.so
+</IfDefine>
+<IfDefine STATUS>
+LoadModule status_module modules/mod_status.so
+</IfDefine>
+<IfDefine SUEXEC>
+LoadModule suexec_module modules/mod_suexec.so
+</IfDefine>
+LoadModule unique_id_module modules/mod_unique_id.so
+<IfDefine USERDIR>
+LoadModule userdir_module modules/mod_userdir.so
+</IfDefine>
+LoadModule usertrack_module modules/mod_usertrack.so
+LoadModule vhost_alias_module modules/mod_vhost_alias.so
+
+#
+# HostnameLookups: Log the names of clients or just their IP addresses
+# e.g., www.apache.org (on) or 204.62.129.132 (off).
+# The default is off because it'd be overall better for the net if people
+# had to knowingly turn this feature on, since enabling it means that
+# each client request will result in AT LEAST one lookup request to the
+# nameserver.
+#
+HostnameLookups Off
+
+# If you wish httpd to run as a different user or group, you must run
+# httpd as root initially and it will switch.
+#
+# User/Group: The name (or #number) of the user/group to run httpd as.
+# It is usually good practice to create a dedicated user and group for
+# running httpd, as with most system services.
+User backuppc
+Group backuppc
+
+# Supplemental configuration
+#
+# Most of the configuration files in the /etc/apache2/modules.d/ directory can
+# be turned on using APACHE2_OPTS in /etc/conf.d/apache2 to add extra features
+# or to modify the default configuration of the server.
+#
+# To know which flag to add to APACHE2_OPTS, look at the first line of the
+# the file, which will usually be an <IfDefine OPTION> where OPTION is the
+# flag to use.
+
+Include /etc/apache2/modules.d/*.conf
+
+# Unique lock file 
+LockFile /var/lock/apache-backuppc.lock
+
+# Very important for init script
+# Unique process ID file
+PidFile /var/run/apache-backuppc.pid
+
+# Unique scoreboard file
+ScoreBoardFile /var/run/apache-backuppc.scoreboard
+
+# Common document root 
+<IfDefine BACKUPPC_VHOST>
+
+
+# Common document root 
+DocumentRoot /usr/share/webapps/backuppc/3.2.1-r2/htdocs
+# see bug #178966 why this is in here
+
+# Listen: Allows you to bind Apache to specific IP addresses and/or
+# ports, instead of the default. See also the <VirtualHost>
+# directive.
+#
+# Change this to Listen on specific IP addresses as shown below to
+# prevent Apache from glomming onto all bound IP addresses.
+#
+#Listen 12.34.56.78:80
+Listen 80
+
+# Use name-based virtual hosting.
+NameVirtualHost *:80
+
+# When virtual hosts are enabled, the main host defined in the default
+# httpd.conf configuration will go away. We redefine it here so that it is
+# still available.
+#
+# If you disable this vhost by removing -D DEFAULT_VHOST from
+# /etc/conf.d/apache2, the first defined virtual host elsewhere will be
+# the default.
+<VirtualHost *:80>
+       ServerName backuppc
+
+       # Redirect requests to "/" to the CGI script
+       RedirectMatch "^/$" /BackupPC_Admin
+
+       <IfDefine SSL>
+               <IfModule ssl_module>
+                       RewriteEngine On
+                       RewriteCond %{HTTPS} !=on
+                       RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
+
+                       ## SSL Engine Switch:
+                       # Enable/Disable SSL for this virtual host.
+                       SSLEngine on
+                       SSLOptions +StrictRequire
+
+                       ## SSL Cipher Suite:
+                       # List the ciphers that the client is permitted to negotiate.
+                       # See the mod_ssl documentation for a complete list.
+                       SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
+
+                       ## Server Certificate:
+                       # Point SSLCertificateFile at a PEM encoded certificate. If the certificate
+                       # is encrypted, then you will be prompted for a pass phrase. Note that a 
+                       # kill -HUP will prompt again. Keep in mind that if you have both an RSA
+                       # and a DSA certificate you can configure both in parallel (to also allow
+                       # the use of DSA ciphers, etc.)
+                       SSLCertificateFile /etc/ssl/apache2/server.crt
+
+                       ## Server Private Key:
+                       # If the key is not combined with the certificate, use this directive to
+                       # point at the key file. Keep in mind that if you've both a RSA and a DSA
+                       # private key you can configure both in parallel (to also allow the use of
+                       # DSA ciphers, etc.)
+                       SSLCertificateKeyFile /etc/ssl/apache2/server.key
+                       <FilesMatch "\.(cgi|shtml|phtml|php)$">
+                               SSLOptions +StdEnvVars
+                       </FilesMatch>
+
+                       ## ssl-accurate-shutdown:
+                       # This forces an accurate shutdown when the connection is closed, i.e. a
+                       # SSL close notify alert is send and mod_ssl waits for the close notify
+                       # alert of the client. This is 100% SSL/TLS standard compliant, but in
+                       # practice often causes hanging connections with brain-dead browsers. Use
+                       # this only for browsers where you know that their SSL implementation works
+                       # correctly. 
+                       # Notice: Most problems of broken clients are also related to the HTTP 
+                       # keep-alive facility, so you usually additionally want to disable 
+                       # keep-alive for those clients, too. Use variable "nokeepalive" for this.
+                       # Similarly, one has to force some clients to use HTTP/1.0 to workaround
+                       # their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
+                       # "force-response-1.0" for this.
+                       <IfModule setenvif_module>
+                               BrowserMatch ".*MSIE.*" \
+                                       nokeepalive ssl-unclean-shutdown \
+                                               downgrade-1.0 force-response-1.0
+                       </IfModule>
+
+                       ## Per-Server Logging:
+                       # The home of a custom SSL log file. Use this when you want a compact 
+                       # non-error SSL logfile on a virtual host basis.
+                       <IfModule log_config_module>
+                               CustomLog /var/log/apache2/ssl_request_log \
+                                       "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
+                       </IfModule>
+               </IfModule>
+       </IfDefine>
+
+<Directory "/usr/share/webapps/backuppc/3.2.1-r2/htdocs">
+       # Possible values for the Options directive are "None", "All",
+       # or any combination of:
+       #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
+       #
+       # Note that "MultiViews" must be named *explicitly* --- "Options All"
+       # doesn't give it to you.
+       #
+       # The Options directive is both complicated and important.  Please see
+       # http://httpd.apache.org/docs/2.2/mod/core.html#options
+       # for more information.
+       Options Indexes FollowSymLinks
+
+       # AllowOverride controls what directives may be placed in .htaccess files.
+       # It can be "All", "None", or any combination of the keywords:
+       #   Options FileInfo AuthConfig Limit
+       AllowOverride None
+
+       <IfDefine SSL>
+       <IfModule ssl_module>
+               SSLOptions +StdEnvVars
+       </IfModule>
+       </IfDefine>
+
+       SetHandler perl-script
+       PerlResponseHandler ModPerl::Registry
+       PerlOptions +ParseHeaders
+       Options +ExecCGI
+
+       Order allow,deny
+       Allow from all
+
+       AuthName "Backup Admin"
+       AuthType Basic
+       AuthUserFile /etc/BackupPC/users.htpasswd
+       Require valid-user
+</Directory>
+
+<Directory "/usr/share/webapps/backuppc/3.2.1-r2/htdocs/image">
+       SetHandler None
+       Options Indexes FollowSymLinks
+       Order allow,deny
+       Allow from all
+</Directory>
+
+
+       <IfModule mpm_peruser_module>
+               ServerEnvironment backuppc backuppc
+       </IfModule>
+</VirtualHost>
+</IfDefine>
+
+
+# vim: ts=4 filetype=apache
diff --git a/BackupPC/pc/.keep_app-backup_backuppc-0 b/BackupPC/pc/.keep_app-backup_backuppc-0
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/BackupPC/users.htpasswd b/BackupPC/users.htpasswd
new file mode 100644 (file)
index 0000000..de88415
--- /dev/null
@@ -0,0 +1,2 @@
+backuppc:$apr1$zun.scJm$CkLiWjgB5ADoqngLXUHNc0
+frank:$apr1$YrlK9e.0$CF7ATg/OtG30s9snYf9O2.
diff --git a/apache2/modules.d/75_mod_perl.conf b/apache2/modules.d/75_mod_perl.conf
new file mode 100644 (file)
index 0000000..596d2cc
--- /dev/null
@@ -0,0 +1,50 @@
+<IfDefine PERL>
+LoadModule perl_module modules/mod_perl.so
+
+#PerlTrace all
+PerlRequire "/etc/apache2/modules.d/apache2-mod_perl-startup.pl"
+PerlModule ModPerl::Registry
+
+# Provide two aliases to the same cgi-bin directory, to see the effects of the
+# 2 different mod_perl modes for Apache2::Registry Mode
+Alias /perl/ /var/www/localhost/perl/
+# for Apache2::Perlrun Mode
+Alias /cgi-perl/ /var/www/localhost/perl/
+
+<Location /perl-status>
+       SetHandler perl-script
+       PerlResponseHandler Apache2::Status
+       Order deny,allow
+       Deny from all
+       Allow from 127.0.0.1
+</Location>
+
+<Directory /home/*/public_html/perl>
+       SetHandler perl-script
+       PerlResponseHandler ModPerl::PerlRun
+       Options -Indexes ExecCGI
+       PerlOptions +ParseHeaders
+</Directory>
+
+# set Apache::Registry Mode for /perl Alias
+<Location /perl/*.pl>
+       SetHandler perl-script
+       PerlResponseHandler ModPerl::Registry
+       Options -Indexes ExecCGI
+       PerlSendHeader On
+       Order allow,deny
+       Allow from all
+</Location>
+
+# set Apache::PerlRun Mode for /cgi-perl Alias
+<Location /cgi-perl/*.pl>
+       SetHandler perl-script
+       PerlResponseHandler ModPerl::PerlRun
+       Options -Indexes ExecCGI
+       PerlSendHeader On
+       Order allow,deny
+       Allow from all
+</Location>
+</IfDefine>
+
+# vim: ts=4 filetype=apache
diff --git a/apache2/modules.d/apache2-mod_perl-startup.pl b/apache2/modules.d/apache2-mod_perl-startup.pl
new file mode 100644 (file)
index 0000000..afc048a
--- /dev/null
@@ -0,0 +1,24 @@
+use lib qw(/home/httpd/perl);
+
+# enable if the mod_perl 1.0 compatibility is needed
+#use Apache2::compat ();
+
+use ModPerl::Util (); #for CORE::GLOBAL::exit
+
+use Apache2::RequestRec ();
+use Apache2::RequestIO ();
+use Apache2::RequestUtil ();
+
+use Apache2::ServerRec ();
+use Apache2::ServerUtil ();
+use Apache2::Connection ();
+use Apache2::Log ();
+
+use APR::Table ();
+
+use ModPerl::Registry ();
+
+use Apache2::Const -compile => ':common';
+use APR::Const -compile => ':common';
+
+1;
diff --git a/conf.d/apache2-backuppc b/conf.d/apache2-backuppc
new file mode 100644 (file)
index 0000000..1c27c69
--- /dev/null
@@ -0,0 +1,73 @@
+# /etc/conf.d/apache2: config file for /etc/init.d/apache2
+
+# When you install a module it is easy to activate or deactivate the modules
+# and other features of apache using the APACHE2_OPTS line. Every module should
+# install a configuration in /etc/apache2/modules.d. In that file will have an
+# <IfDefine NNN> directive where NNN is the option to enable that module.
+#
+# Here are the options available in the default configuration:
+#
+#  AUTH_DIGEST  Enables mod_auth_digest
+#  AUTHNZ_LDAP  Enables authentication through mod_ldap (available if USE=ldap)
+#  CACHE        Enables mod_cache
+#  DAV          Enables mod_dav
+#  ERRORDOCS    Enables default error documents for many languages.
+#  INFO         Enables mod_info, a useful module for debugging
+#  LANGUAGE     Enables content-negotiation based on language and charset.
+#  LDAP         Enables mod_ldap (available if USE=ldap)
+#  MANUAL       Enables /manual/ to be the apache manual (available if USE=docs)
+#  MEM_CACHE    Enables default configuration mod_mem_cache
+#  PROXY        Enables mod_proxy
+#  SSL          Enables SSL (available if USE=ssl)
+#  SUEXEC       Enables running CGI scripts (in USERDIR) through suexec.
+#  USERDIR      Enables /~username mapping to /home/username/public_html
+#
+#
+# The following two options provide the default virtual host for the HTTP and
+# HTTPS protocol. YOU NEED TO ENABLE AT LEAST ONE OF THEM, otherwise apache
+# will not listen for incomming connections on the approriate port.
+#
+#  DEFAULT_VHOST      Enables name-based virtual hosts, with the default
+#                     virtual host being in /var/www/localhost/htdocs
+#  SSL_DEFAULT_VHOST  Enables default vhost for SSL (you should enable this
+#                     when you enable SSL)
+#
+APACHE2_OPTS="-D LANGUAGE -D PERL -D BACKUPPC_VHOST"
+
+# Extended options for advanced uses of Apache ONLY
+# You don't need to edit these unless you are doing crazy Apache stuff
+# As not having them set correctly, or feeding in an incorrect configuration
+# via them will result in Apache failing to start
+# YOU HAVE BEEN WARNED.
+
+# PID file
+PIDFILE=/var/run/apache-backuppc.pid
+
+# timeout for startup/shutdown checks
+#TIMEOUT=10
+
+# ServerRoot setting
+SERVERROOT=/usr/lib/apache2
+
+# Configuration file location
+# - If this does NOT start with a '/', then it is treated relative to
+# $SERVERROOT by Apache
+CONFIGFILE=/etc/BackupPC/httpd.conf
+
+# Location to log startup errors to
+# They are normally dumped to your terminal.
+#STARTUPERRORLOG="/var/log/apache2/startuperror.log"
+
+# A command that outputs a formatted text version of the HTML at the URL
+# of the command line. Designed for lynx, however other programs may work.
+#LYNX="lynx -dump"
+
+# The URL to your server's mod_status status page.
+# Required for status and fullstatus
+#STATUSURL="http://localhost/server-status"
+
+# Method to use when reloading the server
+# Valid options are 'restart' and 'graceful'
+# See http://httpd.apache.org/docs/2.2/stopping.html for information on
+# what they do and how they differ.
+#RELOAD_TYPE="graceful"
diff --git a/conf.d/backuppc b/conf.d/backuppc
new file mode 100644 (file)
index 0000000..35e2bf3
--- /dev/null
@@ -0,0 +1,6 @@
+CONF_FILE=/etc/BackupPC/config.pl
+USER=backuppc
+PID_FILE=/var/log/BackupPC/BackupPC.pid
+EXEC=/usr/bin/BackupPC
+EXEC_OPTIONS=-d
+NICELEVEL=0
diff --git a/fstab b/fstab
index c7d7d5d81e406c47ddf8ad3bd8ee8daa4b6ac559..0dda87dd51f3f2d7f907590e871e1857e68d0a25 100644 (file)
--- a/fstab
+++ b/fstab
@@ -24,6 +24,8 @@
 /dev/vg1/distfiles                     /usr/portage/distfiles  ext4    noatime                 1 2
 /dev/vg1/images                                /var/lib/images         ext4    noatime                 1 2
 
+UUID=47afb6ae-d9bc-4129-a382-c9cd06a4bee2      /data/my_passport       ext4    noauto,noatime,acl,user_xattr   0 0
+
 # glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for 
 # POSIX shared memory (shm_open, shm_unlink).
 # (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
diff --git a/group b/group
index 66bf1e632f5b78f21b3520f45b6868bcb5703b5a..c0e60e9af62f7d3e2955fbc595b37b6fa71d030a 100644 (file)
--- a/group
+++ b/group
@@ -65,3 +65,4 @@ realtime:x:990:
 vboxusers:x:989:frank
 dropbox:x:988:
 polkitd:x:987:
+backuppc:x:986:
diff --git a/group- b/group-
index cda8757712c6c9d68a1af1ddc3fc8eaf84d1fd26..66bf1e632f5b78f21b3520f45b6868bcb5703b5a 100644 (file)
--- a/group-
+++ b/group-
@@ -64,3 +64,4 @@ postgres:x:70:
 realtime:x:990:
 vboxusers:x:989:frank
 dropbox:x:988:
+polkitd:x:987:
diff --git a/gshadow b/gshadow
index 031a9bdea658031689d3e4c6c6bc7f1a5066ef82..75b34b2d12f4d44849715ecffec4fa6e3c45c0c1 100644 (file)
--- a/gshadow
+++ b/gshadow
@@ -63,3 +63,4 @@ realtime:!::
 vboxusers:!::
 dropbox:!::
 polkitd:!::
+backuppc:!::
index 8f99cfd506799a557ff9ccd93ccb8559bc0a73c3..031a9bdea658031689d3e4c6c6bc7f1a5066ef82 100644 (file)
--- a/gshadow-
+++ b/gshadow-
@@ -62,3 +62,4 @@ postgres:!::
 realtime:!::
 vboxusers:!::
 dropbox:!::
+polkitd:!::
diff --git a/init.d/apache2-backuppc b/init.d/apache2-backuppc
new file mode 100755 (executable)
index 0000000..c3ce4e7
--- /dev/null
@@ -0,0 +1,182 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="configtest modules virtualhosts"
+extra_started_commands="configdump fullstatus graceful gracefulstop reload"
+
+description_configdump="Dumps the configuration of the runing apache server. Requires server-info to be enabled and www-client/lynx."
+description_configtest="Run syntax tests for configuration files."
+description_fullstatus="Gives the full status of the server. Requires lynx and server-status to be enabled."
+description_graceful="A graceful restart advises the children to exit after the current request and reloads the configuration."
+description_gracefulstop="A graceful stop advises the children to exit after the current request and stops the server."
+description_modules="Dump a list of loaded Static and Shared Modules."
+description_reload="Kills all children and reloads the configuration."
+description_virtualhosts="Show the settings as parsed from the config file (currently only shows the virtualhost settings)."
+description_stop="Kills all children and stops the server."
+
+depend() {
+       need net
+       use mysql dns logger netmount postgresql
+       after sshd
+}
+
+configtest() {
+       ebegin "Checking ${SVCNAME} configuration"
+       checkconfig
+       eend $?
+}
+
+checkconfd() {
+       if [ ! -f /etc/init.d/sysfs ]; then
+               eerror "This init script works only with openrc (baselayout-2)."
+               eerror "If you still need baselayout-1.x, please, use"
+               eerror "apache2.initd-baselayout-1 from /usr/share/doc/apache2-*/"
+       fi
+
+       PIDFILE="${PIDFILE:-/var/run/apache2.pid}"
+       TIMEOUT=${TIMEOUT:-15}
+
+       SERVERROOT="${SERVERROOT:-/usr/lib64/apache2}"
+       if [ ! -d ${SERVERROOT} ]; then
+               eerror "SERVERROOT does not exist: ${SERVERROOT}"
+               return 1
+       fi
+
+       CONFIGFILE="${CONFIGFILE:-/etc/apache2/httpd.conf}"
+       [ "${CONFIGFILE#/}" = "${CONFIGFILE}" ] && CONFIGFILE="${SERVERROOT}/${CONFIGFILE}"
+       if [ ! -r "${CONFIGFILE}" ]; then
+               eerror "Unable to read configuration file: ${CONFIGFILE}"
+               return 1
+       fi
+
+       APACHE2_OPTS="${APACHE2_OPTS} -d ${SERVERROOT}"
+       APACHE2_OPTS="${APACHE2_OPTS} -f ${CONFIGFILE}"
+       [ -n "${STARTUPERRORLOG}" ] && APACHE2_OPTS="${APACHE2_OPTS} -E ${STARTUPERRORLOG}"
+
+       APACHE2="/usr/sbin/apache2"
+}
+
+checkconfig() {
+       checkconfd || return 1
+
+       ${APACHE2} ${APACHE2_OPTS} -t 1>/dev/null 2>&1
+       ret=$?
+       if [ $ret -ne 0 ]; then
+               eerror "${SVCNAME} has detected an error in your setup:"
+               ${APACHE2} ${APACHE2_OPTS} -t
+       fi
+
+       return $ret
+}
+
+start() {
+       checkconfig || return 1
+
+       ebegin "Starting ${SVCNAME}"
+       # Use start stop daemon to apply system limits #347301 
+       start-stop-daemon --start -- ${APACHE2} ${APACHE2_OPTS} -k start
+
+       i=0
+       while [ ! -e "${PIDFILE}" ] && [ $i -lt ${TIMEOUT} ]; do
+               sleep 1 && i=$(expr $i + 1)
+       done
+
+       eend $(test $i -lt ${TIMEOUT})
+}
+
+stop() {
+       if [ "${RC_CMD}" = "restart" ]; then
+               checkconfig || return 1
+       else
+               checkconfd || return 1
+       fi
+
+       PID=$(cat "${PIDFILE}" 2>/dev/null)
+       if [ -z "${PID}" ]; then
+               einfo "${SVCNAME} not running (no pid file)"
+               return 0
+       fi
+
+       ebegin "Stopping ${SVCNAME}"
+       ${APACHE2} ${APACHE2_OPTS} -k stop
+
+       i=0
+       while ( test -f "${PIDFILE}" && pgrep -P ${PID} apache2 >/dev/null ) \
+               && [ $i -lt ${TIMEOUT} ]; do
+               sleep 1 && i=$(expr $i + 1)
+       done
+
+       eend $(test $i -lt ${TIMEOUT})
+}
+
+reload() {
+       RELOAD_TYPE="${RELOAD_TYPE:-graceful}"
+
+       checkconfig || return 1
+
+       if [ "${RELOAD_TYPE}" = "restart" ]; then
+               ebegin "Restarting ${SVCNAME}"
+               ${APACHE2} ${APACHE2_OPTS} -k restart
+               eend $?
+       elif [ "${RELOAD_TYPE}" = "graceful" ]; then
+               ebegin "Gracefully restarting ${SVCNAME}"
+               ${APACHE2} ${APACHE2_OPTS} -k graceful
+               eend $?
+       else
+               eerror "${RELOAD_TYPE} is not a valid RELOAD_TYPE. Please edit /etc/conf.d/${SVCNAME}"
+       fi
+}
+
+graceful() {
+       checkconfig || return 1
+       ebegin "Gracefully restarting ${SVCNAME}"
+       ${APACHE2} ${APACHE2_OPTS} -k graceful
+       eend $?
+}
+
+gracefulstop() {
+       checkconfig || return 1
+       ebegin "Gracefully stopping ${SVCNAME}"
+       ${APACHE2} ${APACHE2_OPTS} -k graceful-stop
+       eend $?
+}
+
+modules() {
+       checkconfig || return 1
+       ${APACHE2} ${APACHE2_OPTS} -M 2>&1
+}
+
+fullstatus() {
+       LYNX="${LYNX:-lynx -dump}"
+       STATUSURL="${STATUSURL:-http://localhost/server-status}"
+
+       if ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then
+               eerror "lynx not found! you need to emerge www-client/lynx"
+       else
+               ${LYNX} ${STATUSURL}
+       fi
+}
+
+virtualhosts() {
+       checkconfig || return 1
+       ${APACHE2} ${APACHE2_OPTS} -S
+}
+
+configdump() {
+       LYNX="${LYNX:-lynx -dump}"
+       INFOURL="${INFOURL:-http://localhost/server-info}"
+
+       checkconfd || return 1
+
+       if ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then
+               eerror "lynx not found! you need to emerge www-client/lynx"
+       else
+               echo "${APACHE2} started with '${APACHE2_OPTS}'"
+               for i in config server list; do
+                       ${LYNX} "${INFOURL}/?${i}" | sed '/Apache Server Information/d;/^[[:space:]]\+[_]\+$/Q'
+               done
+       fi
+}
+
+# vim: ts=4 filetype=gentoo-init-d
diff --git a/init.d/backuppc b/init.d/backuppc
new file mode 100755 (executable)
index 0000000..18ea9e0
--- /dev/null
@@ -0,0 +1,46 @@
+#!/sbin/runscript
+#
+# DESCRIPTION
+#
+#   Startup init script for BackupPC on Gentoo` linux.
+#
+# Distributed with BackupPC version 3.2.1, released 24 Apr 2011.
+#
+# description: Starts and stops the BackupPC server
+# Copy to /etc/init.d and run 'rc-update add backuppc default'
+
+# get our configuration options
+source /etc/conf.d/backuppc
+
+checkconfig() {
+       if [ ! -f ${CONF_FILE} ] ; then
+               eerror "No ${CONF_FILE} exists!"
+       fi
+}
+
+start() {
+       checkconfig || return 1
+       ebegin "Starting BackupPC"
+       start-stop-daemon --start  --user ${USER} --nicelevel ${NICELEVEL} --pidfile ${PID_FILE} --exec ${EXEC} -- ${EXEC_OPTIONS}
+       eend $?
+}
+
+stop() {
+       ebegin "Stopping BackupPC"
+       start-stop-daemon --stop --pidfile ${PID_FILE} --name BackupPC
+       eend $?
+}
+
+restart() {
+       ebegin "Restarting BackupPC"
+       svc_stop
+        sleep 1
+       svc_start
+       eend $? "Failed to restart BackupPC"
+}
+
+status() {
+       return
+       eend $?
+}
+
diff --git a/passwd b/passwd
index 13bc9d25a7d4cbe3cd70a1ca0caa6854e3736b86..dea4f5aa908d99984c96b04520cfa7c8ad234c15 100644 (file)
--- a/passwd
+++ b/passwd
@@ -51,3 +51,4 @@ hsqldb:x:114:991:added by portage for hsqldb:/dev/null:/bin/sh
 postgres:x:70:70:added by portage for postgresql-server:/var/lib/postgresql:/bin/bash
 memcached:x:115:2:added by portage for memcached:/dev/null:/sbin/nologin
 polkitd:x:116:987:added by portage for polkit:/var/lib/polkit-1:/sbin/nologin
+backuppc:x:117:986:added by portage for backuppc:/var/lib/backuppc:/bin/bash
diff --git a/passwd- b/passwd-
index d458e9327e31c609e17724e492651b87fb1a65a0..13bc9d25a7d4cbe3cd70a1ca0caa6854e3736b86 100644 (file)
--- a/passwd-
+++ b/passwd-
@@ -50,3 +50,4 @@ postfix:x:207:207:added by portage for postfix:/var/spool/postfix:/sbin/nologin
 hsqldb:x:114:991:added by portage for hsqldb:/dev/null:/bin/sh
 postgres:x:70:70:added by portage for postgresql-server:/var/lib/postgresql:/bin/bash
 memcached:x:115:2:added by portage for memcached:/dev/null:/sbin/nologin
+polkitd:x:116:987:added by portage for polkit:/var/lib/polkit-1:/sbin/nologin
diff --git a/php/apache2-php5.3/ext-active/uuid.ini b/php/apache2-php5.3/ext-active/uuid.ini
new file mode 120000 (symlink)
index 0000000..f851904
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/apache2-php5.3/ext/uuid.ini
\ No newline at end of file
diff --git a/php/apache2-php5.3/ext/uuid.ini b/php/apache2-php5.3/ext/uuid.ini
new file mode 100644 (file)
index 0000000..3d84187
--- /dev/null
@@ -0,0 +1 @@
+extension=uuid.so
diff --git a/php/cgi-php5.3/ext-active/uuid.ini b/php/cgi-php5.3/ext-active/uuid.ini
new file mode 120000 (symlink)
index 0000000..4c2ce79
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/cgi-php5.3/ext/uuid.ini
\ No newline at end of file
diff --git a/php/cgi-php5.3/ext/uuid.ini b/php/cgi-php5.3/ext/uuid.ini
new file mode 100644 (file)
index 0000000..3d84187
--- /dev/null
@@ -0,0 +1 @@
+extension=uuid.so
diff --git a/php/cli-php5.3/ext-active/uuid.ini b/php/cli-php5.3/ext-active/uuid.ini
new file mode 120000 (symlink)
index 0000000..0c39d67
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/cli-php5.3/ext/uuid.ini
\ No newline at end of file
diff --git a/php/cli-php5.3/ext/uuid.ini b/php/cli-php5.3/ext/uuid.ini
new file mode 100644 (file)
index 0000000..3d84187
--- /dev/null
@@ -0,0 +1 @@
+extension=uuid.so
diff --git a/php/embed-php5.3/ext-active/uuid.ini b/php/embed-php5.3/ext-active/uuid.ini
new file mode 120000 (symlink)
index 0000000..ae123ac
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/embed-php5.3/ext/uuid.ini
\ No newline at end of file
diff --git a/php/embed-php5.3/ext/uuid.ini b/php/embed-php5.3/ext/uuid.ini
new file mode 100644 (file)
index 0000000..3d84187
--- /dev/null
@@ -0,0 +1 @@
+extension=uuid.so
diff --git a/php/fpm-php5.3/ext-active/uuid.ini b/php/fpm-php5.3/ext-active/uuid.ini
new file mode 120000 (symlink)
index 0000000..f081ab1
--- /dev/null
@@ -0,0 +1 @@
+/etc/php/fpm-php5.3/ext/uuid.ini
\ No newline at end of file
diff --git a/php/fpm-php5.3/ext/uuid.ini b/php/fpm-php5.3/ext/uuid.ini
new file mode 100644 (file)
index 0000000..3d84187
--- /dev/null
@@ -0,0 +1 @@
+extension=uuid.so
index e02aa6fbc9180f784e71aa6371fd23b7027a0304..317e25c8639e145db1100c68cd2887f4803524a0 100644 (file)
@@ -54,7 +54,7 @@ dev-java/log4j                                javamail
 dev-java/sun-jdk                       -doc jce
 
 dev-lang/perl                          ithreads perlsuid
-dev-lang/php                           bcmath cgi embed filter force-cgi-redirect enchant fpm gd hash intl json -ldap-sasl mysqlnd -oci8 -recode reflection sharedext suhosin -threads tokenizer xmlreader xmlwriter -xpm zip
+dev-lang/php                           bcmath cgi embed filter force-cgi-redirect enchant fpm gd hash intl json -ldap-sasl mysqlnd -oci8 pdo -recode reflection sharedext suhosin -threads tokenizer xmlreader xmlwriter -xpm zip
 dev-lang/python                                berkdb tk
 
 dev-libs/boost                         tools
@@ -277,6 +277,7 @@ sys-process/daemontools-scripts             withsamplescripts
 virtual/ffmpeg                         vaapi
 
 www-apps/bugzilla                      extras
+www-apps/egroupware                    gallery
 www-apps/syscp                         aps autoresponder billing bind domainkey fcgid mailquota
 
 www-client/elinks                      finger gopher -ruby
diff --git a/shadow b/shadow
index 3edfa87e65ca1dd0f178cbf258b37f2d5846642d..93025fe6f99536c19aafef683b4acb06ca22629d 100644 (file)
--- a/shadow
+++ b/shadow
@@ -50,3 +50,4 @@ hsqldb:!:15356::::::
 postgres:!:15371::::::
 memcached:!:15566::::::
 polkitd:!:15634::::::
+backuppc:!:15706::::::
diff --git a/shadow- b/shadow-
index 13b3d80597c187070d33b6f208d07b9d8a13f06f..3edfa87e65ca1dd0f178cbf258b37f2d5846642d 100644 (file)
--- a/shadow-
+++ b/shadow-
@@ -49,3 +49,4 @@ postfix:!:15356::::::
 hsqldb:!:15356::::::
 postgres:!:15371::::::
 memcached:!:15566::::::
+polkitd:!:15634::::::
diff --git a/sudoers b/sudoers
index 35c422c10b619243c2dd4f27bb6d9768d9ad0fdb..15ae4fb64f6712537b4beea3066a3a2de455657f 100644 (file)
--- a/sudoers
+++ b/sudoers
@@ -82,6 +82,8 @@ root ALL=(ALL) ALL
 
 frank ALL=(ALL) NOPASSWD: ALL
 
+backuppc ALL = NOPASSWD: /bin/tar
+
 ## Uncomment to allow any user to run sudo if they know the password
 ## of the user they are running the command as (root by default).
 # Defaults targetpw  # Ask for the password of the target user