Installation Guide
VoidPanel is a powerful, next-generation Linux web hosting control panel equipped with integrated Agentic AI diagnostics, automated Nginx/MariaDB provisioning, multi-tenant isolation, and automated SSL orchestration. This guide walks you through provisioning VoidPanel on your cloud VPS or dedicated bare-metal server.
Server Prerequisites
Before executing the installer, ensure your VPS or dedicated instance meets the minimum requirements. We strongly recommend deploying on a clean, freshly formatted operating system to avoid port collisions with pre-existing web servers.
| Hardware / OS Component | Minimum Requirement | Recommended Production Spec |
|---|---|---|
| Operating System | Ubuntu 22.04 LTS (x86_64) | Ubuntu 24.04 LTS / AlmaLinux 9+ |
| System Memory (RAM) | 1 GB RAM (with swap) | 2 GB – 4 GB+ High-Speed RAM |
| Disk Storage | 10 GB Available Space | 25 GB+ Enterprise NVMe SSD |
| Processor (CPU) | 1 vCPU Core (64-bit) | 2+ vCPU High Frequency Cores |
| Networking & Ports | 1 Dedicated Public IPv4 | Static IPv4 + Reverse DNS (rDNS) |
VoidPanel compiles and configures Nginx, Postfix, MariaDB, and Redis natively. Do not install on servers with cPanel, Plesk, CyberPanel, or pre-configured Apache stacks.
Step 1: Connect to your server via SSH as root and update your package lists:
sudo apt update && sudo apt upgrade -y && sudo apt install -y curl wget sudo
One-Command Installation
1. Automated One-Line Deployer
Execute our official quick-install script. The deployer automatically compiles services, configures firewall rules, and provisions your encrypted master dashboard:
bash <(curl -sL https://voidpanel.com/install.sh)
- Configures Nginx HTTP/2 reverse-proxy and automated Let's Encrypt bot
- Provisions MariaDB 10.11+ / MySQL with automated database creation hooks
- Deploys Redis in-memory cache and Celery task broker for background queues
- Initializes Postfix MTA, Dovecot IMAP/POP3, and DKIM/SPF DNS generators
- Prints your unique encrypted Master Admin URL, Username, and Password on completion
2. Running with Root Privileges
If your cloud provider provides an ubuntu or debian user by default, escalate to root before launching:
sudo su -
bash <(curl -sL https://voidpanel.com/install.sh)
Installation typically concludes in 3 to 7 minutes depending on your server's network bandwidth and disk I/O throughput. Once finished, visit https://YOUR_SERVER_IP:8080 to access your dashboard.
Initial Configuration & Master Setup
After logging into your VoidPanel admin portal for the first time:
- Change Master Password: Head to Account Settings > Security and replace your temporary auto-generated password with a strong passphrase.
- Hostname Binding: Assign a Fully Qualified Domain Name (e.g.
panel.yourcompany.com) under Server Settings to automatically provision an SSL certificate for the control panel. - Set Nameservers: Configure your default NS records (e.g.
ns1.yourdomain.comandns2.yourdomain.com) if you plan on using VoidPanel's integrated BIND9 DNS server.
Security Hardening
VoidPanel includes built-in security features to safeguard your cloud infrastructure against brute-force attacks and zero-day exploits:
- UFW Firewall: Automatically closes all unused ports, leaving only
80,443,8080,22,25,587, and993accessible. - Fail2ban Intrusion Defense: Automatically bans IP addresses that fail multiple SSH or panel login attempts.
- Two-Factor Authentication (2FA): Enable Time-based One-Time Password (TOTP) 2FA using Google Authenticator, Authy, or 1Password.
Adding Domains & WordPress Sites
Deploying websites on VoidPanel takes seconds:
- Navigate to Websites > Add Domain.
- Enter your primary domain (e.g.
example.com) and select your desired PHP version (PHP 8.1, 8.2, 8.3, or 8.4). - Check Enable 1-Click WordPress if you'd like VoidPanel to auto-provision a fresh WordPress instance with database and SSL included.
- Point your domain's DNS
A Recordto your server's public IP address.
Common Troubleshooting Scenarios
If you experience connectivity or deployment issues, verify the following checklist:
- Port 8080 Blocked by Cloud Firewall: On AWS EC2, Google Cloud, or Oracle Cloud, ensure your security groups allow inbound TCP traffic on port
8080. - DNS Propagation Delay: Let's Encrypt SSL issuance requires your domain's
A Recordto resolve globally. Check propagation with tools likewhatsmydns.net. - Low Memory / Swap Missing: On 1 GB RAM instances, activate a 2 GB swap file to prevent out-of-memory errors during heavy PHP-FPM workloads.
Video Walkthrough
Watch our comprehensive video guide covering installation, domain configuration, and SSL provisioning: