BackupPC-users

Re: [BackupPC-users] help installing BackupPC4.0.0alpha3.tar.gz

2015-08-04 17:32:37
Subject: Re: [BackupPC-users] help installing BackupPC4.0.0alpha3.tar.gz
From: Bob of Donelson Trophy <bob AT donelsontrophy DOT net>
To: David Cramblett <david AT functionalchaos DOT net>
Date: Tue, 04 Aug 2015 16:30:07 -0500

EUREKA!!!!!

After initiating your init.d script and a restart of the machine, I access the webgui via the ipaddress on my browser and it was complaining (across the top of the page) that "Error: Unable to connect to BackupPC server".

Checked permissions on the /data/BackupPC/ files and they were the same. Scratched my head and Googled the error message. One of the post mentioned selinux. Checked my selinux and reset to "permissive" (with "setenforce 0") and restarted backuppc and httpd and tried the webgui, again . . . EUREKA!!!!

Looks just like the BackupPC 3.3.* version I am use to!

Thank you, thank you, thank you!!!! David Cramblett!!!!

I had not done a tar install in about ten years and had forgotten everything. Your help and patience was the best!!!!

 

---

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-08-04 12:10, David Cramblett wrote:

Below is my full init script. It should be placed in:
 
 /etc/init.d/backuppc
 
Once you have created this file, you should be able to run commands like the following:
 
# service backuppc status
# service backuppc start
# service backuppc stop
# service backuppc restart
# service backuppc reload
 
If you want backuppc to start on system start up, run the following command after verifying the init script is working:
 
# chkconfig backuppc on
 
 
---------------------------- Init Script ---------------------------------------
 
#!/bin/sh
#
# DESCRIPTION
#
#   Startup init script for BackupPC on Redhat linux.
#
# Distributed with BackupPC version 4.0.0alpha3, released 1 Dec 2013.
#
# chkconfig: - 91 35
# description: Starts and stops the BackupPC server
 
# Source function library.
if [ -f /etc/init.d/functions ] ; then
  . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
  . /etc/rc.d/init.d/functions
else
  exit 0
fi
 
RETVAL=0
 
start() {
    # Make sure /var/run/BackupPC tempfs exisits
    checkTempFs
    #
    # You can set the SMB share password here is you wish.  Otherwise
    # you should put it in the config.pl script.
    # If you put it here make sure this file has no read permissions
    # for normal users!  See the documentation for more information.
    #
    # Replace the daemon line below with this:
    #   
    #  daemon --user backuppc /usr/bin/env BPC_SMB_PASSWD=xxxxx \
    # /usr/local/BackupPC/bin/BackupPC -d
    #   
    echo -n "Starting BackupPC: "
    daemon --user backuppc /usr/local/BackupPC/bin/BackupPC -d
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/backuppc || \
       RETVAL=1
    return $RETVAL
}
 
stop() {
    echo -n "Shutting down BackupPC: "
    killproc /usr/local/BackupPC/bin/BackupPC
    RETVAL=$?
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/backuppc
    echo ""
    return $RETVAL
}
 
restart() {
    stop
    start
}
 
reload() {
    echo -n "Reloading config.pl file: "
    killproc /usr/local/BackupPC/bin/BackupPC -HUP
    RETVAL=$?
    echo
    return $RETVAL
}
 
rhstatus() {
    status /usr/local/BackupPC/bin/BackupPC
}
 
checkTempFs() {
    if `test -d /var/run/BackupPC`;  then
echo "BackupPC tempfs exisits"
    else
mkdir -p /var/run/BackupPC
chown backuppc:backuppc /var/run/BackupPC
echo "BackupPC tempfs created"
    fi
}
 
case "$1" in
  start)
  start
;;
  stop)
  stop
;;
  restart)
  restart
;;
  reload)
  reload
;;
  status)
  rhstatus
;;
  *)
echo "Usage: $0 {start|stop|restart|reload|status}"
exit 1
esac
 
exit $?
 

On Tue, Aug 4, 2015 at 7:52 AM, Bob of Donelson Trophy <bob AT donelsontrophy DOT net> wrote:

Yes, when I run them manually they do solve the problem.

I understand that "checkTempFs" script that is run by what user? root?

And if I understand what your saying, inserting "checkTempFs" into the /etc/init.d/backuppc startup script. But, I am confused as to where /etc/init.d/backuppc "looks" for the script to run it on start up?

(FYI, my OS is a CentOS 7, like yours, I believe. And is a dedicated machine that runs only BackupPC.)

 

---

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-08-04 09:44, David Cramblett wrote:

That is a function call I added to my init script that runs the following commands:

# mkdir -p /var/run/BackupPC

# chown [backuppc-user]:[backuppc-group] /var/run/BackupPC

You can run them manually before attempting to start BackupPC to test if it solves the problem.

If it works then you can add the function to the init script sample provided in the BackupPC install directory.

David

Sent from my mobile device

David Cramblett

On Aug 4, 2015 4:45 AM, "Bob of Donelson Trophy" <bob AT donelsontrophy DOT net> wrote:

David,

I have placed your "checkTempFs" file but it appears to not be running on restart.

What directory did you place your "checkTempFs" file in?

What file permissions does "checkTempFs" need?

Then finally, simply insert the "checkTempFs" above the "echo -n "Starting BackupPC: " line?

---

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-08-03 20:48, David Cramblett wrote:

How are you currently starting BackupPC? If you doing via the daemon mode, you may want to leave off the -d and start it in the foreground so you can see the error. I'm guessing your having the issue with the temp file system I mentioned before.

David

Sent from my mobile device

David Cramblett

On Aug 3, 2015 6:44 PM, "Bob of Donelson Trophy" <bob AT donelsontrophy DOT net> wrote:

I am so-o-o close to functional.

When I run "ps -ef | grep BackupPC" I get only:


root      2379  2344  0 21:39 pts/0    00:00:00 grep --color=auto BackupPC

There is no "backuppc (bunch of numbers) /usr/bin/perl /usr/local/BackupPC/bin/BackupPC -d" like your output!

Suggestions?

---

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-08-03 11:24, David Cramblett wrote:

Comments below:

On Mon, Aug 3, 2015 at 8:07 AM, Bob of Donelson Trophy <bob AT donelsontrophy DOT net> wrote:

David,

Within the BackupPC-4.0.0alpha3.tar.gz is a file to be placed at /var/www/httpd/conf.d/ which used to create the cgi page needed to web administer BackupPC.

If I am understanding what I am reading, this file, in conjunction with the httpd.conf file does the same as you suggested in your last email regarding accessing the webgui. (Maybe not, I consider myself very much a newbie when it comes to httpd.)

 
Yes that will work fine. As I mentioned, I only run BackupPC software on my backup server, so I don't bother with separate config files.

I have set httpd.conf to be run by 'backuppc' user and 'backuppc' group as suggested.

 
I assume you restarted the httpd server after making this change. If not, please do.
 

I can access my webgui at my ip address/cgi-bin/BackupPC_Admin but not at ip address/BackupPC as I have configured in /etc/BackupPC.configure.pl.

 
As far as i'm aware, the BackupPC alias is just for web images, not the program. You need to use the /cgi-in/BackupPC_Admin to use the web-gui. I'm not sure what you mean in regards to "I have configured in /etc/BackupPC.configure.pl."? There is not setting for the web gui location that I'm aware of. That location is handled by the httpd configuration.
 

My webpage is saying:

Error: Unable to connect to BackupPC server

This CGI script (/cgi-bin/BackupPC_Admin) is unable to connect to the BackupPC server on backuppc4 port 0.
The error was: unix connect: No such file or directory.
Perhaps the BackupPC server is not running or there is a configuration error. Please report this to your Sys Admin.

It use to say ". . . backuppc4 port -1." until I changed the port to "0" in configure.pl. Tells me it has something to do with the "S/CGI port" setting.

 
The port should be -1 (negative 1). You only set the port if the BackupPC daemon is running on a different machine than the web-gui. I would go back to -1 and troubleshoot the problem from there.
 
The error your getting usualy means the BackupPC service is not running. Please type the following command and verify that BackupPC is running:
 
# ps -ef |grep BackupPC
 
It should list something like the following:
 
backuppc 20503     1  0 09:20 ?        00:00:00 /usr/bin/perl /usr/local/BackupPC/bin/BackupPC -d
root     20521 20287  0 09:21 pts/0    00:00:00 grep --color=auto BackupPC
 
Make sure BackupPC is running in daemon mode (-d) and the user it's running as is backuppc.
 

I am fairly sure I have configured something wrong but, what?

Any help would be greatly appreciated?

Here is my httpd.conf file:

[root@backuppc4 ~]# cat /etc/httpd/conf/httpd.conf
#
# 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.4/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.4/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 'log/access_log'
# with ServerRoot set to '/www' will be interpreted by the
# server as '/www/log/access_log', where as '/log/access_log' will be
# interpreted as '/log/access_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 specify a local disk on the
# Mutex directive, if file-based mutexes are used.  If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
ServerRoot "/etc/httpd"

#
# 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 192.168.16.88:80

#
# 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
#
Include conf.modules.d/*.conf

#
# 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

# 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition.  These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#

#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. admin AT your-domain DOT com
#
ServerAdmin root@localhost

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName 192.168.16.88:80

#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
    AllowOverride none
    Require all denied
</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"

#
# Relax access to content within /var/www.
#
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

# Further relax access to the default document root:
<Directory "/var/www/html">
    #
    # 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.4/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

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ".ht*">
    Require all denied
</Files>

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog "logs/error_log"

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

<IfModule log_config_module>
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
    #CustomLog "logs/access_log" common

    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>
    #
    # Redirect: Allows you to tell clients about documents that used to
    # exist in your server's namespace, but do not anymore. The client
    # will make a new request for the document at its new location.
    # Example:
    # Redirect permanent /foo http://www.example.com/bar

    #
    # Alias: Maps web paths into filesystem paths and is used to
    # access content that does not live under the DocumentRoot.
    # Example:
    # Alias /webpath /full/filesystem/path
    #
    # If you include a trailing / on /webpath then the server will
    # require it to be present in the URL.  You will also likely
    # need to provide a <Directory> section to allow access to
    # the filesystem path.

    #
    # ScriptAlias: This controls which directories contain server scripts.
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the target directory are treated as applications and
    # run by the server when requested rather than as documents sent to the
    # client.  The same rules about trailing "/" apply to ScriptAlias
    # directives as to Alias.
    #
 ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

</IfModule>

#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">

##    AuthType basic
##    AuthName "BackupPC"
##    AuthUserFile "/etc/httpd/conf/backuppc_passwd"

##    Require valid-user
##    Order allow,deny
##    Allow from all

    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig /etc/mime.types

    #
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #
    #AddType application/x-gzip .tgz
    #
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    #AddHandler cgi-script .cgi

    # For type maps (negotiated resources):
    #AddHandler type-map var

    #
    # Filters allow you to process content before it is sent to the client.
    #
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    #
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default.  To use the
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    #
    # The mod_mime_magic module allows the server to use various hints from the
    # contents of the file itself to determine its type.  The MIMEMagicFile
    # directive tells the module where the hint definitions are located.
    #
    MIMEMagicFile conf/magic
</IfModule>

#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# EnableMMAP and EnableSendfile: On systems that support it,
# memory-mapping or the sendfile syscall may be used to deliver
# files.  This usually improves server performance, but must
# be turned off when serving from networked-mounted
# filesystems or if support for these functions is otherwise
# broken on your system.
# Defaults if commented: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
EnableSendfile on

# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.IncludeOptional conf.d/*.conf

 

AND here is the /etc/httpd/conf.d/BackupPC.conf:

[root@backuppc4 ~]# cat /etc/httpd/conf.d/BackupPC.conf
#
# DESCRIPTION
#
#   This file controls access and configuration for the BackupPC CGI
#   interface.
#
# Distributed with BackupPC version 3.1.1, released 22 Dec 2008.

<Directory      /var/www/cgi-bin >

#
# This section tells apache which machines can access the interface.
# You can change the allow line to allow access from your local
# network, or comment out this region to allow access from all
# machines.
#
order deny,allow
deny from all
##allow from 127.0.0.1
allow from all

#
# You can change the authorization method to LDAP or another method
# besides htaccess here if you are so inclined.
#
AuthType Basic
AuthUserFile /etc/BackupPC/BackupPC.users
###AuthName "BackupPC Community Edition Administrative Interface"
AuthName "backuppc"
require valid-user

</Directory>

Alias           /BackupPC         /var/www/html
ScriptAlias     /BackupPC_Admin         /var/www/cgi-bin/BackupPC_Admin---

Thanks.

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-07-30 12:17, David Cramblett wrote:

Bob,
 
The web server user needs to be able to access the backuppc software and daemon. You can handle this different ways (i.e. setuid, etc), but I'm always running just the backuppc daemon on my backup server. I just change the web server user and group to my backuppc user to make things easy. You can change this in your apache conf (/etc/httpd/conf/httpd.conf on CentOS) if that will work for you.
 
User backuppc
Group backuppc
 
You also need some adjustments to the cgi-bin config for apache. I setup a basic http passwd file so that authentication to the backuppc web interface is required. Again, this configuration is in the httpd.conf file. 
 
#   "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
#   CGI directory exists, if you have that configured.
<Directory "/var/www/cgi-bin">
 
    AuthType basic
    AuthName "BackupPC"
    AuthUserFile "/etc/httpd/conf/backuppc_passwd"
 
    Require valid-user
    Order allow,deny
    Allow from all
 
    AllowOverride None
    Options None
    #Require all granted
 
</Directory>
 
 
If you want to create the password file, use the command "htpasswd". You can run:
 
# htpasswd -c /etc/httpd/conf/backuppc_passwd [username]
 
The -c option means "create a new file". You should leave it off after the first time, if creating multiple users and passwords.

David
 

On Thu, Jul 30, 2015 at 9:43 AM, Bob of Donelson Trophy <bob AT donelsontrophy DOT net> wrote:

I might be wrong but, there is something new and different about the httpd configuration in CentOS 7.

Polite as I can . . bump . . . . anybody ? . . . . please.

 

---

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-07-29 14:38, Bob of Donelson Trophy wrote:

Having trouble finding instruction regarding how to setup CGI access for Apache on CentOS 7. Most of the instructions I am finding are for older versions. Any of those changes break httpd . . . so I remove that to return to functionality.

With 'Links' installed, I can run the su -u backuppc /var/www/cgi-bin/BackupPC_Admin and the webpage appears on the sverver machine (via ssh) itself. So, the cgi-bin file is functional.

Any help would be greatly appreciated.

 

---

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-07-28 09:25, Bob of Donelson Trophy wrote:

Good news!

Got BackupPC 4.0.0 to run!!

I had a permissions issue with /data, my data (storage) directory. When I 'chown' to backuppc user, and ran "sudo -u backuppc /usr/local/BackupPC/bin/BackupPC -d" BackupPC started . . . yeah!! (Now I can go look at logfiles.)

Now, I think I have an Apache permissions issue as when I use my browser to access the [ip address]/BackupPC I get nothing but, when I try [ip address]/backuppc I get the directory that contains all the *.gif files and other. This is a (Apache?) permissions issue I have read about somewhere . . . now to find that again.

My linux education continues . . .

 

---

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-07-27 15:50, David Cramblett wrote:

As mentioned in a previous email, I had a problem getting backuppc to start or stay running when I first installed it. I found I had to ensure that the temp file location was created in in /var/run/BackupPC before starting the daemon. If backuppc uses a temp file location for your distro, I assume it does, then it will be needed to start the daemon, regardless whether you start it manually or form the init script.
 
You could look and see if you have a directory at /var/run/BackupPC
 
The config.pl parameter below will tell you where this directory should be created:
 
$Conf{RunDir} = '/var/run/BackupPC';
 
If you don't have the correct directory, try creating it (of course customize this to your run dir location from config.pl):
 
$ mkdir -p /var/run/BackupPC
$ chown [backuppc-user]:[backuppc-group] /var/run/BackupPC
 
Then try starting the daemon again.
 
I ended up adding a temp file system check to my init script for backuppc:
 
checkTempFs() {
    if `test -d /var/run/BackupPC`;  then
echo "BackupPC tempfs exisits"
    else
mkdir -p /var/run/BackupPC
chown backuppc:backuppc /var/run/BackupPC
echo "BackupPC tempfs created"
    fi
}
 
 
Then I I added the "checkTempFs()" function to the init script's "start" function:
 
start() {
    # Make sure /var/run/BackupPC tempfs exisits
    checkTempFs   
    echo -n "Starting BackupPC: "
    daemon --user backuppc /usr/local/BackupPC/bin/BackupPC -d
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/backuppc || \
       RETVAL=1
    return $RETVAL
}
 
 
David
 
 

On Mon, Jul 27, 2015 at 10:08 AM, Bob of Donelson Trophy <bob AT donelsontrophy DOT net> wrote:

(Sorry, David. 'Hit' reply instead of "reply-all". So your getting a duplicate.)

Yes, I am following the steps below.

However the "./configure.sh --prefix option" suggestion to add to the rsync-bpc, I did not do as running "./configure.sh" reports that is has installed in /usr/local/bin by default. Keywords in that suggestion sentence are "default might be . . .".

Also, your config.pl file is very much identical to mine except I have not yet installed samba.

I am having trouble getting backuppc to run manually (have not activated the init.d script, yet.)

I am struggling with file permissions and will not get back to post any specific questions until late this afternoon or tomorrow.

So far the project seems to be progressing well.

 

---

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-07-27 11:29, David Cramblett wrote:

Bob,
 
My samba packages on CentOS 7:
 
samba-common-4.1.12-21
samba-libs-4.1.12-21
samba-client-4.1.12-21
 
I just wanted to double check, your following these steps below for your backuppc install correct?
 
#------------------------------------------------------------------------
# Installation instructions: download and install all three tar balls.
#------------------------------------------------------------------------
 
BackupPC-XS-0.30.tar.gz:
 
  tar zxvf BackupPC-XS-0.30.tar.gz
  cd BackupPC-XS-0.30
  perl Makefile.PL
  make
  make test
  make install
 
rsync-bpc-3.0.9.3.tar.gz:
 
  tar zxvf rsync-bpc-3.0.9.3.tar.gz
  cd rsync-bpc-3.0.9.3
  ./configure.sh
  make
  make install
 
BackupPC-4.0.0alpha3.tar.gz:
 
  tar zxvf BackupPC-4.0.0alpha3.tar.gz
  cd BackupPC-4.0.0alpha3
 
The last step for each will need to be run as a privileged user.
 
If you want to install rsync_bpc in /usr/local/bin (default might be /usr/bin), then you should add the --prefix option to configure.sh:
 
  ./configure.sh --prefix=/usr/local
 
David
 
 

On Sun, Jul 26, 2015 at 12:31 PM, Bob of Donelson Trophy <bob AT donelsontrophy DOT net> wrote:

This is a BIG help. Thank you.

I have re-installed my server with CentOS7. Resolved all (I think) my dependencies issues. Currently having some file permissions issues with Apache. My linux education continues.

As I look through your file, the initial question is, what version Samba have you installed? Or is it smbclient?

 

---

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-07-26 12:24, David Cramblett wrote:

Bob,
 
Here is my config.pl. Anything in braces{ } is data I sanitized before sharing my config file.
 
 
 
 
==================== config.pl =====================
 
$Conf{ServerHost} = '{BACKUPPC_HOST}.{MY_DOMAIN}';
$Conf{ServerPort} = -1;
$Conf{ServerMesgSecret} = '';
$Conf{MyPath} = '/bin';
$Conf{UmaskMode} = 23;
$Conf{WakeupSchedule} = [
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  21,
  22,
  23
];
$Conf{PoolV3Enabled} = '0';
$Conf{MaxBackups} = 4;
$Conf{MaxUserBackups} = 4;
$Conf{MaxPendingCmds} = 15;
$Conf{CmdQueueNice} = 10;
$Conf{MaxBackupPCNightlyJobs} = 4;
$Conf{BackupPCNightlyPeriod} = 2;
$Conf{PoolSizeNightlyUpdatePeriod} = 16;
$Conf{MaxOldLogFiles} = 7;
$Conf{DfPath} = '/usr/bin/df';
$Conf{DfCmd} = '$dfPath $topDir';
$Conf{SplitPath} = '/usr/bin/split';
$Conf{ParPath} = undef;
$Conf{CatPath} = '/usr/bin/cat';
$Conf{GzipPath} = '/usr/bin/gzip';
$Conf{Bzip2Path} = '/usr/bin/bzip2';
$Conf{DfMaxUsagePct} = 98;
$Conf{DHCPAddressRanges} = [];
$Conf{BackupPCUser} = '{BACKUPPC_USER}';
$Conf{TopDir} = '/backuppc';
$Conf{ConfDir} = '/etc/BackupPC';
$Conf{LogDir} = '/var/log/BackupPC';
$Conf{RunDir} = '/var/run/BackupPC';
$Conf{InstallDir} = '/usr/local/BackupPC';
$Conf{CgiDir} = '/var/www/cgi-bin';
$Conf{BackupPCUserVerify} = '1';
$Conf{HardLinkMax} = 31999;
$Conf{PerlModuleLoad} = undef;
$Conf{ServerInitdPath} = undef;
$Conf{ServerInitdStartCmd} = '';
$Conf{FullPeriod} = '6.97';
$Conf{IncrPeriod} = '0.97';
$Conf{FillCycle} = 0;
$Conf{FullKeepCnt} = [
  2,
  0,
  6
];
$Conf{FullKeepCntMin} = 1;
$Conf{FullAgeMax} = 90;
$Conf{IncrKeepCnt} = 6;
$Conf{IncrKeepCntMin} = 1;
$Conf{IncrAgeMax} = 30;
$Conf{BackupsDisable} = 0;
$Conf{RestoreInfoKeepCnt} = 10;
$Conf{ArchiveInfoKeepCnt} = 10;
$Conf{BackupFilesOnly} = {};
$Conf{BackupFilesExclude} = {};
$Conf{BlackoutBadPingLimit} = 3;
$Conf{BlackoutGoodCnt} = 7;
$Conf{BlackoutPeriods} = [
  {
    'hourEnd' => 24,
    'weekDays' => [
      1,
      2,
      3,
      4,
      5
    ],
    'hourBegin' => 7
  }
];
$Conf{BackupZeroFilesIsFatal} = '1';
$Conf{XferMethod} = 'rsync';
$Conf{XferLogLevel} = 1;
$Conf{ClientCharset} = '';
$Conf{ClientCharsetLegacy} = 'iso-8859-1';
$Conf{SmbShareName} = [
  'C$'
];
$Conf{SmbShareUserName} = '';
$Conf{SmbSharePasswd} = '';
$Conf{SmbClientPath} = '/usr/bin/smbclient';
$Conf{SmbClientFullCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -Tc$X_option - $fileList';
$Conf{SmbClientIncrCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -TcN$X_option $timeStampFile - $fileList';
$Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -Tx -';
$Conf{TarShareName} = [
  '/'
];
$Conf{TarClientCmd} = '$sshPath -q -x -n -l root $host env LC_ALL=C $tarPath -c -v -f - -C $shareName+ --totals';
$Conf{TarFullArgs} = '$fileList+';
$Conf{TarIncrArgs} = '--newer=$incrDate+ $fileList+';
$Conf{TarClientRestoreCmd} = '$sshPath -q -x -l root $host env LC_ALL=C $tarPath -x -p --numeric-owner --same-owner -v -f - -C $shareName+';
$Conf{TarClientPath} = '/usr/bin/gtar';
$Conf{RsyncClientPath} = '/usr/bin/rsync';
$Conf{RsyncBackupPCPath} = '/usr/local/bin/rsync_bpc';
$Conf{RsyncSshArgs} = [
  '-e',
  '$sshPath -l root'
];
$Conf{RsyncShareName} = [
  '/'
];
$Conf{RsyncdClientPort} = 873;
$Conf{RsyncdUserName} = '';
$Conf{RsyncdPasswd} = '';
$Conf{RsyncFullArgsExtra} = [
  '--checksum'
];
$Conf{RsyncArgs} = [
  '--super',
  '--recursive',
  '--protect-args',
  '--numeric-ids',
  '--perms',
  '--owner',
  '--group',
  '-D',
  '--times',
  '--links',
  '--hard-links',
  '--delete',
  '--partial',
  '--log-format=log: %o %i %B %8U,%8G %9l %f%L',
  '--stats'
];
$Conf{RsyncArgsExtra} = [];
$Conf{RsyncRestoreArgs} = [
  '--recursive',
  '--super',
  '--protect-args',
  '--numeric-ids',
  '--perms',
  '--owner',
  '--group',
  '-D',
  '--times',
  '--links',
  '--hard-links',
  '--delete',
  '--partial',
  '--log-format=log: %o %i %B %8U,%8G %9l %f%L',
  '--stats'
];
$Conf{FtpShareName} = [
  ''
];
$Conf{FtpUserName} = '';
$Conf{FtpPasswd} = '';
$Conf{FtpPassive} = '1';
$Conf{FtpBlockSize} = 10240;
$Conf{FtpPort} = 21;
$Conf{FtpTimeout} = 120;
$Conf{FtpFollowSymlinks} = '0';
$Conf{ArchiveDest} = '/tmp';
$Conf{ArchiveComp} = 'gzip';
$Conf{ArchivePar} = '0';
$Conf{ArchiveSplit} = 0;
$Conf{ArchiveClientCmd} = '$Installdir/bin/BackupPC_archiveHost $tarCreatePath $splitpath $parpath $host $backupnumber $compression $compext $splitsize $archiveloc $parfile *';
$Conf{SshPath} = '/usr/bin/ssh';
$Conf{NmbLookupPath} = '/usr/bin/nmblookup';
$Conf{NmbLookupCmd} = '$nmbLookupPath -A $host';
$Conf{NmbLookupFindHostCmd} = '$nmbLookupPath $host';
$Conf{FixedIPNetBiosNameCheck} = '0';
$Conf{PingPath} = '/usr/bin/ping';
$Conf{PingCmd} = '$pingPath -c 1 -w 3 $host';
$Conf{PingMaxMsec} = 20;
$Conf{CompressLevel} = 3;
$Conf{ClientTimeout} = 72000;
$Conf{DumpPreUserCmd} = undef;
$Conf{DumpPostUserCmd} = undef;
$Conf{DumpPreShareCmd} = undef;
$Conf{DumpPostShareCmd} = undef;
$Conf{RestorePreUserCmd} = undef;
$Conf{RestorePostUserCmd} = undef;
$Conf{ArchivePreUserCmd} = undef;
$Conf{ArchivePostUserCmd} = undef;
$Conf{UserCmdCheckStatus} = '0';
$Conf{ClientNameAlias} = undef;
$Conf{SendmailPath} = '/usr/sbin/sendmail';
$Conf{EMailNotifyMinDays} = '2.5';
$Conf{EMailFromUserName} = 'backuppc';
$Conf{EMailAdminUserName} = 'backuppc';
$Conf{EMailUserDestDomain} = '@{MY_DOMAIN}';
$Conf{EMailNoBackupEverSubj} = undef;
$Conf{EMailNoBackupEverMesg} = undef;
$Conf{EMailNotifyOldBackupDays} = 7;
$Conf{EMailNoBackupRecentSubj} = undef;
$Conf{EMailNoBackupRecentMesg} = undef;
$Conf{EMailNotifyOldOutlookDays} = 5;
$Conf{EMailOutlookBackupSubj} = undef;
$Conf{EMailOutlookBackupMesg} = undef;
$Conf{EMailHeaders} = 'MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
';
$Conf{CgiAdminUserGroup} = '';
$Conf{CgiAdminUsers} = '{ADMIN_USER}';
$Conf{SCGIServerPort} = -1;
$Conf{CgiURL} = 'http://{BACKUPPC_HOST}.{MY_DOMAIN}/cgi-bin/BackupPC_Admin';
$Conf{RrdToolPath} = '/usr/bin/rrdtool';
$Conf{Language} = 'en';
$Conf{CgiUserHomePageCheck} = '';
$Conf{CgiUserUrlCreate} = 'mailto:%s';
$Conf{CgiDateFormatMMDD} = 1;
$Conf{CgiNavBarAdminAllHosts} = '1';
$Conf{CgiSearchBoxEnable} = '1';
nf{CgiNavBarLinks} = [
  {
    'link' => '?action="">
    'lname' => 'Documentation',
    'name' => undef
  },
  {
    'lname' => undef,
    'name' => 'Wiki'
  },
  {
    'lname' => undef,
    'name' => 'SourceForge'
  }
];
$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'
};
$Conf{CgiHeaders} = '<meta http-equiv="pragma" content="no-cache">';
$Conf{CgiImageDir} = '/var/www/html/BackupPC';
$Conf{CgiExt2ContentType} = {};
$Conf{CgiImageDirURL} = '/BackupPC';
$Conf{CgiCSSFile} = 'BackupPC_stnd.css';
$Conf{CgiUserConfigEditEnable} = '1';
$Conf{CgiUserConfigEdit} = {
  'EMailOutlookBackupSubj' => '1',
  'ClientCharset' => '1',
  'TarFullArgs' => '1',
  'RsyncdPasswd' => '1',
  'FtpBlockSize' => '1',
  'IncrKeepCnt' => '1',
  'FixedIPNetBiosNameCheck' => '1',
  'SmbShareUserName' => '1',
  'EMailFromUserName' => '1',
  'ArchivePreUserCmd' => '0',
  'PingCmd' => '0',
  'FullAgeMax' => '1',
  'FtpUserName' => '1',
  'PingMaxMsec' => '1',
  'CompressLevel' => '1',
  'DumpPreShareCmd' => '0',
  'BackupFilesOnly' => '1',
  'EMailNotifyOldBackupDays' => '1',
  'EMailAdminUserName' => '1',
  'BlackoutPeriods' => '1',
  'NmbLookupFindHostCmd' => '0',
  'MaxOldPerPCLogFiles' => '1',
  'TarClientCmd' => '0',
  'EMailNotifyOldOutlookDays' => '1',
  'SmbSharePasswd' => '1',
  'SmbClientIncrCmd' => '0',
  'FullKeepCntMin' => '1',
  'RsyncArgs' => '1',
  'FtpFollowSymlinks' => '1',
  'ArchiveComp' => '1',
  'TarIncrArgs' => '1',
  'EMailUserDestDomain' => '1',
  'TarClientPath' => '0',
  'RestoreInfoKeepCnt' => '1',
  'UserCmdCheckStatus' => '0',
  'RsyncdClientPort' => '1',
  'IncrAgeMax' => '1',
  'RsyncdUserName' => '1',
  'RsyncRestoreArgs' => '1',
  'ClientCharsetLegacy' => '1',
  'SmbClientFullCmd' => '0',
  'ArchiveInfoKeepCnt' => '1',
  'FtpShareName' => '1',
  'BackupZeroFilesIsFatal' => '1',
  'EMailNoBackupRecentMesg' => '1',
  'FtpPort' => '1',
  'FullKeepCnt' => '1',
  'TarShareName' => '1',
  'RsyncFullArgsExtra' => '1',
  'EMailNoBackupEverSubj' => '1',
  'TarClientRestoreCmd' => '0',
  'EMailNoBackupRecentSubj' => '1',
  'ArchivePar' => '1',
  'XferLogLevel' => '1',
  'RsyncSshArgs' => '1',
  'ArchiveDest' => '1',
  'RsyncdAuthRequired' => '1',
  'ClientTimeout' => '1',
  'EMailNotifyMinDays' => '1',
  'SmbClientRestoreCmd' => '0',
  'ClientNameAlias' => '1',
  'DumpPostShareCmd' => '0',
  'EMailOutlookBackupMesg' => '1',
  'BlackoutBadPingLimit' => '1',
  'BackupFilesExclude' => '1',
  'FullPeriod' => '1',
  'ArchivePostUserCmd' => '0',
  'IncrPeriod' => '1',
  'RsyncShareName' => '1',
  'FtpTimeout' => '1',
  'RestorePostUserCmd' => '0',
  'BlackoutGoodCnt' => '1',
  'ArchiveClientCmd' => '0',
  'ArchiveSplit' => '1',
  'FtpRestoreEnabled' => '1',
  'XferMethod' => '1',
  'NmbLookupCmd' => '0',
  'BackupsDisable' => '1',
  'SmbShareName' => '1',
  'FtpPasswd' => '1',
  'RestorePreUserCmd' => '0',
  'RsyncArgsExtra' => '1',
  'IncrKeepCntMin' => '1',
  'EMailNoBackupEverMesg' => '1',
  'EMailHeaders' => '1',
  'DumpPreUserCmd' => '0',
  'FillCycle' => '1',
  'RsyncClientPath' => '0',
  'DumpPostUserCmd' => '0'
};

On Sat, Jul 25, 2015 at 4:32 AM, Bob of Donelson Trophy <bob AT donelsontrophy DOT net> wrote:

Thanks for the reply, David.

I have thought about switching distro to CentOS. I have seen other mailing posts that mention the use of it and have some experience with CentOS. (Not that I am against Ubuntu or Debian, they are my primary distros . . . no offense, anyone.)

I do not have a problem with untarring, etc. My main issue is where to place what. There is an "html-dir" directory that I am not sure where to put it (i.e. /usr/share/backuppc/html or somewhere in Apache2?) And so I cannot get the URL to allow access via the webpage (http://[ip address]/backuppc.)And then the permissions required for backuppc user to access the cgi-bin files?

Could I see a copy (sanitized, if you like) of your configure.pl file? Where you chose to place various directories might help me figure out what I am doing wrong.

 

---

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

On 2015-07-24 17:18, David Cramblett wrote:

Bob,
 
What kind of issue are you running in to? I installed about 6-9 months ago on CentOS 7. I didn't write down any instructions though - I'm terrible about that. I only ran into a couple of issues that I can recall:
 
1) Dependencies - A few were missing and I had manually install them. I think the BackupPC install script listed the dependencies, and whether I had them installed or not. I would just cancel the installer, add the missing dependencies, and then re-run the installer. A couple of libraries, I couldn't identify the package off the top of my head, but I was able to locate which package had the library from a quick Google search.
 
2) The installer did not have a good init script for the newest version of CentOS I was using. I found a couple tips on the list serve and then wrote my own init script to start BackupPC on system startup for CentOS. The main issue was the temp file system in /var/run/BackupPC was not being created properly, so BackupPC would not start or wouldn't stay running.
 
If you can let me know what specific issue your having, I can try and give you a hand.
 
 
David

On Fri, Jul 24, 2015 at 2:31 PM, Bob of Donelson Trophy <bob AT donelsontrophy DOT net> wrote:

I know this is a very general request but, I have been trying to install BackupPC4.0.0alpha3.tar,gz on Ubuntu 14.04.2 LTS.

It is not as simple as "Install essentials, install BackupPC-XS-0.3.0.tar.gz, install rsync-bpc-3.0.9.3.tar.gz, install BackupPC4.0.0alpha3.tar.gz., etc."

I believe I have solved most of my dependencies issues.

Does anyone have any notes to better guide me than the information that I cannot find on the net?

--

_______________________________

Bob Wooden of Donelson Trophy

615.885.2846
www.donelsontrophy.com

"Everyone deserves an award!!"

------------------------------------------------------------------------------

_______________________________________________
BackupPC-users mailing list
BackupPC-users AT lists.sourceforge DOT net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/



 
--
David Cramblett


 
--
David Cramblett


 
--
David Cramblett


 
--
David Cramblett

------------------------------------------------------------------------------

_______________________________________________
BackupPC-users mailing list
BackupPC-users AT lists.sourceforge DOT net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/

------------------------------------------------------------------------------

_______________________________________________
BackupPC-users mailing list
BackupPC-users AT lists.sourceforge DOT net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/

------------------------------------------------------------------------------

_______________________________________________
BackupPC-users mailing list
BackupPC-users AT lists.sourceforge DOT net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/



 
--
David Cramblett


 
--
David Cramblett


 
--
David Cramblett
------------------------------------------------------------------------------
_______________________________________________
BackupPC-users mailing list
BackupPC-users AT lists.sourceforge DOT net
List:    https://lists.sourceforge.net/lists/listinfo/backuppc-users
Wiki:    http://backuppc.wiki.sourceforge.net
Project: http://backuppc.sourceforge.net/