Ubuntu 24.04 / 26.04: Install-Script didn´t work

System: Fresh install / Base
Ubuntu 24.04 / 26.04

I am trying to install Hestia using a customized script from the installation page.

This fails whether I run it as “root” or with “sudo”.

The following error message always appears:

Example: bash hst-install-ubuntu.sh -e [email protected] -p p4ssw0rd --multiphp yes

I have tested both variants:

1.) bash hst-install-ubuntu.sh (or -h)
2.) bash hst-install.sh (or -h)

If I run the installation without options, the script proceeds until the “Nginx” installation stage. “Nginx” fails to start, and the installation aborts.

What is the error?

The script does not execute but terminates with the specified error message.

-–

Error:

[ * ] Configuring NGINX…
[ * ] Updating Cloudflare IP Ranges for Nginx…
Job for nginx.service failed because the control process exited with error code.
See “systemctl status nginx.service” and “journalctl -xeu nginx.service” for details.
Error: nginx start failed

Do you have the entire output of the command?
Are you installing it on a VPS, LXC, VirtualBox…?
What is the output of the following command?

systemctl status nginx --no-pager -l

No output. No VPS, LXC, VirtualBox. Setup on Server-Hardware.

I have no output because I have already performed a fresh base installation.

The script is currently running on Ubuntu 24.04. However, the selection step is once again not executing (port, language, MultiPHP).

Only the base script is running. This installation is not yet complete. The NGINX error might recur.

I don’t use Ubuntu but I’ve tested it right now on a virtual machine using Ubuntu 26.04 and the installation works fine.

It’s important to know if something is not working as expected before the Nginx error.

Use all the arguments you need and use always single quotes for the values, for example:

bash hst-install.sh --hostname 'here.your.hostname' --username 'admin' --email '[email protected]' --password 'Secret$Passw0rd' --sieve yes --quota yes --webterminal yes

Checking the current error when starting the Nginx service could give us a clue about the issue.

I used this script on my second attempt, and the installation was successful:

bash hst-install.sh --port ‘%PORT%’ --lang ‘%LANG%’ --multiphp ’ ’ --force

However, the generated script fails to work if it contains %HOSTNAME%, %USERNAME%, %PASSWORD%, or %EMAIL%.

I cannot yet determine which component is responsible for this. I have a backup of the base installation, so I can test this again if necessary.

I can’t reproduce that issue, it works fine here using those options.

If you want to test where the issue is, download the ubuntu script and run it using bash -x:

wget -q https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install-ubuntu.sh -O hst-install-ubuntu.sh
bash -x hst-install-ubuntu.sh --hostname 'here.your.hostname' --email '[email protected]' --password 'Secret$Passw0rd' --sieve yes --quota yes --webterminal yes 2>&1 | tee /root/debug-hestia.log

Are you using a hostname or mail using non ascii characters?

No.

Good Morning,

the question is why script 1 doesn’t work, while script 2 does execute?

1.) bash hst-install.sh -h

2.) bash hst-install.sh --port ‘%PORT%’ --lang ‘%LANG%’ --multiphp ’ ’ --force

I’m also moving the troubleshooting to a virtual machine.


--

The solution:

1.) The “-h” option only displays the options but does not start an individual installation. (My mistake)
2.) The password contained a ’ character. The subsequent part could not be interpreted.

The issue with the password is also clear.

Normally, I don’t enter it into the script. There is no error message when copying it into the terminal.

You shouldn’t start preparing servers in the evening; other times of day are better suited for it.