Drupal installation fails on Virtualmin

Operating system Debian Linux 10
Webmin version 1.990
Usermin version 1.840
Virtualmin version 6.17-3 Pro

Every time I try to set a Drupal site with Virtual I encounter path or database issue. I tried Virtalmin Pro, a failure every time to install a Drupal site…
When it is about a Wordpress site it is installed perfectly in a few seconds. Is Drupal installed doomed ?

I tried with Apache,
I cannot go further than the second screen of the installation process.
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at [no address given] to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.

Only thing in the logs :
[Mon Apr 11 19:23:33.917186 2022] [fcgid:warn] [pid 19155:tid 140135018841856] [client xxx:8292] mod_fcgid: read data timeout in 31 seconds, referer: Select an installation profile | Drupal
[Mon Apr 11 19:23:33.917284 2022] [core:error] [pid 19155:tid 140135018841856] [client xxx:8292] End of script output before headers: install.php, referer: Select an installation profile | Drupal

With Nginx
### Failed to install script : Download of http://ftp.drupal.org/files/projects/drupal-8.9.20.tar.gz failed : Failed to lookup IP address for ftp.drupal.org

+=ssue it is a nightmare : I discovered that the setting /etc/resolv.conf
is handled badly (is this by Virtualmin ? ). As it is a dynamic (bad) setting it seems difficult to correct.

If you aren’t using Virtualmin to manage DNS, then the default resolv.conf that Virtualmin sets up will cause problems (Virtualmin 7 removes the change, as it was too much trouble for an unimportant feature). So, changing it back makes sense. When you say “dynamic”, I assume you mean your network is setup with DHCP, if that’s the case, you have to configure name servers in the DHCP configuration (I think that’s in dhclient.conf or similar, depends on the distro).

It’s been a while since I’ve tested the Drupal install, but we used it for years for our website, and it always worked well. But, it’s changed quite a bit in Drupal 8 and Drupal 9. I think @ilia did some testing of it more recently.

But, when I visit your site, it says “Drupal is already installed”, so I’m not sure what’s going wrong there.

Thank you Joe, I understand the problem.
In my case are use static. But I couldn’t see the right IP in the resolv.conf.
Can you use Virtualmin 7 with Debian 10 right now ?
About the sites, they are off line since 2 weeks now. It is a huge worry.

Virtualmin 7 is on the way, yet not released at the moment.

Yes, installation worked just fine for me with Apache. We don’t do any post-installations for Drupal anymore, so installing it is trivial and must always work.

I think @ichi has local web-server/DNS misconfiguration.

Thank you Ilia, I did test on several server (all Debian VM on Proxmox). The first thing is the install of Virtualmin that seems to be checked ok. Then, still, there is always with issues installing Drupal either direct or via Virtualmin. Then there is no issues with Wordpress (via Virtualmin install).

Hello Joe, how can I correct the issue and to avoid Virtualmin to manage DNS and resolv.conf ?

Workarround for that.

Virtualmin only makes changes on installation. It does not alter it later.

If you’re using DHCP, you have to change it in the DHCP configuration file (as I said above). I don’t know how to be more clear? If resolv.conf is being modified on reboot, it presumably means you’re using dhcp to configure your network, in which case edit your dhcp client configuration file to set the name server to the appropriate one for your network (instead of 127.0.0.1).

No Joe, I don’t use the DHCP configuration, but a fixed IP (and a MAC address as it in a VM in Proxmox).
I start again an reinstall Virtualmin without the pro version. There no more an issue with resolv.conf being managed automatically.

But, still trying to install Drupal with composer, I encounter now another issue that seems to be link to IPv6

composer create-project drupal/recommended-project www

In RemoteFilesystem.php line 477:

Running :
$ wget https://repo.packagist.org/packages.json
–2022-04-14 08:57:46-- https://repo.packagist.org/packages.json
Resolving repo.packagist.org (repo.packagist.org)… 2001:41d0:701:1000::2034, 146.59.12.218
Connecting to repo.packagist.org (repo.packagist.org)|2001:41d0:701:1000::2034|:443…

How do I control IPv6 with Virtualmin ?

Your using the correct php version?

Yes stephan1959, I use PHP 8.1

Then it seems that there is a bad handling of the IPv6 from the setting in Debian. Is this controlled by Virtualmin ?

Ok, just you first post had Download of http://ftp.drupal.org/files/projects/drupal-8.9.20.tar.gz and php8.1 won’t work with that version, thats how i read it anyway.
Steve

Hello stefan1959 as I indicated here I did so many test on existing servers or brand new one. With Drupal 8 that was a test on a brand new server with Virtualmin that has a script For Drupal. And the suggested install by Virtualmin Pro was D8. After I did test still with Virtualmin Pro but D9 and it was a disaster as well.

The latest test was to use a VM Nginx, Debian 10 and Virtualmin. This VM used to work for 8 years on another Proxmox server.
Moving to the new Proxmox server everything collapse. Here’s what happened :

Out of memory process 27730 (php-loop.pl) Killed process 278837 (php-loop.pl ) score or sacrifice child virtualmin

Is this from Virtualmin ?
After I reboot the VM, how can track down the logs about the issue ?
Thank you for any help. I am loosing 27 years of work without a working site… :mask:

So you tried increasing your memory limit for your PHP?

Steve

Thank you stefan1959, it seems that the php-loop.pl issue came from Docker that went instable because a permission issue with Bind. The server became more stable now.
Thus, the following issue was that the Nginx site config created by Virtualmin is not correct.
After using the Nginx Recipe for the Nginx site config :
https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/
I could access Drupal 9 sites !

Hi again

Understandably they delted us from the other thread, but what I remember is that you tried to install Drupal 9 on Virtualmin by using the install script. Don’t do that! Even if you might have it working now, it will cause you problems later when installing modules and upgrading and you will not be able to overcome those issues. For Drupal 8 and upwards, Composer is the only method to use. My suggestion is that you redo the installation from scratch by using Composer. If you don’t know how to use Composer, I’ll be happy to help you. You have to be able to connect using Putty or similiar. You also should install Drush, but that can be done using Composer.

Just remember that when running Composer, locally you have to that that as User and not as Admin.

Thank you hasse_basse1 :innocent:
I used generally composer but that was the first time to use the Pro script for Drupal.
I thought that could be a good solution : it was a Pro script an I was using the WordPress script successfully.

Now that I use the Virtualmin 7 on Debian 10, I gave another try.
But before using the composer with Drupal I noticed that Virtualmin 7 (same as Virtualmin 6) ruins the Nginx config file. I have immediately 404 Not Found on a brand new VM server after using [ Nginx website enabled] and [ Nginx SSL website enabled].

So it is not only the script that ruins Drupal, If I manage to set a Drupal site using the composer install, then as usual (same in Virtualmin 6) still you might the home page but not any further without 404…

I am looking for an expert to set the Drupal official config for Nginx (and not using Virtualmin).

EDIT after checking with an expert that ask me to give up on virtualmin, I added

        location / {
        try_files $uri /index.php?$query_string ;
        }

to the NGINX config and it is OK :grinning:

1 Like

Hi

That’s correct, you have to use Composer. From Drupal 8 and later versions, Composer have to be used for the handeling of Drupal.

Concerning Nginx, I don’t know anyting about it, but Drupal uses .htaccess a lot for configuration and as far as I know .htaccess is for Apache only. My guess is that you will run into a lot of configurationproblem if you insist to use Nginx.