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.
Requirements
| Component | Requirement |
|---|---|
| OS | Ubuntu 22.04 / Debian 12 (recommended) |
| RAM | Minimum 1 GB (recommended 2 GB+) |
| CPU | 1 core minimum |
| Disk | 10 GB free |
| Access | Root 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.
Installation
# 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.
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.
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
CLI management
HestiaCP has a complete CLI via the v-* command:
# 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
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.
Update HestiaCP
# Check current version
v-list-sys-info
# Update
apt update && apt upgrade hestia -y
Backup and restore
# 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
Ports to open in firewall
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
Troubleshooting common issues
Service won't start
# Check status of all HestiaCP services
v-list-sys-services
# Restart services
systemctl restart nginx php8.1-fpm mysql hestia
Reset admin password
v-change-user-password admin NEW_PASSWORD
Access and error logs
tail -f /var/log/hestia/nginx-access.log
tail -f /var/log/hestia/nginx-error.log
tail -f /var/log/hestia/system.log
Verwandte Artikel
Package Installation
How to install, update and remove software on your Linux server
Web Server: Nginx
Installation and basic configuration of Nginx on your server
Web Server: Apache
Installation and basic configuration of Apache on your server
