How to Install Proxmox Backup Server on Debian 11

Updated on November 21, 2023
How to Install Proxmox Backup Server on Debian 11 header image

Introduction

Proxmox Backup Server is an open-source backup solution capable of backing up virtual machines, containers, and physical hosts. It integrates with the Proxmox Virtual Environment platform providing seamless backups of your virtual machines and containers. It allows backing up data on the host and remotely. In addition, it comes with a user-friendly web-based management interface that enables you to control everything easily.

This article demonstrates the steps to install Proxmox Backup Server on Debian 11, serve management interface with Nginx and secure it with an SSL Certificate.

Prerequisites

  • Deploy a fresh Debian 11 server
  • Point a subdomain to your server

Install Proxmox Backup Server

  1. Set Hostname

    Edit /etc/hostname.

     # nano /etc/hostname

    Overwrite the file with following content and save using Ctrl + X then Enter.

     pbs.example.com

    Edit /etc/hosts.

     # nano /etc/hosts

    Add the following line and save the file using Ctrl + X then Enter.

     127.0.0.1 pbs.example.com

    Reboot the server.

     # reboot

    Check if the system hostname matches your subdomain.

     # hostname

    Check if the system hostname resolves as 127.0.0.1.

     # ping pbs.example.com
  2. Add Repository

    Add GPG key to the APT sources keyring.

     # wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg

    Edit /etc/apt/sources.list.

     # nano /etc/apt/sources.list

    Add the following line and save the file using Ctrl + X then Enter.

     deb http://download.proxmox.com/debian/pbs bullseye pbs-no-subscription
  3. Install Package

    Refresh package list.

     # apt update

    Install proxmox-backup package.

     # apt install proxmox-backup

    Select "Internet with smarthost" in Postfix installation wizard & leave the rest set as default.

    Reboot the server.

     # reboot
  4. Verify Installation

    Open the following link in your web browser to verify if the installation was successful.

     https://pbs.example.com:8007

Serve Management Interface Using Nginx

This section demonstrates the steps to configure Nginx as a reverse proxy for serving the management interface. Some environments might not allow making connections to port 8007. Using Nginx as a reverse proxy ensures port standardization.

  1. Install Package

     # apt install nginx
  2. Add Virtual Host

    Create a new file /etc/nginx/sites-available/pbs.

     # nano /etc/nginx/sites-available/pbs

    Add the following content and save the file using Ctrl + X then Enter.

     server {
    
         listen 80;
         server_name pbs.example.com;
    
         proxy_redirect off;
         location / {
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection "upgrade"; 
             proxy_pass https://localhost:8007;
             proxy_buffering off;
             client_max_body_size 0;
             proxy_connect_timeout  3600s;
             proxy_read_timeout  3600s;
             proxy_send_timeout  3600s;
             send_timeout  3600s;
         }
    
     }

    Add a soft link to the sites-enabled directory to enable virtual host.

     # ln -s /etc/nginx/sites-available/pbs /etc/nginx/sites-enabled/

    Test the configuration.

     # nginx -t

    Reload the service.

     # systemctl reload nginx
  3. Verify Access

    Open the following link in your web browser to verify.

     http://pbs.example.com

Secure Management Interface using an SSL Certificate

As Proxmox Backup Server uses a self-signed SSL certificate by default, you see a warning saying a trusted certificate authority does not issue the SSL. You can avoid the warning using Certbot to install a free Let's Encrypt SSL certificate.

  1. Install Package

     # apt install certbot python3-certbot-nginx
  2. Install Certificate on Nginx

     # certbot --nginx -d pbs.example.com
  3. Verify SSL

    Open the following link in your web browser to verify.

     https://pbs.example.com
  4. Test Auto-Renewal

    The following command ensures that the Certbot can validate your subdomain with your configuration.

     # certbot renew --dry-run

Configure Firewall

  1. Install ufw package.

     # apt install ufw
  2. Allow SSH Connections.

     # ufw allow 'SSH'
  3. Allow HTTP & HTTPS Connections.

     # ufw allow 'Nginx Full'
  4. Enable the firewall.

     # ufw enable

Conclusion

In this article, you installed Proxmox Backup Server on Debian 11, used Nginx as a reverse proxy for management interface & installed an SSL Certificate using certbot. For more information related to FastAPI, visit the official Proxmox Backup Server documentation.