The installation script freezes

When running the installation in the ubuntu 24.04 environment for raspberry pi 5, the script freezes when installing phpMyAdmin.

Adding required repositories to proceed with installation:

[ * ] NGINX
[ * ] PHP
[ * ] MariaDB 11.4
[ * ] Hestia Control Panel

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... 


========================================================================

[ * ] Configuring system settings...
info: Adding user `hestiamail' to group `hestia-users' ...
[ * ] 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...

I waited for the script to finish for about an hour. When installing HestiaCP without MariaDB, the process completes successfully, but then I cannot add MariaDB from the panel.

Does this command work on your Raspberry?

wget --retry-connrefused https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-all-languages.tar.gz

The wget download takes place normally. The installation script freezes at the phpMyAdmin stage.

I have been using raspberry-pi for several years now as a home web server and a web development server in conjunction with HestiaCP. It is very comfortable. But now it was necessary to deploy another server and it failed.

Then I suppose it is stuck here:

source $HESTIA_INSTALL_DIR/phpmyadmin/pma.sh > /dev/null 2>&1

Show the output of these commands:

systemctl status mariadb --no-pager -l
mariadb -uroot -e 'SHOW DATABASES;'
mariadb -uroot -e 'SELECT User,Host FROM mysql.user;'
root@raspberry-pi-2:/home/rigin# systemctl status mariadb --no-pager -l
mariadb -uroot -e 'SHOW DATABASES;'
mariadb -uroot -e 'SELECT User,Host FROM mysql.user;'
● mariadb.service - MariaDB 11.4.10 database server
     Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: enabled)
    Drop-In: /etc/systemd/system/mariadb.service.d
             └─migrated-from-my.cnf-settings.conf
     Active: active (running) since Sat 2026-02-07 12:25:24 MSK; 1h 16min ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 165807 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && echo _WSREP_START_POSITION=$VAR > /run/mysqld/wsrep-start-position || exit 1 (code=exited, status=0/SUCCESS)
    Process: 165943 ExecStartPost=/bin/rm -f /run/mysqld/wsrep-start-position /run/mysqld/wsrep-new-cluster (code=exited, status=0/SUCCESS)
    Process: 165945 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 165929 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 10 (limit: 59816)
     Memory: 108.0M (peak: 112.8M)
        CPU: 4.118s
     CGroup: /system.slice/mariadb.service
             └─165929 /usr/sbin/mariadbd

Feb 07 12:25:21 raspberry-pi-2.local.tld systemd[1]: Starting mariadb.service - MariaDB 11.4.10 database server...
Feb 07 12:25:21 raspberry-pi-2.local.tld (mariadbd)[165929]: mariadb.service: Referenced but unset environment variable evaluates to an empty string: MYSQLD_OPTS, _WSREP_NEW_CLUSTER
Feb 07 12:25:24 raspberry-pi-2.local.tld systemd[1]: Started mariadb.service - MariaDB 11.4.10 database server.
Feb 07 12:25:24 raspberry-pi-2.local.tld /etc/mysql/debian-start[165947]: Upgrading MariaDB tables if necessary.
Feb 07 12:25:24 raspberry-pi-2.local.tld /etc/mysql/debian-start[165966]: Checking for insecure root accounts.
Feb 07 12:25:24 raspberry-pi-2.local.tld debian-start[165969]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
+-------------+-----------+
| User        | Host      |
+-------------+-----------+
| mariadb.sys | localhost |
| mysql       | localhost |
| root        | localhost |
+-------------+-----------+
root@raspberry-pi-2:/home/rigin# 

The same thing happens when installing under Oracle VirtualBox.

rigin@ubuntulocal:~$ wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
--2026-02-07 10:34:26--  https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4418 (4,3K) [text/plain]
Saving to: ‘hst-install.sh’

hst-install.sh                                           100%[================================================================================================================================>]   4,31K  --.-KB/s    in 0s      

2026-02-07 10:34:26 (38,8 MB/s) - ‘hst-install.sh’ saved [4418/4418]

rigin@ubuntulocal:~$ sudo -s
[sudo] password for rigin: 
root@ubuntulocal:/home/rigin# bash hst-install.sh --lang 'ru' --hostname 'raspberry-pi-2.local.tld' --username 'admin' --email '[email protected]' --password 'Gfhnbpfys123' --multiphp '5.6,7.0,7.1,7.2,7.3,8.0,8.1,8.2,8.3,8.4' --clamav no --spamassassin no --webterminal yes --force
Welcome to the Hestia Control Panel installer!

Please wait, the installer is now checking for missing dependencies...

[ * ] Installing dependencies...
Scanning processes...                                                                                                                                                                                                             
Scanning linux images...                                                                                                                                                                                                          

                _   _           _   _        ____ ____                  
               | | | | ___  ___| |_(_) __ _ / ___|  _ \                 
               | |_| |/ _ \/ __| __| |/ _` | |   | |_) |                
               |  _  |  __/\__ \ |_| | (_| | |___|  __/                 
               |_| |_|\___||___/\__|_|\__,_|\____|_|                    
                                                                        
                          Hestia Control Panel                          
                                  1.9.4                        
                            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)
   - Multi-PHP Environment: Version php5.6 php7.0 php7.1 php7.2 php7.3 php8.0 php8.1 php8.2 php8.3 php8.4
   - Bind DNS Server
   - Exim Mail Server
   - Dovecot POP3/IMAP Server
   - MariaDB Database Server
   - Vsftpd FTP Server
   - Web terminal
   - Firewall (iptables) + Fail2Ban Access Monitor

========================================================================


Would you like to continue with the installation? [y/N]: y
Installation backup directory: /root/hst_install_backups/070220261034
Installation log file: /root/hst_install_backups/hst_install-070220261034.log

Adding required repositories to proceed with installation:

[ * ] NGINX
[ * ] PHP
[ * ] MariaDB 11.4
[ * ] Hestia Control Panel
[ * ] Node.js 20
Scanning processes...                                                                                                                                                                                                             
Scanning linux images...                                                                                                                                                                                                          

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... 
Scanning processes...                                                                                                                                                                                                             
Scanning linux images...                                                                                                                                                                                                          


========================================================================

[ * ] Configuring system settings...
info: Adding user `hestiamail' to group `hestia-users' ...
[ * ] 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 5.6...
[ * ] Installing PHP 7.0...
[ * ] Installing PHP 7.1...
[ * ] Installing PHP 7.2...
[ * ] Installing PHP 7.3...
[ * ] Installing PHP 8.0...
[ * ] Installing PHP 8.1...
[ * ] Installing PHP 8.2...
[ * ] Installing PHP 8.3...
[ * ] Installing PHP 8.4...
[ * ] Configuring PHP-FPM 8.3...
[ * ] Configuring PHP...
[ * ] Configuring Vsftpd server...
[ * ] Configuring MariaDB database server...
[ * ] Installing phpMyAdmin version v5.2.2...
^C
root@ubuntulocal:/home/rigin# systemctl status mariadb --no-pager -l
mariadb -uroot -e 'SHOW DATABASES;'
mariadb -uroot -e 'SELECT User,Host FROM mysql.user;'
● mariadb.service - MariaDB 11.4.10 database server
     Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: enabled)
    Drop-In: /etc/systemd/system/mariadb.service.d
             └─migrated-from-my.cnf-settings.conf
     Active: active (running) since Sat 2026-02-07 10:51:03 UTC; 19min ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 147354 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && echo _WSREP_START_POSITION=$VAR > /run/mysqld/wsrep-start-position || exit 1 (code=exited, status=0/SUCCESS)
    Process: 147491 ExecStartPost=/bin/rm -f /run/mysqld/wsrep-start-position /run/mysqld/wsrep-new-cluster (code=exited, status=0/SUCCESS)
    Process: 147493 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 147475 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 62270)
     Memory: 106.5M (peak: 110.7M)
        CPU: 2.043s
     CGroup: /system.slice/mariadb.service
             └─147475 /usr/sbin/mariadbd

фев 07 10:51:00 raspberry-pi-2.local.tld systemd[1]: Starting mariadb.service - MariaDB 11.4.10 database server...
фев 07 10:51:01 raspberry-pi-2.local.tld (mariadbd)[147475]: mariadb.service: Referenced but unset environment variable evaluates to an empty string: MYSQLD_OPTS, _WSREP_NEW_CLUSTER
фев 07 10:51:03 raspberry-pi-2.local.tld systemd[1]: Started mariadb.service - MariaDB 11.4.10 database server.
фев 07 10:51:03 raspberry-pi-2.local.tld /etc/mysql/debian-start[147499]: Upgrading MariaDB tables if necessary.
фев 07 10:51:03 raspberry-pi-2.local.tld /etc/mysql/debian-start[147502]: Reading datadir from the MariaDB server failed. Got the following error when executing the 'mysql' command line client
фев 07 10:51:03 raspberry-pi-2.local.tld /etc/mysql/debian-start[147502]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
фев 07 10:51:03 raspberry-pi-2.local.tld /etc/mysql/debian-start[147502]: FATAL ERROR: Upgrade failed
фев 07 10:51:03 raspberry-pi-2.local.tld /etc/mysql/debian-start[147512]: Checking for insecure root accounts.
фев 07 10:51:03 raspberry-pi-2.local.tld debian-start[147515]: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
+-------------+-----------+
| User        | Host      |
+-------------+-----------+
| mariadb.sys | localhost |
| mysql       | localhost |
| root        | localhost |
+-------------+-----------+
root@ubuntulocal:/home/rigin# ^C
root@ubuntulocal:/home/rigin# 

I don’t have a Raspberry Pi available right now to run tests, but as I mentioned before, I imagine it’s failing while executing the pma.sh script, which is the one that creates the database and tables for phpMyAdmin. However, if that were the case, it doesn’t make much sense for it to get stuck. It should throw an error. That’s why I asked you to try the wget command, because in that case it is “normal” for it to hang for a long time before reaching a timeout.

Sorry, without a Raspberry Pi I can’t debug this properly. Ubuntu 24.04 in a VirtualBox VM doesn’t give me this problem when using en as the language. I’ll try changing the language. Could you try using the en locale instead of ru and see if there’s any change?

Those errors occur because debian-start expects to access MariaDB using the root user without a password via the Unix socket. The problem is that Hestia modifies the database root user to use a password instead of unix socket. To fix this issue, you should add the password generated by Hestia to the /etc/mysql/debian.cnf file.

[client]
host     = localhost
user     = root
password='HereThePassword'
[mysql_upgrade]
host     = localhost
user     = root
password='HereThePassword'

Note: You can see the password in this file /root/.my.cnf.

After that, I tried to install HestiaCP on an Oracle VirtualBox ubuntu-server 24.04 AMD64 VM.
This situation repeats itself. Above, I have provided a listing on a virtual machine. I just forgot to change the url of the panel.

I’ve tried again in an Oracle VirtualBox Ubuntu 24.04, locale ru_RU.UTF-8 and exactly the same command you posted to install Hestia and I had no issues.

I see you are using sudo -s, could you please try the same installation but using sudo -i instead of sudo -s?

I understood what was going on.

https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-all-languages.zip

It is blocked for ip addresses from Russia. These are the little dirty tricks that you call sanctions. )))

1 Like

I don’t understand.

But I told you to try this command:

And you said the download was working…

Excuse me, I just misunderstood, I thought you asked about the initial loading of the script.

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

I have a habit of quickly skimming the text of an mail. She lets me down sometimes.

I understood what needed to be done.

My need to download the archive via VPN, put it next to the hst-install-ubuntu.sh script and comment out the line wget --quiet --retry-connrefused https://files.phpmyadmin.net/phpMyAdmin/$pma_v/phpMyAdmin-$pma_v-all-languages.tar.gz. And in the line tar xzf phpMyAdmin-$pma_v-all-languages.tar.gz write the path to the archive.

1 Like

I’m installing the panel now, it freezes at the [ * ] stage of Installing phpMyAdmin version v5.2.2… I don’t understand how to fix it. How did you solve this problem? I do not know and do not use 3-letter words.

I made a version of the boot script to bypass the phpMyAdmin lock.
I uploaded the phpMyAdmin archives to my website and changed the download links in the script code.

Load the script with the following command:

wget https://files.rigin.net/phpmyadmin/hst-install.sh


Next, you can use the standard run of the installation script.

Sorry that I originally used Russian to describe the solution to the problem, as this is a local problem for Russia.

1 Like

Your message cannot be read! You’ve probably revealed a big secret! I did the following. If you can’t download a specific version, download any one. For example, phpMyAdmin 4.9.11 and rename it to the desired one, exactly as the panel installer shows, we throw it into the ROOT directory and a miracle happens!

Guys, please stick to english only, thank you. Probaly russian sources are blocked by phpmyadmin, as already discussed above.

Also I do not suggest to install hestia using installer from unknown sources.

2 Likes

Now I decided to check the functionality of the solution, it doesn’t work. This means that problems were intentionally created. So that the fix doesn’t work. Why do this? Who needs it? Guys, how do I solve the installation problem? Renaming the file and locating it in the root directory does not work.
————————-
[ * ] Installing phpMyAdmin version v5.2.2…
cp: не удалось выполнить stat для ‘phpMyAdmin-5.2.2-all-languages/*’: Нет такого файла или каталога
sed: невозможно прочитать /usr/share/phpmyadmin/libraries/vendor_config.php: Нет такого файла или каталога
[ * ] Configuring Bind DNS server…
[ * ] Configuring Exim mail server…
[ * ] Configuring Dovecot POP/IMAP mail server…
Job for dovecot.service failed because the control process exited with error code.
See “systemctl status dovecot.service” and “journalctl -xeu dovecot.service” for details.
Error: dovecot start failed
root@root:~#

We are not hosting or distributing phpMyAdmin ourselves - the installer downloads it directly from the official phpMyAdmin source.
If the download fails or files are missing, this is almost certainly related to network restrictions or geo-blocking on the phpMyAdmin download servers. We have no control over that.
Please verify from your server that you can directly download the archive from files.phpmyadmin.net. If the source is blocked in your region, the installer cannot complete successfully.

1 Like

Blockages occur on a territorial basis. They are filtered on the sidephpmyadmin.net it is not the file that is being uploaded phpMyAdmin-5.2.2-all-languages.tar.gz !