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 & System Requirements
Phase 1: Installation Media & Booting
Phase 2: Core Installation & Setup
Phase 3: System Configuration
Phase 4: VM Creation & Security
Best Practices for Production
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:
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:
sha256sum proxmox-ve_*.iso
Compare the output with the checksum provided by Proxmox.
2 Create Bootable Installation Media
On Linux: Use the dd command.
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.
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:
- Remove the Installation Media (USB).
- 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:
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-enterpriserepository and click Disable. - Click Add, select No-Subscription, and save.
- Click Reload to update package lists.
CLI Method (Alternative):
# 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:
ip addr
Edit your network configuration:
nano /etc/network/interfaces
Example configuration (Ensure eno1 matches the interface found via ip addr):
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:
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:
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):
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:
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:
vzdump 100 --compress zstd --storage local
19 Secure SSH Access
If not already installed, install the SSH server:
apt install openssh-server -y
Edit your SSH configuration:
nano /etc/ssh/sshd_config
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:
PermitRootLogin prohibit-password
PasswordAuthentication no
Restart the SSH service to apply changes:
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.
