HestiaCP: Control Panel

HestiaCP is an open source, lightweight and modern control panel. It lets you manage websites, email, databases and DNS from a clean web interface.

02

Requirements

ComponentRequirement
OSUbuntu 22.04 / Debian 12 (recommended)
RAMMinimum 1 GB (recommended 2 GB+)
CPU1 core minimum
Disk10 GB free
AccessRoot or sudo

Install HestiaCP on a fresh VPS without other web servers (Nginx/Apache), panels, or conflicting services. It will manage Nginx, PHP, MySQL, Postfix autonomously.

03

Installation

bash
# Download the installation script
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh

# Verify the downloaded file (good practice)
cat hst-install.sh | head -20

# Installation with Nginx + PHP + MySQL + Mail
bash hst-install.sh \
  --nginx yes \
  --apache no \
  --phpfpm yes \
  --multiphp yes \
  --vsftpd yes \
  --proftpd no \
  --named yes \
  --mysql yes \
  --postgresql no \
  --exim yes \
  --dovecot yes \
  --sieve no \
  --clamav no \
  --spamassassin no \
  --iptables yes \
  --fail2ban yes \
  --quota no \
  --api yes \
  --lang en \
  --interactive yes \
  --hostname your.domain.com \
  --email admin@yourdomain.com \
  --password SECURE_PASSWORD \
  --port 8083

Installation takes 10-20 minutes. At the end it shows the login credentials.

04

First access

https://SERVER_IP:8083

Username: admin Password: the one set during installation

On first access the browser will show an SSL warning because the certificate is self-signed. Click "Advanced → Proceed" to access. You can then add a Let's Encrypt certificate from the panel.

05

Add a website

Site files: /home/user/web/mysite.com/public_html/

  • Web → Add Domain
  • Enter the domain (e.g. mysite.com)
  • Select the PHP template (e.g. php-fpm)
  • Enable SSL → Let's Encrypt
  • Click Save
06

CLI management

HestiaCP has a complete CLI via the v-* command:

bash
# List users
v-list-users

# Add user
v-add-user username password email@domain.com

# Add web domain
v-add-web-domain admin mysite.com

# Add Let's Encrypt SSL
v-add-letsencrypt-domain admin mysite.com www.mysite.com

# Add database
v-add-database admin dbname dbuser dbpassword mysql

# List databases
v-list-databases admin

# Add email account
v-add-mail-account admin mysite.com info password

# Backup user
v-backup-user admin
07

Email configuration

DNS records needed

Add to your domain DNS:

mysite.com. MX 10 mail.mysite.com. mail.mysite.com. A SERVER_IP mysite.com. TXT "v=spf1 ip4:SERVER_IP ~all"

HestiaCP automatically generates DKIM records: copy them from Mail → domain → DNS Records.

Webmail access

https://webmail.mysite.com # or https://SERVER_IP:8083/webmail

Available webmail: Roundcube (default) or Rainloop.

08

Update HestiaCP

bash
# Check current version
v-list-sys-info

# Update
apt update && apt upgrade hestia -y
09

Backup and restore

bash
# Manual backup of a user
v-backup-user admin

# Backups are in:
ls /backup/

# Restore
v-restore-user admin /backup/admin.2024-01-15.tar
10

Ports to open in firewall

bash
ufw allow 8083/tcp   # HestiaCP panel
ufw allow 80/tcp     # HTTP
ufw allow 443/tcp    # HTTPS
ufw allow 21/tcp     # FTP
ufw allow 25/tcp     # SMTP
ufw allow 465/tcp    # SMTPS
ufw allow 587/tcp    # SMTP Submission
ufw allow 993/tcp    # IMAPS
ufw allow 995/tcp    # POP3S
ufw allow 53/tcp     # DNS
ufw allow 53/udp     # DNS
11

Troubleshooting common issues

Service won't start

bash
# Check status of all HestiaCP services
v-list-sys-services

# Restart services
systemctl restart nginx php8.1-fpm mysql hestia

Reset admin password

bash
v-change-user-password admin NEW_PASSWORD

Access and error logs

bash
tail -f /var/log/hestia/nginx-access.log
tail -f /var/log/hestia/nginx-error.log
tail -f /var/log/hestia/system.log

DeluxHost, founded in 2023, offers high-quality hosting solutions for various digital needs. We provide shared hosting, VPS, and dedicated servers with advanced security and global data centers.

© DeluxHost, All rights reserved. | VAT Number : IT17734661006
All Systems Operational