{"id":5891,"date":"2020-05-17T23:36:22","date_gmt":"2020-05-17T20:36:22","guid":{"rendered":"https:\/\/kifarunix.com\/?p=5891"},"modified":"2024-03-14T20:32:42","modified_gmt":"2024-03-14T17:32:42","slug":"install-and-setup-backuppc-server-on-ubuntu-20-04","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/install-and-setup-backuppc-server-on-ubuntu-20-04\/","title":{"rendered":"Install and Setup BackupPC Server on Ubuntu 20.04"},"content":{"rendered":"\n<p>In this guide, we are going to learn how to install and setup BackupPC Server on Ubuntu 20.04. <a href=\"https:\/\/backuppc.github.io\/backuppc\/\" target=\"_blank\" rel=\"noreferrer noopener\">BackupPC<\/a>\u00a0is a high-performance enterprise-grade cross-platform backup software suite with a web-based frontend. It can be used for backing up Linux, Windows and Mac OSXs PCs and laptops to a server\u2019s disk. <\/p>\n\n\n\n<p>BackupPC provides quite a number of features;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Provides a&nbsp;<strong>web interface<\/strong>&nbsp;which allows administrators to view log files, configuration, current status and allows users to initiate and cancel backups and browse and restore files from backups.<\/li>\n\n\n\n<li>It supports&nbsp;<strong>Data deduplication<\/strong>: Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I\/O.<\/li>\n\n\n\n<li>It supports data&nbsp;<strong>Compression<\/strong>: Since only new files (not already pooled) need to be compressed, there is only a modest impact on CPU time.<\/li>\n\n\n\n<li>It is&nbsp;<strong>Open-source<\/strong>: BackupPC is hosted on&nbsp;<a href=\"https:\/\/github.com\/backuppc\/backuppc\" target=\"_blank\" rel=\"noopener\">Github<\/a>, and is distributed under a GPL license.<\/li>\n\n\n\n<li>No client-side software is needed.<\/li>\n\n\n\n<li>A full set of restore options is supported, including direct restore (via smbclient, tar, or rsync\/rsyncd) or downloading a zip or tar file.<\/li>\n<\/ul>\n\n\n\n<p>Read more on <a rel=\"noreferrer noopener\" href=\"https:\/\/backuppc.github.io\/backuppc\/info.html\" target=\"_blank\">About BackupPC<\/a>&nbsp;page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing BackupPC Server on Ubuntu 20.04<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Update System packages<\/h3>\n\n\n\n<p>To begin with, ensure that your system packages are up-to-date.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt update<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt upgrade<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Install BackupPC<\/h3>\n\n\n\n<p>As of this writing, BackupPC 4.3.2 is the latest stable release version. Unfortunately, the default Ubuntu 20.04 repos provides BackupPC 3.3.2;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt show backuppc<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Package: backuppc\nVersion: 3.3.2-3\nPriority: optional\nSection: utils\nOrigin: Ubuntu\nMaintainer: Ubuntu Developers &lt;ubuntu-devel-discuss@lists.ubuntu.com&gt;\nOriginal-Maintainer: Debian BackupPC Team &lt;team+pkg-backuppc@tracker.debian.org&gt;\nBugs: https:\/\/bugs.launchpad.net\/ubuntu\/+filebug\nInstalled-Size: 2,314 kB\n...\nHomepage: https:\/\/backuppc.github.io\/backuppc\/\nDownload-Size: 460 kB\nAPT-Sources: http:\/\/ke.archive.ubuntu.com\/ubuntu focal\/main amd64 Packages<\/code><\/pre>\n\n\n\n<p>As such, we are going to build BackupPC 4 on Ubuntu 20.04 from source.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Install Required Dependencies<\/h4>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apt install apache2 apache2-utils libapache2-mod-perl2 par2 perl smbclient rsync tar gcc zlib1g zlib1g-dev rrdtool git make perl-doc libnss-winbind winbind libarchive-zip-perl libfile-listing-perl libxml-rss-perl libcgi-session-perl libacl1-dev curl -y<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Create BackupPC User<\/h4>\n\n\n\n<p>BackupPC is usually run by a low privileged <code><strong>backuppc<\/strong><\/code> user with <code><strong>\/var\/lib\/backuppc<\/strong><\/code> as the working directory. As such, create a backuppc system user by executing the command below;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>useradd -r -m -d \/var\/lib\/backuppc -s \/bin\/bash -c \"BackupPC user\" backuppc<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Build and Install BackupPC XS<\/h4>\n\n\n\n<p>BackupPC V4+ requires BackupPC XS, a perl module that implements various BackupPC functions in a perl-callable module.<\/p>\n\n\n\n<p>Download BackupPC XS source code;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>git clone https:\/\/github.com\/backuppc\/backuppc-xs.git<\/code><\/pre>\n\n\n\n<p>Build and install BackupPC XS;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>cd backuppc-xs\/<\/code><\/pre>\n\n\n\n<p>To install this module, run the following commands:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>perl Makefile.PL<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>make<\/code><\/pre>\n\n\n\n<p>Run the <code>make test<\/code> to verify the correctness of the compilation of the module;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>make test<\/code><\/pre>\n\n\n\n<p>If everything is in order, the result should be pass;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>t\/BackupPC_XS.t .. ok\n<strong>All tests successful.<\/strong>\nFiles=1, Tests=1, 0 wallclock secs ( 0.00 usr 0.04 sys + 0.07 cusr 0.03 csys = 0.14 CPU)\n<strong>Result: PASS<\/strong><\/code><\/pre>\n\n\n\n<p>Install BackupPC XS module;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>make install<\/code><\/pre>\n\n\n\n<p>There are other optional but highly RECOMMENDED modules that have been installed on the requirements section above.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Install BackupPC rsync_bpc<\/h4>\n\n\n\n<p>In order to be able to backup clients using <code>rsync<\/code> command, you need <code>rsync_bpc<\/code> module installed. Rsync-bpc is a customized version of rsync that is used as part of BackupPC.<\/p>\n\n\n\n<p>Download rsync_bpc source code;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>cd ~<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>git clone https:\/\/github.com\/backuppc\/rsync-bpc.git<\/code><\/pre>\n\n\n\n<p>Compile and install the rsync_bpc module;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>cd rsync-bpc<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>.\/configure<\/code><\/pre>\n\n\n\n<p>This configures rsync_bpc with the default options. You can check other configuration options with the command, <code>.\/configure --help<\/code>.<\/p>\n\n\n\n<p>Compile and install rsync_bpc;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>make<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>make install<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Install BackupPC on Ubuntu 20.04<\/h4>\n\n\n\n<p>Once all the above is done, you can now install BackupPC itself. Download the source code cloning the Github repository;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>cd ~<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>git clone https:\/\/github.com\/backuppc\/backuppc.git<\/code><\/pre>\n\n\n\n<p>Navigate to backup source directory;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>cd backuppc<\/code><\/pre>\n\n\n\n<p>Generate the latest release BackupPC tarball from the source file and BackupPC build tools;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>VER=`curl --silent \"https:\/\/api.github.com\/repos\/backuppc\/backuppc\/releases\/latest\" | grep '\"tag_name\":' | sed -E 's\/.*\"([^\"]+)\".*\/\\1\/'`<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>.\/makeDist --nosyntaxCheck --releasedate 'date -u \"+%d %b %Y\"' --version $VER<\/code><\/pre>\n\n\n\n<p>This creates BackupPC tarball and store it under distr directory in the current working directory as, for example, <strong>dist\/BackupPC-4.3.2.tar.gz<\/strong>, for the current stable release (as of this writing).<\/p>\n\n\n\n<p>Extract the source code;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>tar zxf dist\/BackupPC-*.tar.gz<\/code><\/pre>\n\n\n\n<p>Build and install BackupPC server;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>cd BackupPC-*<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>perl configure.pl<\/code><\/pre>\n\n\n\n<p>The script when executed in this way, will run interactively. Answer the prompts accordingly. Press <strong>ENTER<\/strong> to accept the defaults.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Is this a new installation or upgrade for BackupPC?  If this is\nan upgrade please tell me the full path of the existing BackupPC\nconfiguration file (eg: \/etc\/BackupPC\/config.pl).  Otherwise, just\nhit return.\n\n--&gt; Full path to existing main config.pl &#91;]? \n\nI found the following locations for these programs:\n\n    bzip2        =&gt; \/usr\/bin\/bzip2\n    cat          =&gt; \/usr\/bin\/cat\n    df           =&gt; \/usr\/bin\/df\n    gtar\/tar     =&gt; \/usr\/bin\/tar\n    gzip         =&gt; \/usr\/bin\/gzip\n    hostname     =&gt; \/usr\/bin\/hostname\n    nmblookup    =&gt; \/usr\/bin\/nmblookup\n    par2         =&gt; \/usr\/bin\/par2\n    perl         =&gt; \/usr\/bin\/perl\n    ping         =&gt; \/usr\/bin\/ping\n    ping6        =&gt; \/usr\/bin\/ping6\n    rrdtool      =&gt; \/usr\/bin\/rrdtool\n    rsync        =&gt; \/usr\/bin\/rsync\n    rsync_bpc    =&gt; \/usr\/local\/bin\/rsync_bpc\n    sendmail     =&gt; \n    smbclient    =&gt; \/usr\/bin\/smbclient\n    split        =&gt; \/usr\/bin\/split\n    ssh\/ssh2     =&gt; \/usr\/bin\/ssh\n\n--&gt; Are these paths correct? &#91;y]? y\n\nPlease tell me the hostname of the machine that BackupPC will run on.\n\n--&gt; BackupPC will run on host &#91;ubuntu20]? \n\nBackupPC should run as a dedicated user with limited privileges.  You\nneed to create a user.  This user will need read\/write permission on\nthe main data directory and read\/execute permission on the install\ndirectory (these directories will be setup shortly).\n\nThe primary group for this user should also be chosen carefully.\nThe data directories and files will have group read permission,\nso group members can access backup files.\n\n--&gt; BackupPC should run as user &#91;backuppc]?\n\nPlease specify an install directory for BackupPC.  This is where the\nBackupPC scripts, library and documentation will be installed.\n\n--&gt; Install directory (full path) &#91;\/usr\/local\/BackupPC]? \n\nPlease specify a data directory for BackupPC.  This is where all the\nPC backup data is stored.  This file system needs to be big enough to\naccommodate all the PCs you expect to backup (eg: at least several GB\nper machine).\n\n--&gt; Data directory (full path) &#91;\/data\/BackupPC]? \/var\/lib\/backuppc\n\nBackupPC has SCGI and CGI perl interfaces that run under Apache.  You need\nto pick which one to run.\n\n...\nThe traditional alternative is to use CGI.  In this case, an executable needs\nto be installed Apache's cgi-bin directory.  This executable needs to run as\nset-uid backuppc, or it can be run under mod_perl with Apache\nrunning as user backuppc.\n\n--&gt; SCGI port (-1 to disable) &#91;-1]? \n--&gt; CGI bin directory (full path, or empty for no CGI) &#91;]? \/var\/www\/cgi-bin\/BackupPC\n\nBackupPC's CGI and SCGI script need to display various PNG\/GIF\nimages that should be stored where Apache can serve them.  They\nshould be placed somewhere under Apache's DocumentRoot.  BackupPC\nalso needs to know the URL to access these images.  Example:\n\n    Apache image directory:  \/var\/www\/htdocs\/BackupPC\n    URL for image directory: \/BackupPC\n\nThe URL for the image directory should start with a slash.\n\n--&gt; Apache image directory (full path, or empty for no S\/CGI) &#91;]? \/var\/www\/html\/BackupPC\n--&gt; URL for image directory (omit http:\/\/host; starts with '\/', or empty for no S\/CGI) &#91;]? \/BackupPC\n\nOk, we're about to:\n\n  - install the binaries, lib and docs in \/usr\/local\/BackupPC\n  - create the data directory \/var\/lib\/backuppc\n  - optionally install the cgi-bin interface\n  - create\/update the config.pl file \/etc\/BackupPC\/config.pl\n\n--&gt; Do you want to continue? &#91;y]?y\n...\nOk, it looks like we are finished.  There are several more things you\nwill need to do:\n\n  - Browse through the config file, \/etc\/BackupPC\/config.pl,\n    and make sure all the settings are correct.  In particular,\n    you will need to set $Conf{CgiAdminUsers} so you have\n    administration privileges in the CGI interface.\n\n  - Edit the list of hosts to backup in \/etc\/BackupPC\/hosts.\n\n  - Read the documentation in \/usr\/local\/BackupPC\/doc\/BackupPC.html.\n    Please pay special attention to the security section.\n\n  - Verify that the CGI script BackupPC_Admin runs correctly.  You might\n    need to change the permissions or group ownership of BackupPC_Admin.\n    If this is an upgrade and you are using mod_perl, you will need\n    to restart Apache.  Otherwise it will have stale code.\n\n  - BackupPC should be ready to start.  Don't forget to run it\n    as user backuppc!  The installation also contains\n    a systemd\/backuppc.service script that can be installed so\n    that BackupPC can auto-start on boot.  This will also enable\n    administrative users to start the server from the CGI interface.\n    See systemd\/README.\n\nEnjoy!<\/code><\/pre>\n\n\n\n<p>If you want to run non-interactive installation;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>.\/configure.pl --batch --cgi-dir \/var\/www\/cgi-bin\/BackupPC --data-dir \/var\/lib\/backuppc --hostname ubuntu20 --html-dir \/var\/www\/html\/BackupPC --html-dir-url \/BackupPC --install-dir \/usr\/local\/BackupPC<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Configure Apache Web Server for BackupPC<\/h3>\n\n\n\n<p>Copy the sample BackupPC Apache configuration file to Apache enabled configurations directory;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>cp ~\/backuppc\/BackupPC-*\/httpd\/BackupPC.conf \/etc\/apache2\/conf-available\/<\/code><\/pre>\n\n\n\n<p>Next, configure Apache to allow external access to BackupPC;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>sed -i 's\/Require local\/Require all granted\/' \/etc\/apache2\/conf-available\/BackupPC.conf<\/code><\/pre>\n\n\n\n<p>Configure Apache to run as BackupPC user, <code>backuppc<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>sed -i 's\/www-data\/backuppc\/g' \/etc\/apache2\/envvars<\/code><\/pre>\n\n\n\n<p>Remove the set-uid from BackupPC admin CGI file;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>chmod u-s \/var\/www\/cgi-bin\/BackupPC\/BackupPC_Admin<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Configure BackupPC Apache Basic Authentication<\/h4>\n\n\n\n<p>Change the Basic authentication file if you so wish;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>sed -i 's#^AuthUserFile.*$#AuthUserFile \/etc\/BackupPC\/.allowed#' \/etc\/apache2\/conf-available\/BackupPC.conf<\/code><\/pre>\n\n\n\n<p>Change the basic authentication message;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>sed -i 's\/^AuthName.*$\/AuthName \"Kifarunix-demo BackupPC Restricted Access\"\/' \/etc\/apache2\/conf-available\/BackupPC.conf<\/code><\/pre>\n\n\n\n<p>Create the BackupPC basic authentication user and password. This information should be stored on a file specified by the value of the&nbsp;<code><strong>AuthUserFile<\/strong><\/code>&nbsp;parameter above. For example, to create web authentication user called&nbsp;<code>kifarunixadmin<\/code>;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>htpasswd -c \/etc\/BackupPC\/.allowed kifarunixadmin<\/code><\/pre>\n\n\n\n<p>You can add another user, say&nbsp;<code>kifarunixuser<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>htpasswd \/etc\/BackupPC\/.allowed kifarunixuser<\/code><\/pre>\n\n\n\n<p>Adjust the ownership and permissions of the auth user file;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>chmod 666 \/etc\/BackupPC\/.allowed<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>chown backuppc:backuppc \/etc\/BackupPC\/.allowed<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Configure BackupPC Administrative User<\/h4>\n\n\n\n<p>Default Administrative user for BackupPC is defined under CGI user interface configuration settings section. Normal users can only access information specific to their host. They can also start\/stop\/browse\/restore backups. Administrative users have full access to all hosts, plus overall status and log information. In this demo, we set the&nbsp;<code><strong>kifarunixadmin<\/strong><\/code>&nbsp;user as BackupPC admin.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>vim \/etc\/BackupPC\/config.pl<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>$Conf{CgiAdminUserGroup} = 'kifarunixadmin';\n$Conf{CgiAdminUsers} = 'kifarunixadmin';<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Define BackupPC Client Backup User<\/h3>\n\n\n\n<p>By default, BackupPC uses the root user on the backup clients for backup purposes.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>$Conf{RsyncSshArgs} = [\n        '-e', '$sshPath -l <strong>root<\/strong>',\n];<\/code><\/pre>\n\n\n\n<p>It is more secure to allow backup via a low-privileged user. In this demo, we will create a non-privileged user,&nbsp;<code><strong>backuppc<\/strong><\/code>, on every client to backup&nbsp;<code>which is only allowed to run rsync command with sudo rights<\/code>&nbsp;for backup purposes. Therefore, change this user accordingly.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>$Conf{RsyncSshArgs} = [\n        '-e', '$sshPath -l <strong>backuppc<\/strong>',\n];<\/code><\/pre>\n\n\n\n<p>We will leave other Rsync settings with the default options.\\<\/p>\n\n\n\n<p><strong>Note that all these configurations are overwritable via the per-client configuration.<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Enable BackupPC Apache configuration and CGI modules;<\/h4>\n\n\n\n<p>Run the commands below to enable BackupPC Apache configuration and CGI modules;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>a2enconf BackupPC<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>a2enmod cgid<\/code><\/pre>\n\n\n\n<p>Disable Apache default site and Disable directory listing;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>a2dissite 000-default.conf<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>mv \/var\/www\/html\/index.html \/var\/www\/html\/index.html.old<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>sed -i 's\/Options Indexes FollowSymLinks\/Options -Indexes +FollowSymLinks\/' \/etc\/apache2\/apache2.conf<\/code><\/pre>\n\n\n\n<p>Hide web server version on error pages;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>echo -e 'ServerSignature Off\\nServerTokens Prod' &gt;&gt; \/etc\/apache2\/apache2.conf<\/code><\/pre>\n\n\n\n<p>Check Apache for any errors;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>apachectl -t<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>Syntax OK<\/code><\/pre>\n\n\n\n<p>Start and enable Apache to run on system boot;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl enable --now apache2<\/code><\/pre>\n\n\n\n<p>Restart Apache if it were already running;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl restart apache2<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Running BackupPC Service<\/h3>\n\n\n\n<p>Copy BackupPC sample systemd service file from the source directory;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>cp ~\/backuppc\/BackupPC-*\/systemd\/backuppc.service \/etc\/systemd\/system\/<\/code><\/pre>\n\n\n\n<p>Edit the service group;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>sed -i 's\/^#Group\/Group\/' \/etc\/systemd\/system\/backuppc.service<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>sed -i 's#PIDFile=\/var\/run\/#PIDFile=\/run\/#' \/etc\/systemd\/system\/backuppc.service<\/code><\/pre>\n\n\n\n<p>Reload systemd service configuration;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl daemon-reload<\/code><\/pre>\n\n\n\n<p>Start and enable BackupPC service;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl enable --now backuppc<\/code><\/pre>\n\n\n\n<p>To check the status;<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>systemctl status backuppc<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\u25cf backuppc.service - BackupPC server\n     Loaded: loaded (\/etc\/systemd\/system\/backuppc.service; enabled; vendor preset: enabled)\n     Active: active (running) since Sun 2020-05-17 19:29:38 UTC; 7s ago\n   Main PID: 3772 (BackupPC)\n      Tasks: 1 (limit: 2283)\n     Memory: 8.6M\n     CGroup: \/system.slice\/backuppc.service\n             \u2514\u25003772 \/usr\/bin\/perl \/usr\/local\/BackupPC\/bin\/BackupPC\n\nMay 17 19:29:38 ubuntu20 systemd&#91;1]: Started BackupPC server.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Accessing BackupPC Web User Interface<\/h2>\n\n\n\n<p>If firewall is running, allow external access to Apache.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>ufw allow 80\/tcp<\/code><\/pre>\n\n\n\n<p>You can now access BackupPC via the URL&nbsp;<strong><code>http:\/\/server_IP_OR_hostname\/BackupPC_Admin<\/code><\/strong>.<\/p>\n\n\n\n<p>Authenticate and proceed to BackupPC web dashboard.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"985\" height=\"205\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/basic-auth.png\" alt=\"Install and Setup BackupPC Server on Ubuntu 20.04\" class=\"wp-image-5894\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/basic-auth.png?v=1589745663 985w, https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/basic-auth-768x160.png?v=1589745663 768w\" sizes=\"(max-width: 985px) 100vw, 985px\" \/><\/figure>\n\n\n\n<p>When you authenticate as admin user, this is the interface you get;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1909\" height=\"790\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/backuppc-admin.png\" alt=\"Install and Setup BackupPC Server on Ubuntu 20.04\" class=\"wp-image-5895\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/backuppc-admin.png?v=1589745874 1909w, https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/backuppc-admin-768x318.png?v=1589745874 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/backuppc-admin-1536x636.png?v=1589745874 1536w\" sizes=\"(max-width: 1909px) 100vw, 1909px\" \/><\/figure>\n\n\n\n<p>When you authenticate as non admin user, this is the interface you get;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1908\" height=\"494\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/backuppc-user.png\" alt=\"Install and Setup BackupPC Server on Ubuntu 20.04\" class=\"wp-image-5896\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/backuppc-user.png?v=1589745974 1908w, https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/backuppc-user-768x199.png?v=1589745974 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2020\/05\/backuppc-user-1536x398.png?v=1589745974 1536w\" sizes=\"(max-width: 1908px) 100vw, 1908px\" \/><\/figure>\n\n\n\n<p>BackupPC is now installed on Ubuntu 20.04. You can now go ahead and add hosts for backing up;<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/kifarunix.com\/how-to-install-and-configure-backuppc-as-a-backup-server-on-ubuntu-18-04\/#backuplinuxwithbackuppc\" target=\"_blank\">Backup Linux systems with BackupPC using Rsync Protocol<\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/kifarunix.com\/backup-windows-system-via-smb-using-backuppc\/\" target=\"_blank\">Backup Windows System via SMB Using BackupPC<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/backup-windows-system-with-backuppc-using-rsyncd\/\" target=\"_blank\" rel=\"noreferrer noopener\">Backup Windows System with BackupPC Using Rsyncd<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Reference<\/h3>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/backuppc\/backuppc\/wiki\/Installing-BackupPC-4-from-tarball-or-git-on-Ubuntu\" target=\"_blank\">Installing BackupPC 4 from tarball or git on Ubuntu<\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/backuppc.github.io\/backuppc\/BackupPC.html#Installing-BackupPC\" target=\"_blank\">BackupPC Documentation: Installing BackupPC<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Other Related Tutorials<\/h3>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/kifarunix.com\/install-and-configure-backuppc-on-debian-10\/\" target=\"_blank\">Install and Configure BackupPC on Debian 10<\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/kifarunix.com\/how-to-install-and-configure-backuppc-as-a-backup-server-on-ubuntu-18-04\/\" target=\"_blank\">How to Install and Configure BackupPC as a Backup Server on Ubuntu 18.04<\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/kifarunix.com\/install-and-configure-backuppc-on-centos-8\/\" target=\"_blank\">Install and Configure BackupPC on CentOS 8<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this guide, we are going to learn how to install and setup BackupPC Server on Ubuntu 20.04. BackupPC\u00a0is a high-performance enterprise-grade cross-platform backup software<\/p>\n","protected":false},"author":3,"featured_media":5895,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[907,121,39],"tags":[1605,1606,1604,1602,1601,1603,1200],"class_list":["post-5891","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-backuppc","category-howtos","category-storage","tag-backup-linux-backuppc","tag-backup-windows-backuppc","tag-backuppc-server","tag-configure-backuppc-ubuntu-20-04","tag-install-backuppc-ubuntu-20-04","tag-setup-backuppc-ubuntu-20-04","tag-ubuntu-20-04","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","resize-featured-image"],"_links":{"self":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/5891"}],"collection":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/comments?post=5891"}],"version-history":[{"count":11,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/5891\/revisions"}],"predecessor-version":[{"id":21382,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/5891\/revisions\/21382"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media\/5895"}],"wp:attachment":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media?parent=5891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/categories?post=5891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/tags?post=5891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}