VPS & Dedicated Servers

Installing a Control Panel on a Blank VPS

When to install cPanel vs DirectAdmin vs running panel-free on your VPS — plus the actual install commands for each path.

5 min read

A fresh iWebVault VPS arrives with a clean OS (typically AlmaLinux, Rocky Linux, Ubuntu, or Debian) and nothing else. Before you can host websites on it, you’ll either install a control panel (cPanel or DirectAdmin) or set up the web stack manually. This guide walks through the choice and the install for each path.

Control panel vs panel-free

Control panel (cPanel/DA)Panel-free
Setup time1–2 hours unattended install4–8 hours manual config
Ongoing maintenanceAutomated updates, GUIYou handle everything via SSH
Resource overheadHigher (panel runs services)Lower (just your stack)
CostLicense fee (cPanel) or free (DA)Free (just labor)
Best forMulti-site hosting, client managementSingle high-performance site, custom stacks

If you’re hosting multiple sites, hosting for clients, or want a familiar GUI, install a panel. If you’re running one application and want every resource going to it, skip the panel.

Prerequisites

  • SSH access to your VPS as root. See our SSH first-time guide.
  • A clean server — no other web stack already installed. Control panels expect to manage everything; conflicts cause failures.
  • A supported OS — usually AlmaLinux 8/9, Rocky 8/9, Ubuntu 22.04, or Debian 12. cPanel currently supports AlmaLinux/Rocky/CloudLinux only; DirectAdmin supports all four.
  • Sufficient resources — minimum 2 GB RAM for either panel; 4 GB+ recommended.
  • A hostname configured — a fully-qualified domain like server.yourdomain.com with DNS pointing at your VPS IP. Both panels require this; install fails without it.

Setting the hostname

Before either panel install, set a proper FQDN:

hostnamectl set-hostname server.yourdomain.com

Then add an A record at your DNS provider pointing server.yourdomain.com to your VPS IP. Wait 5-10 minutes for propagation, then verify:

dig +short server.yourdomain.com

Should return your VPS IP. If it doesn’t, both panel installs will fail with hostname errors.

Option 1 — Install cPanel/WHM

cPanel is the most familiar control panel — premium-feeling, with the deepest plugin ecosystem (JetBackup, WHMCS integration, Imunify360). License costs are real ($45+/month commercial); confirm yours via iWebVault if you ordered a managed VPS that includes it.

The install command (run as root):

cd /home
curl -o latest -L https://securedownloads.cpanel.net/latest
sh latest

The installer downloads about 3 GB of packages and runs unattended for 60-90 minutes. Do not interrupt it. Keep your SSH session open, or run it inside tmux or screen to survive disconnects:

tmux new -s cpanel-install
# (inside tmux: run the install commands above)
# Detach with Ctrl+B then D
# Reattach later with: tmux attach -t cpanel-install

Once finished, access WHM at https://server.yourdomain.com:2087. Use root credentials. On first login, WHM walks through a setup wizard — accept defaults unless you have specific needs.

Option 2 — Install DirectAdmin

DirectAdmin is lighter, faster, and licenses are typically included with iWebVault VPS plans. Install as root:

wget -O setup.sh https://www.directadmin.com/setup.sh
chmod 755 setup.sh
./setup.sh auto

The script asks for your license credentials (provided by iWebVault), the admin email address, and the network interface. Defaults are usually correct. The install runs for about 30 minutes.

Once finished, access DirectAdmin at https://server.yourdomain.com:2222. Initial admin credentials are shown at the end of the install — save them immediately, then log in and change the password.

Option 3 — Panel-free setup (LEMP / LAMP)

If you want maximum performance and don’t need a GUI, install just the web stack. The classic options:

  • LEMP = Linux, Nginx, MariaDB/MySQL, PHP — fastest and the modern default.
  • LAMP = Linux, Apache, MariaDB/MySQL, PHP — more familiar if you’ve worked with .htaccess.
  • Caddy — modern Nginx alternative with automatic Let’s Encrypt SSL out of the box.

LEMP install on Ubuntu 22.04:

apt update
apt install -y nginx mariadb-server php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip
systemctl enable --now nginx mariadb php8.3-fpm
mysql_secure_installation

Configure a server block in /etc/nginx/sites-available/, point it at your document root, enable with ln -s to sites-enabled/, reload nginx. Add Let’s Encrypt SSL via certbot:

apt install -y certbot python3-certbot-nginx
certbot --nginx -d yourdomain.com -d www.yourdomain.com

This is a much briefer overview than the panel paths — panel-free is genuinely a bigger learning curve. If you’re not comfortable with Nginx configuration syntax, MySQL administration, and Linux package management, install a panel instead.

After install — set up monitoring

Whatever path you took, set up monitoring next. A VPS with no monitoring becomes a VPS that goes down silently. At minimum:

  • Server-up monitoring — UptimeRobot (free, 5-minute checks for up to 50 monitors) pings your sites and alerts when they’re down.
  • Resource monitoring — covered in our VPS monitoring guide.
  • Log monitoringtail -f /var/log/syslog sporadically; install fail2ban to auto-block brute-force IPs.

Common install issues

cPanel install fails with “hostname error”. Your FQDN isn’t set or DNS doesn’t resolve. Set hostname, add the DNS record, wait for propagation, retry.

DirectAdmin license rejected. Confirm the license credentials you received from iWebVault are correct. If you ordered the VPS without DirectAdmin, you’ll need to add the license first.

SSH disconnects during install, install fails. Use tmux or screen. Always.

“Address already in use” errors during install. Another service is using a port the panel needs (80, 443, 2087, 2222, etc). Stop conflicting services (systemctl stop apache2 if you have it from a previous attempt).

Install completes but you can’t access the panel URL. Firewall blocking. Open the right ports:

firewall-cmd --permanent --add-port=2083/tcp  # cPanel
firewall-cmd --permanent --add-port=2087/tcp  # WHM
firewall-cmd --permanent --add-port=2222/tcp  # DirectAdmin
firewall-cmd --reload

What’s next

Once the panel install completes successfully, the rest of your VPS work is the same as managed hosting — just with you wearing the admin hat as well as the user one.

Was this helpful?