Programster's Blog

Tutorials focusing on Linux, programming, and open-source

Deploy Proxmox Backup Server On Debian 11

Steps

Preparation - Root Password

PBS uses the root user for logging in. Your installation of Debian 11 may not have a password set for the root user, so I would recommend becoming the root user with sudo su and making user there is a password (and you know it), by running:

passwd

Preparation - Networking

Option 1

If you are not using aws, then you can manually create a replacement network interfaces file where every call to source-directory is changed to source, and a /* is put at the end.

sudo cp /etc/network/interfaces /etc/network/interfaces.replacement
sudo editor /etc/network/interfaces.replacement

This will have opened the replacement interfaces file to make the change in. E.g. change:

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

# Cloud images dynamically generate config fragments for newly
# attached interfaces. See /etc/udev/rules.d/75-cloud-ifupdown.rules
# and /etc/network/cloud-ifupdown-helper. Dynamically generated
# configuration fragments are stored in /run:
source-directory /run/network/interfaces.d

to:

# Include files from /etc/network/interfaces.d:
source /etc/network/interfaces.d/*

# Cloud images dynamically generate config fragments for newly
# attached interfaces. See /etc/udev/rules.d/75-cloud-ifupdown.rules
# and /etc/network/cloud-ifupdown-helper. Dynamically generated
# configuration fragments are stored in /run:
source /run/network/interfaces.d/*
# create a backup
sudo cp /etc/network/interfaces /etc/network/interfaces.bak

# Finally replace ifupdown with ifupdown2 and swap out the interfaces file before rebooting
sudo apt-get install ifupdown2 -y \
  && sudo mv /etc/network/interfaces.replacement /etc/network/interfaces \
  && sudo reboot

... and then re-connect to your server (it will have cut out on Removing ifupdown (0.8.36) ...

Option 2 (not recommended)

Unfortunately, the installer removes ifupdown and replaces it with ifupdown2 during the installation. Since AWS servers use cloud-init that relies on ifupdown, you can prevent the installation from doing this by running:

sudo apt-mark hold ifupdown
sudo apt-mark hold ifupdown2 

Install PBS

# Add Proxmox signing key to our trusted list.
sudo wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg \
  -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg

# Add proxmox backup server repository to our sources.
sudo echo "deb http://download.proxmox.com/debian/pbs bullseye pbs-no-subscription" \
  | sudo tee -a /etc/apt/sources.list.d/proxmox-backup-server.list

sudo apt update && sudo apt install proxmox-backup -y

You will br prompted for telling Postfix how to send email. If you are unsure, I would recommend setting "No configuration" and reconfiguring it later.

After that has completed, you can go to your backup server by navigating to:

https://pbs.mydomain.com:8007

... in your browser. You will come across an SSL warning, but just add the exception to continue.

Configure SSL

Proxmox Backup Server will use a self-signed certificate by default, which is why it gives you that warning message when you go to the UI. You can resolve this by either generating and swapping out the certificate files at:

  • /etc/proxmox-backup/proxy.pem (combined site/CA certificate)
  • /etc/proxmox-backup/proxy.key (private key file)

... or you coud simply set up a reverse-proxy in front of it.

Once you have put the certificates in place, set the permissions and restart the PBS service for them to take effect:

chown root:backup /etc/proxmox-backup/proxy.pem /etc/proxmox-backup/proxy.key
chmod 640 /etc/proxmox-backup/proxy.pem /etc/proxmox-backup/proxy.key
systemctl reload proxmox-backup-proxy

References

Last updated: 23rd November 2023
First published: 21st November 2023