How to Install and Configure Proxmox VE on a Bare Metal Dedicated Server

Learn how to install and configure Proxmox VE on a bare metal dedicated server. A complete step-by-step guide covering KVM, LXC, ZFS, networking, and security.

Virtualization has become an essential part of modern IT infrastructure. Whether you're hosting websites, managing development environments, running business applications, or building a private cloud, Proxmox Virtual Environment (Proxmox VE) provides a powerful open-source virtualization platform that combines KVM virtualization and LXC containers in a single management interface.

In this comprehensive guide, you'll learn how to install and configure Proxmox VE on a bare metal dedicated server from start to finish. By following these steps carefully, you'll have a fully functional virtualization platform ready to host virtual machines and containers.

What is Proxmox VE?

Proxmox Virtual Environment (VE) is an enterprise-grade open-source server virtualization platform based on Debian Linux. It allows administrators to manage:

  • KVM Virtual Machines
  • LXC Containers
  • Software-defined Storage
  • High Availability Clusters
  • Network Virtualization
  • Backup and Disaster Recovery

Proxmox is widely used by businesses, developers, hosting providers, and home lab enthusiasts due to its flexibility and powerful web-based management interface.

Prerequisites

Before installing Proxmox VE, ensure your dedicated server meets the following requirements to guarantee optimal performance.

Minimum Hardware Requirements

  • 64-bit CPU with virtualization support (Intel VT-x or AMD-V)
  • 4 GB RAM (8 GB+ recommended)
  • 32 GB storage minimum
  • Network interface card
  • Dedicated IP address

Recommended Hardware

  • Multi-core processor
  • 16 GB RAM or more
  • SSD or NVMe storage
  • Hardware RAID (optional)
  • Multiple network interfaces for advanced networking

Verify Virtualization Support

Boot into a live Linux environment or your current OS and run:

BASH
egrep -c '(vmx|svm)' /proc/cpuinfo

If the output is greater than 0, hardware virtualization is enabled (Example: 8).

What You'll Learn

Phase 1: Download & Installation

1
Download Proxmox VE ISO

Download the latest Proxmox VE ISO image from the official Proxmox website. Verify the downloaded ISO checksum to ensure file integrity:

BASH
sha256sum proxmox-ve_*.iso

Compare the output with the checksum provided by Proxmox.

2
Create Bootable Installation Media

On Linux:

BASH
sudo dd if=proxmox-ve.iso of=/dev/sdX bs=4M status=progress oflag=sync

Note: Replace /dev/sdX with your actual USB drive identifier.

On Windows: Tools like Rufus can be used to create a bootable USB installer.
Crucial: When prompted by Rufus, you must select "DD Image mode". Writing a Proxmox ISO in standard ISO mode often corrupts the installer and causes it to fail during boot.

3
Boot the Dedicated Server

Insert the bootable USB drive and access the server's BIOS or IPMI/KVM console. Set the USB drive as the primary boot device and restart the server. You'll see the Proxmox installation menu. Select Install Proxmox VE and press Enter.

4
Accept License Agreement

The installer will load and display the license agreement. Click I Agree to continue.

5
Configure Storage

Choose the target disk for installation. For production environments, ZFS is highly recommended due to data integrity, snapshots, replication, and RAID capabilities.

  • ext4 or xfs (Standard Linux filesystems)
  • ZFS RAID0 (For a single SSD)
  • ZFS RAID1 (For two SSDs for redundancy)

Click Next after selecting your storage configuration.

6
Configure Region and Time Settings

Select your Country, Time Zone, and Keyboard Layout.
Example: Country: Sri Lanka | Timezone: Asia/Colombo | Keyboard: English (US). Proceed to the next step.

7
Set Administrator Credentials

Create a strong root password (Example: StrongPassword123!). Enter a valid email address for system notifications.

8
Configure Network Settings

Enter your network information. Pay close attention to your Management Interface name. While eno1 is used below, your hardware might name it enp3s0, eth0, etc.

  • Management Interface: eno1
  • Hostname: proxmox.example.com
  • IP Address: 192.168.1.10/24
  • Gateway: 192.168.1.1
  • DNS Server: 8.8.8.8

Review carefully before proceeding and click Install. The installation process usually takes between 5 and 15 minutes.

9
First Boot

After installation completes, remove the installation media and reboot the server. Once booted, you'll see a console screen showing your web interface URL (Example: https://192.168.1.10:8006).

Phase 2: Initial Configuration & Networking

10
Access the Proxmox Web Interface

Open a web browser and navigate to https://SERVER_IP:8006. Login with:

  • Username: root
  • Password: your-root-password
  • Realm: Linux PAM

You now have access to the Proxmox Dashboard.

11
Update Proxmox Packages

Open the shell from the web interface or connect via SSH. Update repositories and upgrade installed packages:

BASH
apt update
apt full-upgrade -y
reboot

12
Configure Enterprise-Free Repository

Many administrators use the free community repository instead of the paid enterprise one.

GUI Method (Recommended for beginners): Navigate to Node -> Updates -> Repositories. Select the pve-enterprise repository and click Disable. Click Add, select No-Subscription, and save. Click Reload to update package lists.

CLI Method (Alternative):

BASH
# Disable enterprise repository
sed -i 's/^deb/#deb/g' /etc/apt/sources.list.d/pve-enterprise.list

# Add the no-subscription repository
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
apt update

13
Create Linux Bridge Networking

Proxmox uses Linux bridges for VM networking. First, view your exact interface name using ip addr. Then edit your network configuration:

BASH
nano /etc/network/interfaces

Example configuration (Ensure eno1 matches the interface found via ip addr):

PLAINTEXT
auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

Apply changes by running systemctl restart networking.

14
Configure Storage for Virtual Machines

Navigate to Datacenter → Storage. Add storage types such as Directory, NFS, CIFS, ZFS, or Ceph. Check available storage via CLI using pvesm status.

Phase 3: VM Creation & Security

15
Upload ISO Images

Navigate to Datacenter → Node → local → ISO Images. Upload operating system ISOs such as Ubuntu Server, Debian, Rocky Linux, or Windows Server. Alternatively, upload via command line:

BASH
scp ubuntu.iso root@server:/var/lib/vz/template/iso/

16
Create Your First Virtual Machine

Click Create VM and configure the following:

  • General: VM ID: 100 | Name: ubuntu-server
  • OS: Select the uploaded ISO.
  • System: Leave default values.
  • Disk: Bus/Device: VirtIO | Disk Size: 50 GB
  • CPU: Cores: 4
  • Memory: RAM: 4096 MB
  • Network: Bridge: vmbr0 | Model: VirtIO

Finish the wizard and start the VM.

17
Enable Firewall Protection

Navigate to Datacenter → Firewall and set Firewall: Yes. Verify via command line:

BASH
pve-firewall status
# Start firewall if required:
systemctl enable pve-firewall
systemctl start pve-firewall

18
Configure Automatic Backups

Navigate to Datacenter → Backup and create a backup job. Recommended schedule: Daily, 02:00 AM, Compression: ZSTD. CLI example:

BASH
vzdump 100 --compress zstd --storage local

19
Secure SSH Access

Install SSH server if needed (apt install openssh-server -y) and edit the configuration (nano /etc/ssh/sshd_config).

CRITICAL WARNING: Do not set PermitRootLogin no. Proxmox nodes communicate via SSH as root. Disabling root login entirely will break cluster communication. Instead, force key-based authentication. Ensure you have generated and deployed SSH keys before applying this change to avoid locking yourself out.

Recommended changes:

PLAINTEXT
PermitRootLogin prohibit-password
PasswordAuthentication no

Restart SSH: systemctl restart ssh

20
Monitor System Health

Useful monitoring commands to keep your server running smoothly:

  • CPU usage: top
  • Memory usage: free -h
  • Disk usage: df -h
  • ZFS status: zpool status
  • Proxmox services: systemctl status pveproxy

Best Practices for Production Deployments

  • Use enterprise-grade SSD or NVMe drives.
  • Configure ZFS RAID for redundancy.
  • Schedule daily backups.
  • Keep Proxmox updated regularly.
  • Enable firewall protection.
  • Use strong passwords and SSH keys.
  • Monitor storage health frequently.
  • Separate management and VM traffic when possible.

Build Your Cloud with Leo Servers

Installing and configuring Proxmox VE on a bare metal dedicated server is one of the most effective ways to build a powerful virtualization environment. With support for KVM virtual machines, LXC containers, advanced storage technologies, and clustering, Proxmox offers enterprise-level capabilities without expensive licensing costs.

Whether you're an IT administrator, hosting provider, or developer, Proxmox VE provides a reliable foundation. Ready to deploy your private cloud?

Explore Bare Metal Dedicated Servers →