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

A complete, step-by-step guide to deploying Proxmox Virtual Environment covering KVM, LXC, networking, storage, and security best practices.

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 easily 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.

Tutorial Contents

Prerequisites

Before installing Proxmox VE, ensure your dedicated server meets the following requirements:

Minimum Hardware

  • 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

If you currently have a Linux OS installed and want to check compatibility, boot into Linux and run:

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

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

Phase 1: Installation Media & Booting

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: Use the dd command.

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 end-user license agreement. Click I Agree to continue.

Phase 2: Core Installation & Setup

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.

Example storage options:

  • 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 and alerts.

8
Configure Network Settings

Enter your network information provided by your hosting provider.

Note
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 the installation completes:

  1. Remove the Installation Media (USB).
  2. Reboot the Server.

Once booted, you'll see a console screen showing your web interface URL (Example: https://192.168.1.10:8006).

10
Access the Proxmox Web Interface

Open a web browser and navigate to your assigned URL: https://SERVER_IP:8006.

Login with:

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

You now have access to the Proxmox Dashboard.

Phase 3: System Configuration

11
Update Proxmox Packages

Open the shell from the web interface or connect to your server via SSH. Update your 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 if they do not have a paid subscription key.

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:

BASH
ip addr

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 restarting the networking service:

BASH
systemctl restart networking

14
Configure Storage for Virtual Machines

Navigate to Datacenter → Storage. From here, you can add various storage types such as Directory, NFS, CIFS, ZFS, or Ceph.

Check available storage via CLI:

BASH
pvesm status

Phase 4: 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 via the GUI.

Alternatively, you can upload them directly via command line (SCP):

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

16
Create Your First Virtual Machine

Click Create VM in the top right corner 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, right-click your new VM in the sidebar, and click Start.

17
Enable Firewall Protection

Navigate to Datacenter → Firewall and set Firewall to Yes.

Command line verification and activation:

BASH
pve-firewall status
systemctl enable pve-firewall
systemctl start pve-firewall

18
Configure Automatic Backups

Navigate to Datacenter → Backup and create a backup job. This ensures your VMs are safe in case of disaster.

  • Recommended schedule: Daily, 02:00 AM
  • Compression: ZSTD

CLI manual backup example:

BASH
vzdump 100 --compress zstd --storage local

19
Secure SSH Access

If not already installed, install the SSH server:

BASH
apt install openssh-server -y

Edit your SSH configuration:

BASH
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 the SSH service to apply changes:

BASH
systemctl restart ssh

20
Monitor System Health

Useful monitoring commands to keep your Proxmox 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

To achieve maximum performance and reliability in a live environment, consider the following best practices:

  • Use enterprise-grade SSD or NVMe drives.
  • Configure ZFS RAID for redundancy.
  • Schedule daily backups to an offsite location.
  • Keep Proxmox updated regularly via the package manager.
  • Enable firewall protection on the Datacenter and Node levels.
  • Use strong passwords and enforce SSH keys for root access.
  • Monitor storage health frequently.
  • Separate management and VM traffic across different physical network interfaces when possible.

Build Your Cloud Infrastructure

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, snapshots, backups, and clustering, Proxmox offers enterprise-level capabilities without expensive licensing costs.

By following this step-by-step tutorial, you have successfully deployed Proxmox VE, configured networking and storage, created virtual machines, and implemented security best practices. Whether you're an IT administrator, hosting provider, or developer, Proxmox VE provides a reliable foundation for modern virtualization and private cloud deployments.

Are you looking for the perfect bare-metal foundation for your virtualization project? Explore our powerful, unmetered servers today.

Explore Dedicated Servers →

Discover Leo Servers High-Performance Locations

Leo Servers operates premium bare-metal environments worldwide, offering diverse hosting options. Check out our specialized offerings to choose the setup that best suits your intensive workload needs.