BENTECH

Installing and Configuring Hestia Control Panel on Contabo VPS

In this hands-on video tutorial by BENTECH, viewers are guided step-by-step through setting up a free, open-source control panel (Hestia Control Panel) on an unmanaged VPS…

Watch the video tutorial on YouTube

Overview

In this hands-on video tutorial by BENTECH, viewers are guided step-by-step through setting up a free, open-source control panel (Hestia Control Panel) on an unmanaged VPS instance. Using Contabo as the hosting provider example, the instructor demonstrates how to perform a clean OS reinstallation of Ubuntu 22.04 without default control panels to avoid licensing costs. The lesson covers connecting to the remote virtual private server via SSH using the Windows Command Prompt, handling known host key conflicts, and generating the customized HestiaCP installation script. The instructor explains each installation flag, including options for Apache, PHP-FPM, MariaDB, and email services, before running the setup directly in the root shell. Finally, the tutorial explores HestiaCP's user interface, demonstrating how to add web domains, set up email routing, configure databases, and manage static web assets through the integrated file manager. The instructor also demonstrates domain DNS routing using Cloudflare and Hostinger, and shows how to obtain and activate a free Let's Encrypt SSL certificate for seamless HTTPS redirection.

Introduction to Free VPS Control Panels

00:00

The instructor outlines the goal of the tutorial: setting up a completely free web control panel (HestiaCP) on an unmanaged Contabo VPS, enabling free SSL certificates via Cloudflare and Let's Encrypt, and hosting multiple domains.

  • Eliminates expensive monthly cPanel license fees
  • Applicable across multiple unmanaged VPS providers
  • Covers multi-domain management and SSL security

VPS OS Reinstallation in Contabo Panel

00:26

To ensure a clean environment without conflicts from pre-installed software, the instructor logs into Contabo and reinstalls Ubuntu 22.04 LTS with the 'Installation without panel' option selected.

  • Select clean OS installation (Ubuntu 22.04 64-bit)
  • Choose 'Installation without panel' to save licensing costs
  • Set root password and wait for the status to switch from pending to finished

Generating HestiaCP Install Script

02:16

The instructor visits the official Hestia Control Panel website (hestiacp.com) to generate the custom installation script commands based on chosen stack components.

  • Download script: `wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh`
  • Configure services: Apache, PHP-FPM, MariaDB, Exim, Dovecot
  • Omit internal BIND DNS server if using third-party DNS like Cloudflare
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh

Connecting to the Server via SSH

03:38

The instructor copies the VPS IP address from the Contabo console and opens Windows Command Prompt. He resolves an SSH host key collision using `ssh-keygen -R` before logging in as root.

  • SSH into the server using `ssh root@<IP_ADDRESS>`
  • Resolve host key verification errors using `ssh-keygen -R <IP_ADDRESS>`
  • Accept fingerprint and enter server root password
ssh-keygen -R 173.212.193.171
ssh root@173.212.193.171

Executing HestiaCP Installation

04:46

The installation script is downloaded and executed in the root terminal. The instructor passes the generated parameters (hostname, username, email, and password) and confirms the package conflicts prompt.

  • Download installer script using `wget`
  • Configure parameters including panel hostname and administrative credentials
  • Confirm prompt with `y` and wait 10-15 minutes for installation to finish
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
bash hst-install.sh --hostname 'cpanel.arosoft.io' --username 'BenTech' --email 'bangella23@gmail.com' --password '***' --interactive no

Accessing HestiaCP Dashboard

08:06

The instructor opens the browser to access the HestiaCP dashboard over port 8083 using the server's IP address. He bypasses the self-signed SSL warning and logs in with the configured admin credentials.

  • Default port for HestiaCP is 8083 (`https://<IP_ADDRESS>:8083`)
  • Bypass browser SSL warning under Advanced > Proceed
  • Log in using the username and password set during installation

Exploring Features: Users, Web Domains, Mail, and Databases

09:06

A walkthrough of core HestiaCP navigation tabs: managing user accounts and roles, adding new web domains, configuring mail domains with Roundcube, creating MySQL/MariaDB databases, and setting up Cron jobs.

  • User roles: Administrator vs. standard user accounts
  • Web domain addition with optional mail/DNS support
  • Built-in mail client options such as Roundcube
  • Integrated phpMyAdmin and MariaDB user/database creation

Configuring Cloudflare DNS & Nameservers

12:48

To resolve domain names properly, the instructor sets up the domain in Cloudflare, scans existing DNS records, and replaces the registrar nameservers on Hostinger with Cloudflare's assigned nameservers.

  • Add domain to Cloudflare and select free plan
  • Scan and review existing DNS A records pointing to VPS IP
  • Update nameservers in domain registrar (Hostinger) to point to Cloudflare

Enabling Let's Encrypt SSL in HestiaCP

15:32

Once Cloudflare DNS is active, the instructor goes into HestiaCP web domain settings and enables Let's Encrypt SSL along with automatic HTTPS redirection.

  • Enable 'Enable SSL for this domain'
  • Check 'Use Let's Encrypt to obtain SSL certificate'
  • Enable automatic HTTPS redirection and HSTS if required

File Manager & Website Verification

17:02

The instructor opens HestiaCP's built-in File Manager, locates the domain's public_html folder, edits the index.html file, and verifies that the live site loads securely over HTTPS with updated content.

  • Web directory path: `web/<domain>/public_html/`
  • Direct code editing supported in HestiaCP web file manager
  • Verified live website rendering over secure HTTPS connection