My CMS and other Virtualmin scripts

I restored my Joomla website in the public_html folder of the Virtual Server.
I see that scripts (for example phpMyAdmin) create a folder in public_html.
I think this generates conflicts or at least problems.
For example, the URL mydomain.tld/phpmyadmin returns the error Forbidden You don’t have permission to access this resource.
I can restore in a subfolder of public_html (for example my-cms, but then I have to configure the domain because if I type my-domain.tld it has to open public_html/my-domain/my-cms/index.php
while if I type the URL my-domain.tld/phpmyadmin the phpMyAdmin login page opens.

SYSTEM INFORMATION
OS type and version Debian 12
Webmin version 2.105
Virtualmin version 7.10.0 Pro
Related packages Scripts

Why not add index.php to the end of the url ? From this point you may not get the error

1 Like

Is that where it belongs?
most separate scripts that I have seen go into their own sub-directory of public_html and have their own index.php {main}

phpMyAdmin and Roundcube go in their respective public_html/phpmyadmin and public_html/roundcube sub-dirs.

don’t know anything about “Joomla” but would presume the same.

When you say “restored” was this using the “restore” from a Virtualmin backup or some other “restore”/system?

… and you are using the latest version of Joomla and PHP (8.2) and MariaDb - always upgrade old software before you “restore” anything.

Joomola (idk) may add lines to the .htaccess file rendering the unreadable without the full path being the url hence adding the filename to the url rather than relying on the directoryindex directive . You can restore the files by any means and everything would work correctly … in essence a file in the right place should work and be accessible, I get the impression the restore has taken place from another servers files in some form and perhaps there are settinds that elude to the environment of the previous server and not the current server. It’s good to plan restores and check everything before you do them to ensure that stuff doesn’t come back to bite you.

1 Like

Try @jimr1 suggestion above by adding index.php onto your URL for phpmyadmin

In the htaccess file joomla adds the standard redirects to itself when the file or folder does not exists.

It should not directly affect phpmyadmin if it is in a subfolder. And that folder is a real folder.

I had already tried calling phpmyadmin/index.php but the error always returns.

The CMS is configured to handle both URLs and htaccess using security extensions.
I shouldn’t have to change the CMS or htaccess configuration every time I install a script.

Furthermore, if a CMS user can scroll through its folders (for example, granting access to a technician for remote assistance to the CMS only), he will also find those referring to other scripts, which are independent of the CMS.

What I’m wondering is whether it is possible to have the Virtual Server point to a subfolder of public_html (e.g. public_html/main) and let the scripts create their own subfolders in public_html (e.g. public_html/phpmyadmin)

In that case just create a sub server and install the scripts there. If you using the virtualmin script installer there is an option to install the software in any sub directory you choose. In this case you could call the sub server phpmyadmin.mydomain.com if you wanted

Right, but then it must also have rights to the other Virtual Server databases. It can be done?

Yes because a sub server is owned by the same user and group as it’s parent server

I’ll try tomorrow. If installing it in the “phpmyadmin” subserver then allows me to select all the databases of the domain, I have solved my problem.

I didn’t find using Webmin to be practical. I need to setup a view that includes all tables and indexes.
If I set up 50 rows and have 200 entries, it would be enough to display them in 4 pages. Instead it doesn’t even display a single line.

so is this a general question about a Joomla migration/restore, or about phpmyadmin installation?

Of course your requirements I’m sure are different from mine, but when I use a Virtualmin mgmt panel to access its sql database, I find it fulfills all my sql needs and is very friendly in my environment.

I created a subserver called phpmyadmin.
I configured it as “Install sub-directory under public_html = At top level”

Below is the error that appears.
I tried both with php 8.2.18 and 8.3.6.

Separately I open a thread for database management in Webmin; if I solve that problem I avoid installing phpmyadmin (even though I would like to understand the reason for the problems).