Open
Description
Describe the bug
During a clean minimal installation of Debian 12 with DVD, then change to default repo and using a dynamic public IP address obtained via pppoeconf, the HestiaCP installer fails when trying to start the Hestia service.
Cause:
The issue occurs because the default system nginx service is already running and binding to port 80, which conflicts with hestia-nginx during the installer execution.
Proposed Solution:
In hst-install-debian.sh
add a check before starting the Hestia service to stop the system nginx if it is running, and to fix commented lines in the Hestia nginx configuration file /usr/local/hestia/nginx/conf/nginx.conf
.
# listen 8083 ssl;
# listen [::]:8083 ssl;
hst-install-debian.sh
(fix)
...
# Update remaining packages since repositories have changed
...
# Fix
if systemctl is-active --quiet nginx; then
echo "[ * ] Detected system nginx running — stopping to avoid conflict..."
systemctl stop nginx
echo "[ * ] Fix comments in nginx.conf..."
sed -i -e '/listen/s/^[[:space:]]*#//' /usr/local/hestia/nginx/conf/nginx.conf
echo "[ * ] Starting nginx..."
systemctl start nginx >> $LOG
fi
# Starting Hestia service
...
Tell us how to replicate the bug
- Install Debian 12 from DVD with a minimal setup and hestia as hostname
- Set up a dynamic public IP using
pppoeconf
. - Run the HestiaCP installer.
- Observe the failure during the "Starting Hestia service" step.
Which components are affected by this bug?
Control Panel Installation or Upgrade
Hestia Control Panel Version
1.9.3
Operating system
Debian 12
Log capture
Installer output:
root@hestia:~# bash hst-install.sh --lang 'es' --hostname 'hestia.***.***' --username 'admin' --email '***@***.***' --password '***' --exim no --dovecot no --clamav no --spamassassin no --webterminal yes --interactive no
Welcome to the Hestia Control Panel installer!
Please wait, the installer is now checking for missing dependencies...
[ * ] Installing dependencies...
_ _ _ _ ____ ____
| | | | ___ ___| |_(_) __ _ / ___| _ \
| |_| |/ _ \/ __| __| |/ _` | | | |_) |
| _ | __/\__ \ |_| | (_| | |___| __/
|_| |_|\___||___/\__|_|\__,_|\____|_|
Hestia Control Panel
1.9.3
www.hestiacp.com
========================================================================
Thank you for downloading Hestia Control Panel! In a few moments,
we will begin installing the following components on your server:
- NGINX Web / Proxy Server
- Apache Web Server (as backend)
- PHP-FPM Application Server
- Bind DNS Server
- MariaDB Database Server
- Vsftpd FTP Server
- Web terminal
- Firewall (iptables) + Fail2Ban Access Monitor
========================================================================
Installation backup directory: /root/hst_install_backups/220520251540
Installation log file: /root/hst_install_backups/hst_install-220520251540.log
Adding required repositories to proceed with installation:
[ * ] NGINX
[ * ] PHP
[ * ] Apache2
[ * ] MariaDB 11.4
[ * ] Hestia Control Panel
[ * ] Node.js 20
Updating currently installed packages, please wait.../
The installer is now downloading and installing all required packages.
NOTE: This process may take 10 to 15 minutes to complete, please wait...
Extracting templates from packages: 100%
========================================================================
[ * ] Configuring system settings...
Adding user `hestiamail' to group `hestia-users' ...
Done.
[ * ] Configuring Hestia Control Panel...
[ * ] Configuring OpenSSL to improve TLS performance...
[ * ] Generating default self-signed SSL certificate...
[ * ] Adding SSL certificate to Hestia Control Panel...
[ * ] Enabling SFTP jail...
[ * ] Enabling SSH jail...
[ * ] Creating default admin account...
[ * ] Configuring NGINX...
[ * ] Updating Cloudflare IP Ranges for Nginx...
[ * ] Configuring Apache Web Server...
[ * ] Installing PHP 8.3...
[ * ] Configuring PHP-FPM 8.3...
[ * ] Configuring PHP...
[ * ] Configuring Vsftpd server...
[ * ] Configuring MariaDB database server...
[ * ] Installing phpMyAdmin version v5.2.2...
[ * ] Configuring Bind DNS server...
[ * ] Configuring fail2ban access monitor...
[ * ] Configuring File Manager...
[ * ] Configuring PHP dependencies...
[ * ] Installing Rclone & Update Restic ...
[ * ] Configuring System IP...
[ * ] Installing remaining software updates...
Job for hestia.service failed because the control process exited with error code.
See "systemctl status hestia.service" and "journalctl -xeu hestia.service" for details.
Error: hestia start failed
journalctl -xeu hestia.service
:
...
May 21 05:59:18 systemd[1]: Starting hestia.service - LSB: starts the hestia control panel...
May 21 05:59:18 hestia[47562]: nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/usr/local/hestia/ss>
May 21 05:59:18 hestia[47562]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
May 21 05:59:19 hestia[47562]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
May 21 05:59:21 hestia[47562]: nginx: [emerg] still could not bind()
May 21 05:59:21 systemd[1]: hestia.service: Failed with result 'exit-code'.