404 error when trying to access the phpMyAdmin

Hello,

I’ve just installed HestiaCP. I’m new to this, but I’ve gotten stuck here. I’m trying to access phpMyAdmin using either the IP or the domain, but the error is the same. I’ve already installed it twice. Could you please help me?


Hi @Zacker

Keep in mind that this is an English only forum.

You can’t access to phpMyAdmin using your site’s IP. Use the domain name instead.

https://hestiacp.com/docs/server-administration/databases.html#why-i-can-t-use-http-ip-phpmyadmin

Thanks, I’ve tried what’s in that manual but I still can’t access it.

Is there any other alternative?

Use a domain name. If you don’t have one pointing to that private ip just edit the hosts file from your machine and add one pointing to the private ip so you could access to your Hestia site using that domain name.

Here you can see that I use it and I can access the Hestia cpnale, but when I try to access phpMyAdmin I can’t either.

Show the output of these commands:

cat /etc/apache2/conf.d/phpmyadmin.inc
ls -la /etc/phpmyadmin/

Also, keep in mind that panel.immervices.com must exist as web domain in Hestia.

Here’s the output of these commands:

Yes, panel.imservices.com is indeed created in the domains.

Are you using Nginx or Nginx+Apache2?

By default Hestia uses Nginx+Apache2 so show the output of this command:

cat /etc/apache2/conf.d/domains/panel.imservices.com.conf
systemctl restart apache2
systemctl status apache2 --no-pager -l

Also, next time, please, don’t use screenshots to show outputs, just paste the text, select it and click on </> button or Ctrl+E to format the text correctly. It is really hard to read screenshots.

Ok sorry
If I use the default Nginx+Apache2 configuration

#============================================================================#

# Default Web Domain Template

# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS

# 

https://hestiacp.com/docs/server-administration/web-templates.html

#============================================================================#

<VirtualHost 172.16.2.153:8080>

ServerName panel.imservices.com

ServerAdmin [email protected]
DocumentRoot /home/admin/web/panel.imservices.com/public_html
ScriptAlias ​​/cgi-bin/ /home/admin/web/panel.imservices.com/cgi-bin/
Alias ​​/vstats/ /home/admin/web/panel.imservices.com/stats/
Alias ​​/error/ /home/admin/web/panel.imservices.com/document_errors/
#SuexecUserGroup admin admin
CustomLog /var/log/apache2/domains/panel.imservices.com.bytes bytes
CustomLog /var/log/apache2/domains/panel.imservices.com.log combined
ErrorLog /var/log/apache2/domains/panel.imservices.com.error.log

IncludeOptional /home/admin/conf/web/panel.imservices.com/apache2.forcessl.c onf\*

<Directory /home/admin/web/panel.imservices.com/stats>
AllowOverride All

<Directory /home/admin/web/panel.imservices.com/public_html>
AllowOverride All
Options +Includes -Indexes +ExecCGI

<FilesMatch .php$>
SetHandler “proxy:unix:/run/php/php8.3-fpm-panel.imservices.com.sock|fcg i://localhost”

SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0

IncludeOptional /home/admin/conf/web/panel.imservices.com/apache2.conf\_\*
IncludeOptional /etc/apache2/conf.d/\*.inc

with the other command

● apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: active (running) since Sun 2026-04-12 20:54:06 -04; 9s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 18723 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 18726
Tasks: 56 (limit: 4598)
Memory: 8.9M (peak: 9.3M)
CPU: 134ms
CGroup: /system.slice/apache2.service
├─18726 /usr/sbin/apache2 -k start
├─18728 /usr/sbin/apache2 -k start
├─18729 /usr/sbin/apache2 -k start
└─18730 /usr/sbin/apache2 -k start

abr 12 20:54:06 panel.imservices.com systemd\[1\]: Starting apache2.service - The Apache HTTP Server…
abr 12 20:54:06 panel.imservices.com apachectl\[18725\]: AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using panel.imservices.com. Set the ‘ServerName’ directive globally to suppress this message
abr 12 20:54:06 panel.imservices.com systemd\[1\]: Started apache2.service - The Apache HTTP Server.

There are some missed closing options in your apache conf but I suppose it’s because the way you copied/pasted the text.

I see no other issues in your conf, you are loading *.inc files that contain phpmyadmin conf.

Show the output of these 2 commands:

ls -la /usr/share/phpmyadmin/
dpkg -l | grep -i phpmyadmin

hosting@panel:~$ ls -la /usr/share/phpmyadmin/
total 764
drwxr-xr-x 13 root root 4096 abr 12 18:02 .
drwxr-xr-x 452 root root 20480 abr 12 17:51 ..
-rw-r–r-- 1 root root 69 abr 12 17:51 babel.config.json
-rw-r–r-- 1 root root 19492 abr 12 17:51 ChangeLog
-rw-r–r-- 1 root root 5453 abr 12 17:51 composer.json
-rw-r–r-- 1 root root 328311 abr 12 17:51 composer.lock
-rw-r–r-- 1 root root 4810 abr 12 17:51 config.sample.inc.php
-rw-r–r-- 1 root root 2587 abr 12 17:51 CONTRIBUTING.md
drwxr-xr-x 3 root root 4096 abr 12 17:51 doc
drwxr-xr-x 2 root root 4096 abr 12 17:51 examples
-rw-r–r-- 1 root root 22486 abr 12 17:51 favicon.ico
-rw-r----- 1 root hestiamail 6172 abr 12 18:02 hestia-sso.php
-rw-r–r-- 1 root root 1074 abr 12 17:51 index.php
drwxr-xr-x 6 root root 4096 abr 12 17:51 js
drwxr-xr-x 4 root root 4096 abr 12 17:51 libraries
-rw-r–r-- 1 root root 18092 abr 12 17:51 LICENSE
drwxr-xr-x 46 root root 4096 abr 12 17:51 locale
-rw-r–r-- 1 root root 2959 abr 12 17:51 package.json
-rw-r–r-- 1 root root 1520 abr 12 17:51 README
-rw-r–r-- 1 root root 29 abr 12 17:51 RELEASE-DATE-5.2.2
-rw-r–r-- 1 root root 26 abr 12 17:51 robots.txt
drwxr-xr-x 5 root root 4096 abr 12 17:51 setup
-rw-r–r-- 1 root root 1153 abr 12 17:51 show_config_errors.php
drwxr-xr-x 2 root root 4096 abr 12 17:51 sql
drwxr-xr-x 25 root root 4096 abr 12 17:51 templates
drwxr-xr-x 6 root root 4096 abr 12 17:51 themes
drwxr-xr-x 2 hestiamail www-data 4096 abr 12 17:51 tmp
-rw-r–r-- 1 root root 965 abr 12 17:51 url.php
drwxr-xr-x 28 root root 4096 abr 12 17:51 vendor
-rw-r–r-- 1 root root 251057 abr 12 17:51 yarn.lock

The last command returns nothing.

dpkg -l | grep -i phpmyadmin
hosting@panel:~$dpkg -l | grep -i phpmyadmin
hosting@panel:~$

All looks good, I see no obvious issue.

I’m leaving now, I’ll contact you tomorrow so we can figure out what’s going on.

The problem was that port 443 had been natted to 4444 when trying to access phpMyAdmin since phpMyAdmin uses port 443 by default. As soon as I removed port 4444 and replaced it with port 443, the problem was solved