Introduction
HestiaCP is an open-source web hosting control panel that simplifies server and website management. MariaDB is a powerful open-source database system compatible with MySQL, and FOSSBilling is an open-source billing system for hosting businesses. This guide will walk you through setting up HestiaCP, MariaDB, disabling HestiaCP’s built-in Nginx (if using Nginx Proxy Manager), and installing FOSSBilling on Ubuntu 24.04.
Step 1: Install HestiaCP
If you haven’t installed HestiaCP yet, follow these steps:
- Download the HestiaCP installation script:
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh - Run the installation script:
sudo bash hst-install.sh --force - Follow the on-screen instructions and complete the setup.
Recommended Selection for HestiaCP Installation
- NGINX Web / Proxy Server → ❌ Skip (Because Nginx Proxy Manager is already installed)
- Apache Web Server (as backend) → ✅ Keep (Required for hosting dynamic websites)
- PHP-FPM Application Server → ✅ Keep (Required for PHP-based applications like FOSSBilling)
- Bind DNS Server → ❌ Skip (Since Cloudflare is handling DNS)
- Exim Mail Server + ClamAV + SpamAssassin → ❌ Skip (You will use Mailcow later for email)
- Dovecot POP3/IMAP Server → ❌ Skip (No need, as Mailcow will handle email)
- MariaDB Database Server → ✅ Keep (Required for databases)
- Vsftpd FTP Server → ❌ Skip (Unless you need FTP access, which is rare)
- Firewall (iptables) + Fail2Ban Access Monitor → ✅ Keep (Important for security)
Final Installation Command (Custom Selection)
Run the following command to disable unwanted components during installation:
This ensures that:
- HestiaCP does not install NGINX, DNS (Bind), Mail Server (Exim, Dovecot, ClamAV, SpamAssassin), or FTP
- It only installs Apache, PHP, MariaDB, and security tools
Next Steps After Installation
After HestiaCP is installed:
- Disable HestiaCP’s Nginx (if it is still active)
- Make sure MariaDB is running
- Access HestiaCP GUI via
and create your domains, users, and databases before proceeding with FOSSBilling installation.
After installation, access HestiaCP at:
https://your-server-ip:8083Log in using your admin credentials.
Step 2: Disable HestiaCP’s Nginx (if using Nginx Proxy Manager)
If you have installed Nginx Proxy Manager (NPM) separately, you need to disable HestiaCP’s built-in Nginx to avoid conflicts.
Method 1: Using GUI
- Log in to HestiaCP.
- Navigate to Server Settings > Web Server.
- Disable Nginx Service.
- Click Save and Apply Changes.
Method 2: Using Terminal
- Stop and disable Nginx in HestiaCP:
sudo systemctl stop nginx sudo systemctl disable nginx - Ensure Nginx Proxy Manager is managing your domains.
Step 3: Verify MariaDB Installation
MariaDB should be installed with HestiaCP. To confirm:
- Check if MariaDB is running:
sudo systemctl status mariadb - If MariaDB is not running, start it:
sudo systemctl start mariadb - Secure MariaDB installation:
sudo mysql_secure_installation- Enter current password for root : (this requires to change setting) then follow screen instruction but change following mentioned below
- Set a strong root password.
- Remove anonymous users.
- Disallow remote root login.
- Remove the test database.
Step 4: Create a Database for FOSSBilling
- Log in to HestiaCP.
- Navigate to Database > Add Database.
- Enter the following:
- Database Name:
fossbilling_db - Username:
fossbilling_user - Password:
your_secure_password
- Database Name:
- Click Create and note down the credentials.
Alternatively, using CLI:
sudo mysql -u root -p
CREATE DATABASE fossbilling_db;
GRANT ALL PRIVILEGES ON fossbilling_db.* TO 'fossbilling_user'@'localhost' IDENTIFIED BY 'your_secure_password';
FLUSH PRIVILEGES;
EXIT;Step 5: Install FOSSBilling
- Navigate to your web directory:
cd /home/your_user/web/billing.gethostpro.com/public_html - Download FOSSBilling:
sudo wget https://github.com/FOSSBilling/FOSSBilling/releases/latest/download/FOSSBilling.zip - Install
unzipif not installed:sudo apt install unzip -y - Unzip FOSSBilling:
sudo unzip FOSSBilling.zip -d . - Set correct permissions:
sudo chown -R your_user:your_user . sudo chmod -R 755 . - Restart Nginx and PHP:
sudo systemctl restart nginx sudo systemctl restart php8.1-fpm - Open your browser and visit:
http://billing.gethostpro.com/install - Follow the on-screen installation steps:
- Enter Database Name, Username, Password.
- Complete the setup and log in.
Conclusion
You have successfully: ✅ Installed HestiaCP & MariaDB ✅ Disabled HestiaCP’s Nginx (if using Nginx Proxy Manager) ✅ Installed FOSSBilling and set up the database
Your billing system is now live and ready for customization!
About EngineerHow
EngineerHow provides in-depth tutorials on server management, web hosting, and open-source software. Follow us for step-by-step guides to simplify complex IT setups!
