Install Hestia Control Panel on Ubuntu/Debian

setup config Hestia Control Panel installation guide install Hestia on Ubuntu/Debian web hosting control panel

Hestia Control Panel is a powerful, open-source hosting control panel that simplifies the management of websites, databases, email accounts, DNS records, and more. Its user-friendly web interface and extensive features make it a popular choice among server administrators, web developers, and website owners. In this comprehensive guide, we’ll walk you through the process of installing Hestia Control Panel on your Ubuntu or Debian server, covering both regular and custom installations.

Prerequisites and Requirements

Before proceeding with the installation, ensure that your server meets the following minimum requirements:

  • CPU: 1 core, 64-bit processor (4 cores recommended)
  • Memory: 1 GB RAM (4 GB RAM recommended, without SpamAssassin and ClamAV)
  • Disk: 10 GB HDD (40 GB SSD recommended)
  • Operating System: Debian 10, 11, or 12 | Ubuntu 20.04 or 22.04 LTS (latest Debian or Ubuntu LTS release recommended)

Please note that Hestia Control Panel only supports 64-bit AMD64/x86_64 and ARM64/aarch64 processors and operating systems. It does not support 32-bit or ARM7 architectures.

Additionally, it’s recommended to install Hestia Control Panel on a fresh operating system installation to ensure proper functionality. If you’re installing on a VPS or KVM with an existing admin account, you can either delete that default admin ID or use the --force option during the installation (more on this later).

Regular Installation

The regular installation process will set up Hestia Control Panel with the default software configuration. Follow these steps to perform a regular installation:

Step 1: Download the Installation Script

First, download the installation script for the latest Hestia release by running the following command:

$ wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh

If you encounter SSL validation errors during the download, ensure that you have the ca-certificates package installed on your system:

$ sudo apt-get update && sudo apt-get install ca-certificates

Step 2: Run the Installation Script

Once the script is downloaded, run it with the following command:

$ sudo bash hst-install.sh

The script will guide you through the installation process, prompting you to enter the required information, such as the administrative email address and password for Hestia Control Panel.

Follow the on-screen instructions, and after the installation is complete, you will receive a welcome email at the specified address (if applicable) and on-screen instructions to log in and access your server.

Custom Installation

If you want to customize the software components installed or perform an unattended installation, you’ll need to run a custom installation. This allows you to choose which packages to install, set default settings, and automate the installation process.

Step 1: View Installation Options

To see a list of available installation options, run the following command:

$ sudo bash hst-install.sh -h

This will display a list of options, including the ability to choose which components to install (e.g., Apache, PHP-FPM, MariaDB, PostgreSQL, Exim, Dovecot, ClamAV, SpamAssassin, etc.), set the default language, hostname, admin email, and password.

List of Installation Options

When running a custom installation, you can provide various flags to the installation script to choose which software components to install and configure other settings. Here’s the list of available installation options:

-a, --apache Install Apache [yes | no] default: yes
-w, --phpfpm Install PHP-FPM [yes | no] default: yes
-o, --multiphp Install MultiPHP [yes | no] default: no
-v, --vsftpd Install VSFTPD [yes | no] default: yes
-j, --proftpd Install ProFTPD [yes | no] default: no
-k, --named Install BIND [yes | no] default: yes
-m, --mysql Install MariaDB [yes | no] default: yes
-M, --mysql8 Install MySQL 8 [yes | no] default: no
-g, --postgresql Install PostgreSQL [yes | no] default: no
-x, --exim Install Exim [yes | no] default: yes
-z, --dovecot Install Dovecot [yes | no] default: yes
-Z, --sieve Install Sieve [yes | no] default: no
-c, --clamav Install ClamAV [yes | no] default: yes
-t, --spamassassin Install SpamAssassin [yes | no] default: yes
-i, --iptables Install Iptables [yes | no] default: yes
-b, --fail2ban Install Fail2ban [yes | no] default: yes
-q, --quota Filesystem Quota [yes | no] default: no
-d, --api Activate API [yes | no] default: yes
-r, --port Change Backend Port default: 8083
-l, --lang Default language default: en
-y, --interactive Interactive install [yes | no] default: yes
-s, --hostname Set hostname
-e, --email Set admin email
-p, --password Set admin password
-D, --with-debs Path to Hestia debs
-f, --force Force installation
-h, --help Print this help

These options allow you to customize the installation by selecting the desired components, setting the default language, hostname, admin email, and password, and more.

Step 2: Run the Custom Installation

With the available options in hand, you can now run the custom installation by providing the desired flags to the installation script. Here’s an example command:

$ bash hst-install.sh \
    --interactive no \
    --hostname host.domain.tld \
    --email [email protected] \
    --password p4ssw0rd \
    --lang en \
    --apache no \
    --named no \
    --clamav no \
    --spamassassin no

This command will install Hestia Control Panel with the following components:

  • Nginx web server
  • PHP-FPM application server
  • MariaDB database server
  • IPtables firewall + Fail2Ban intrusion prevention software
  • Vsftpd FTP server
  • Exim mail server
  • Dovecot POP3/IMAP server

Adjust the options according to your preferences and requirements.

Step 3: Force Installation (Optional)

If you’re installing Hestia Control Panel on a VPS or KVM with an existing admin account, you may need to use the --force option to proceed with the installation. This option is also useful if you’re reinstalling Hestia Control Panel or encounter any issues during the installation process.

To force the installation, add the --force flag to your custom installation command:

$ bash hst-install.sh \
    --interactive no \
    --hostname host.domain.tld \
    --email [email protected] \
    --password p4ssw0rd \
    --lang en \
    --apache no \
    --named no \
    --clamav no \
    --spamassassin no \
    --force

Accessing Hestia Control Panel

After the installation is complete, you can access the Hestia Control Panel by navigating to https://host.domain.tld:8083 or http://your.public.ip.address:8083 in your web browser, replacing host.domain.tld and your.public.ip.address with your server’s hostname or public IP address, respectively.

You will be prompted to log in using the administrative email address and password you specified during the installation process.

Conclusion

Installing Hestia Control Panel on your Ubuntu or Debian server can greatly simplify the management of your web hosting environment. With its user-friendly interface and powerful features, Hestia Control Panel provides an efficient way to create and manage websites, databases, email accounts, DNS records, and backups, all from a single dashboard.

By following the steps outlined in this comprehensive guide, you can perform either a regular installation with the default software configuration or a custom installation tailored to your specific needs. The custom installation options allow you to choose which components to install, set default settings, and automate the process.

Whether you’re a web developer, system administrator, or a website owner, Hestia Control Panel offers a reliable and scalable solution for hosting multiple websites on a single server. Its simplicity and extensive documentation, combined with the active community forum, ensure that you have the resources and support needed for a smooth installation and ongoing management of your hosting environment.

LEAVE A COMMENT