Phpmyadmin Error 404

Hi.

I got error 404 when trying to access phpmyadmin from http://xx.xx.xx.xx/phpmyadmin/

This is fresh HestiaCP install with ubuntu 18.04, nginx and multiphp.

How to solve this error 404?

Thank you.

Welcome to the forum - @entiti

Error 404 seems to be related to nginx phpmyadmin.conf template - maybe it is missing?

Please try to enter the following cmd and check the output: nginx -T | grep phpmyadmin

1 Like

This result if run the command.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
        location /phpmyadmin/ {
    include     /etc/nginx/conf.d/phpmyadmin.inc*;
# configuration file /etc/nginx/conf.d/phpmyadmin.inc:
location /phpmyadmin {
    alias /usr/share/phpmyadmin/;
    location ~ ^/phpmyadmin/(.*\.php)$ {
        alias /usr/share/phpmyadmin/$1;
    location /phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
        root /usr/share/phpmyadmin/;
    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phpmyadmin.inc*;

Thanks for the output.

Can you please check /usr/share/phpmyadmin?

I prefer Adminer over phpMyAdmin, that’s why I am suggesting step-by-step approach here.

Is this what you meant?

cc:~# nginx -T | grep /usr/share/phpmyadmin                                                                    
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
  alias /usr/share/phpmyadmin/;                                                                                              
    alias /usr/share/phpmyadmin/$1;                                                                                         
    root /usr/share/phpmyadmin/;

Can you please share your complete install command so we can try to reproduce this?

I use this.

sudo bash hst-install.sh -a no -n yes -w yes -o no -v no -j no -k no -m yes -g no -x no -z no -c yes -t no -i yes -b yes -q no -d yes -f no -y yes -r 8083 -s hostname -e [email protected] -l en

I meant to check contents of the “/usr/share/phpmyadmin/” folder.

If there are no phpMyAdmin .php files, 404 could take place (depending on nginx error configuration).

Thank you.

There’s file is there.

Did a quick research and found out that the exact same issue has been already discussed. - Unfortunately without a resolution.

My recommendation here is as follows:

  1. Try to: “Rebuild All” @ Hestia CP’s drop-down menu
  2. Check permissions, upgrade phpMyAdmin, upgrade fpm
  3. In case nothing of the above works - perform OS reinstall from scratch (backup sensitive data first)

Let us know how it went :slight_smile:

  1. “Rebuilt All” and restart server does not work. The problem still occur.
  2. I don’t really know how to do this.
  3. I had deploy my 2nd server several time actually and the problem is the same.

I had 2 server install with Hestia. The first one is installed couple months ago. And the second one is installed last week. Both have the same problem which can’t access phpmyadmin. My other server which use Vesta had no problem to acces phpmyadmin. It works fine.

Step I install.

  1. Deploy server
  2. apt update
  3. apt upgrade
  4. Install hestia

I use, Ubuntu 18.04, nginx, php-fpm, mariadb, clam antivirus, fail2ban, iptable. No spam assasin, no dns, no named, no davecot, no exim.

It only to manage website. I use cloudflare to mange dns and maxroute to manage emails.

From the install command you posted it looks like you selected php-fpm and not multiphp as you mentioned in the initial post.

I’m doing now a clean install with that command and will get back to you shortly.

[Update after install]

Yes, I access using ip address like this “http://xx.xx.xx.xx/phpmyadmin/”. And also using the same method on vestacp which work properly and not getting any 404 error.

Should I change something?

Or this will be resolve for next HestiaCP update?

Thank you.

You can edit the nginx config for unknown domains at: /etc/nginx/conf.d/xx.xx.xx.xx.conf
and add
include /etc/nginx/conf.d/phpmyadmin.inc*;
before the first location block (line 3 or 4 ).

!! But we do not recommend such a setup, as you can see in that config file, phpmyadmin path is explicitly excluded.
If you still want to go this route then you should at least limit access by ip address or password protect (nginx auth) that path.

Sound risky if I want to change setting and use “http://xx.xx.xx.xx/phpmyadmin/”.

This issue is resolve then. It is expected to get error when trying to access phpmyadmin from “http://xx.xx.xx.xx/phpmyadmin/”.

One should enter phpmyadmin with hostname.

Thank you.

Yeah I had the same problem and the way I rectified it was

nano /etc/nginx/conf.d/[your server ip].conf
then change the port at the top from 80 to 8080 and save the file