Everything you need to install, configure, and manage HPanel.
Installation Guide
This is the complete step-by-step guide to install HPanel on a fresh Ubuntu server — from DNS setup to your first hosting account. Follow every step carefully.
Prerequisites
A clean Ubuntu 22.04 or 24.04 LTS server (VPS or Dedicated)
No other control panels installed (cPanel, CyberPanel, etc.)
ℹ Important:Your server IP must match the IP address registered in your HPanel license. If you haven't purchased a license yet, note down your server's IP address first.
Step 1: Set Up DNS Records (Before Installation)
Before installing HPanel, you need to configure your domain's DNS records. Go to your domain registrar (e.g., Namecheap, GoDaddy, Cloudflare) and add the following records:
1.1 — Panel Access Domain (Required)
This is the domain where you and your clients will access the HPanel control panel. Create an A record pointing to your server IP:
Type
Host / Name
Value / Points to
TTL
A
panel
YOUR_SERVER_IPv4
3600
AAAA
panel
YOUR_SERVER_IPv6
3600
This creates panel.yourdomain.com → points to your server. The HPanel login page will be accessible at https://panel.yourdomain.com.
🌐 IPv6 Support:If your server has an IPv6 address, add the AAAA record as well. HPanel fully supports dual-stack (IPv4 + IPv6) networking. If your server is IPv4 only, skip the AAAA records.
1.2 — Server Hostname (Required)
Set your server's hostname. This is used in email headers and server identification:
Type
Host / Name
Value / Points to
TTL
A
server
YOUR_SERVER_IPv4
3600
AAAA
server
YOUR_SERVER_IPv6
3600
This creates server.yourdomain.com as your server's hostname.
1.3 — Nameserver Records (Required for Hosting DNS)
If you want HPanel to manage DNS for your clients' domains (recommended), you need to set up two nameserver records. These are the nameservers your clients will use:
Type
Host / Name
Value / Points to
TTL
A
ns1
YOUR_SERVER_IPv4
3600
A
ns2
YOUR_SERVER_IPv4
3600
AAAA
ns1
YOUR_SERVER_IPv6
3600
AAAA
ns2
YOUR_SERVER_IPv6
3600
This creates ns1.yourdomain.com and ns2.yourdomain.com as your nameservers.
⚠ Note:If you use a single server, both ns1 and ns2 will point to the same IP. For production environments with high availability, we recommend using two separate servers for ns1 and ns2.
1.4 — Register Custom Nameservers (Glue Records)
For your nameservers to work properly, you also need to register them as Glue Records (also called Child Nameservers) at your domain registrar:
Go to your domain registrar's dashboard
Find "Custom Nameservers", "Glue Records", or "Register Nameservers" option
Register: ns1.yourdomain.com → YOUR_SERVER_IP
Register: ns2.yourdomain.com → YOUR_SERVER_IP
This step is essential — without glue records, your nameservers will not resolve.
1.5 — Complete DNS Example
Here's a complete example. If your domain is myhosting.com and server IP is 95.217.100.50:
Type
Host
Value
Purpose
A
panel
95.217.100.50
Panel access URL
A
server
95.217.100.50
Server hostname
A
ns1
95.217.100.50
Primary nameserver
A
ns2
95.217.100.50
Secondary nameserver
AAAA
panel
2a01:4f8:c17:xxxx::1
Panel access (IPv6)
AAAA
server
2a01:4f8:c17:xxxx::1
Server hostname (IPv6)
AAAA
ns1
2a01:4f8:c17:xxxx::1
Primary NS (IPv6)
AAAA
ns2
2a01:4f8:c17:xxxx::1
Secondary NS (IPv6)
After adding these records, your clients will set their domain nameservers to ns1.myhosting.com and ns2.myhosting.com, and access the panel at https://panel.myhosting.com.
⏱ DNS Propagation:DNS records can take 15 minutes to 48 hours to propagate worldwide. You can check propagation status at dnschecker.org.
Step 2: Connect to Your Server via SSH
Open a terminal (or PuTTY on Windows) and connect to your server as root:
The installer will ask for your license key. Enter the license key you received after purchase.
Step 4: Automatic Installation
The setup script handles everything automatically. Sit back and wait — installation typically takes 5–15 minutes depending on your server's speed and internet connection.
The installer will:
Verify system requirements and OS compatibility
Update system packages to latest versions
Install Nginx (web server with FastCGI cache support)
Install PHP-FPM (PHP 7.4, 8.0, 8.1, 8.2, 8.3)
Install MariaDB (database server)
Install Node.js and PM2 (panel application runtime)
Install Postfix and Dovecot (email server)
Install ClamAV (malware scanning)
Install Fail2Ban (brute force protection)
Install Redis (object caching)
Install BIND (DNS server)
Deploy the HPanel application and admin panel
Generate SSL certificate for the panel domain
Configure panel access ports (2053, 2057, 2059) with SSL
Activate your license on the license server
Start all services and configure firewall
✅ Installation Complete!When finished, the installer will display your admin login credentials. Save these immediately — you'll need them to access the panel.
Step 5: Access the Panel
HPanel uses port-based access — each role has its own dedicated port, just like industry-standard control panels:
Panel
URL
Login
HAdmin
https://YOUR_SERVER_IP:2057
Username: root + Server root password
User Panel
https://YOUR_SERVER_IP:2053
User credentials
Webmail
https://YOUR_SERVER_IP:2059
Email account credentials
You can also use your panel domain with the port:
https://panel.yourdomain.com:2057# HAdmin
https://panel.yourdomain.com:2053# User Panel
https://panel.yourdomain.com:2059# Webmail
Step 6: Initial Server Configuration
After logging in as admin, complete these initial configuration steps:
6.1 — Configure Server Settings
Go to Admin → Server Settings
Set Server Hostname: server.yourdomain.com
Set Panel URL: https://panel.yourdomain.com
Set Primary IP: Your server's IP address
6.2 — Configure Nameservers
Go to Admin → DNS Settings
Set Nameserver 1: ns1.yourdomain.com
Set Nameserver 2: ns2.yourdomain.com
These nameservers will be automatically assigned to all new hosting accounts
6.3 — Create a Hosting Package
Go to Admin → Packages → Create Package
Set package name, disk quota, bandwidth limit, domains, email accounts, databases, etc.
This defines the resource limits for hosting accounts
6.4 — Create Your First Hosting Account
Go to Admin → Accounts → Create Account
Enter the domain, username, password, and select a package
The account is created instantly with all services configured
Step 7: Client Domain Setup
When a client adds their domain to HPanel, they need to update their domain's nameservers at their registrar:
Nameserver 1: ns1.yourdomain.com
Nameserver 2: ns2.yourdomain.com
Once nameservers propagate (usually 1–24 hours), the domain will resolve to your server and HPanel will automatically:
Create the DNS zone with all required records
Issue a free SSL certificate via Let's Encrypt
Configure Nginx server block for the domain
Set up email (SPF, DKIM, DMARC) records
Troubleshooting
Can't access panel login page
Make sure you're using the correct port: :2057 for HAdmin, :2053 for User Panel
Opening panel.yourdomain.com without a port shows a default page — this is expected behavior