Virtualmin installation hangs, Ubuntu 16.04 LTS, DigitalOcean IPV6

Hi all, upon a suggestion in the other Ubuntu 16.04 thread, I was told to create a new thread about my issue. Initially, my suspect was a lack of RAM, however, even bumping the RAM up to 4GB did not solve the issue.

What I am experiencing is that my install hangs at this exact point:

INFO - /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install bsdutils postfix postfix-pcre webmin usermin ruby libxml-simple-perl libcrypt-ssleay-perl unzip zip libfcgi-dev bind9 spamassassin spamc procmail procmail-wrapper libnet-ssleay-perl libpg-perl libdbd-pg-perl libdbd-mysql-perl quota iptables openssl python mailman subversion ruby irb rdoc ri mysql-server mysql-client mysql-common postgresql postgresql-client awstats webalizer dovecot-common dovecot-imapd dovecot-pop3d proftpd libcrypt-ssleay-perl awstats clamav-base clamav-daemon clamav clamav-freshclam clamav-docs clamav-testfiles libapache2-mod-fcgid apache2-suexec-custom scponly apache2 apache2-doc libapache2-svn libsasl2-2 libsasl2-modules sasl2-bin php-pear php php-cgi libapache2-mod-php php-mysql: Succeeded.
INFO - Succeeded.
INFO - Installing Virtualmin and all related packages now using the command:
INFO - /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install virtualmin-base
…in progress, please wait…


The last row of dots stay stuck there for about twenty minutes, until my PuTTy instance timeouts.

Here is my configuration:

Ubuntu 16.04 LTS x64 (tried 512mb, 1gb and 4gb with same results), DigitalOcean Singapore server, Private networking, IPv6 and backups enabled

Upon creating the droplet, here are the commands I execute:

apt-get update apt-get upgrade hostname buyfromwhere.com (my domain name) wget http://software.virtualmin.com/gpl/scripts/install.sh -O /root/virtualmin-install.sh sh /root/virtualmin-install.sh

Am I doing anything wrong?

Upon a reboot of the server, I am able to access https://ip address:10000, but when I do a check on the server configuration, it stops here:

The status of your system is being checked to ensure that all enabled features are available, that the mail server is properly configured, and that quotas are active ..
Your system has 3.86 GB of memory, which is at or above the Virtualmin recommended minimum of 256 MB.

BIND DNS server is installed, and the system is configured to use it. However, the default master DNS server ubuntu-4gb-sgp1-01 is not a fully qualified domain name.

Mail server Postfix is installed and configured.

Postfix is configured to support per-domain outgoing IP addresses.

Suexec is enabled in the default template, but the Apache module mod_suexec is not installed or not enabled.

… your system is not ready for use by Virtualmin.

I have spun up instances with 512mb, 1gb and 4gb of RAM but I get a consistent result. At first I thougth it was my hostname, so I changed my hostname to some gibberish ending with .com, but with the same result as well.

Am I doing anything wrong?

Howdy,

Hmm, I was going to suggest adding more RAM, or using a 32 bit version of your distro, but since you’re seeing that issue with 4GB of RAM, I don’t think that’s the cause.

I’m not sure what might cause that; I’ll see if Joe or Jamie have any ideas!

-Eric

Thank you. I tried the same configuration but with Ubuntu 14.04 x64 and it worked fine.

I vaguely remember the installation completing properly on Ubuntu 16.04 x64 a few days ago, but since then I have been unable to get it installed.

I did some further testing and it seems to happen only when I enable IPv6 when setting up a droplet. Is there a reason why this occurs and is there any resolution for this?

Thank you.

When you say puTTY ‘times out’ do you mean it drops the connection? or just that the output shows the operation aborts? Can you enable puTTY nulls so it doesn’t timeout?

The object with the DNS server is to have it’s hostname resolvable. Via the public Internet even, for best results. The solution I’ve followed is to have the server itself named ns1.domain.com, and set up doman.com to match wildcards. Work that out, and enable that Apache module so you pass self-check.

It drops the connection. I have to power cycle the droplet before it can work again.

I’ve narrowed down the issue to when IPv6 is enabled. When IPv6 is disabled, Virtualmin installs correctly. When IPv6 is enabled, Virtualmin installation fails. ENabling IPv6 after Virtualmin is installed also locks me out of Virtualmin; I have to disable IPv6 before it can work correctly again.

With Ubuntu 14.04 this used to work properly, IPv6 or not.

Hrm, that’s all very odd! I’ll do some testing to see if we can reproduce that on our test systems here.

I’m curious if you can enable IPv6 after the installation is complete? Does that by chance work correctly?

-Eric

I have tried that and upon enabling IPv6, I cannot access my server at all by pointing to https://ip address:10000. I have to SSH in to disable IPv6 before I can access Virtualmin again.

Upgrading from 14.04 to 16.04 on an existing IPv6 enabled droplet works fine though.

Any update on this? Thanks!

Any progress on this issue? Tried a fresh installation today with the same problem.

Digitalocean if don’t use ipv6 install perfectly. However can’t recover vps from previous version 14.4 lts

Yes, without ipv6 works perfectly. But I doubt it is unreasonable to expect ipv6 to work?

Virtualmin has always taken a good bit of time for to install. BUT is even longer with IPV6. The issue I believe is with ubuntu’s ipv6 servers. If you notice, apt-get update on IPV6 pauses quite a bit on several ubuntu servers. Sometimes mine updates instantly, sometimes it hangs on a server for several minutes, but eventually continues the update. So this same issue could be adding several minutes to each package that virtualmin is downloading/updating. With many many packages to install, I suspect virtualmin is working in the background and you just need to wait longer. Again, not because virtualmin is slow, its because apt-get to IPV6 ubuntu servers has issues.

The thing is that it will hang at a specific point in the installation. Thereafter, the server becomes non-responsive and my PuTTY session force quits after 20 minutes. Thus I doubt that is the issue at hand. Everything in the installation proceeds smoothly up until that point as well, and it worked just fine under 14.04.

Out of curiosity, is else seeing a similar issue? Or seeing this issue at a different provider?

Another thing you may want to try though is to make sure your client isn’t timing out… you may want to set an SSH Keepalive in Putty, for example, to prevent it from timing out.

-Eric

I have tried on Linode IPv6 and it seems to work fine.

This is the output from Linode:

INFO - /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install bsdutils postfix postfix-pcre webmin usermin ruby libxml-simple-perl libcrypt-ssleay-perl unzip zip libfcgi-dev bind9 spamassassin spamc procmail procmail-wrapper libnet-ssleay-perl libpg-perl libdbd-pg-perl libdbd-mysql-perl quota iptables openssl python mailman subversion ruby irb rdoc ri mysql-server mysql-client mysql-common postgresql postgresql-client awstats webalizer dovecot-common dovecot-imapd dovecot-pop3d proftpd libcrypt-ssleay-perl awstats clamav-base clamav-daemon clamav clamav-freshclam clamav-docs clamav-testfiles libapache2-mod-fcgid apache2-suexec-custom scponly apache2 apache2-doc libapache2-svn libsasl2-2 libsasl2-modules sasl2-bin php-pear php php-cgi libapache2-mod-php php-mysql: Succeeded. INFO - Succeeded. INFO - Installing Virtualmin and all related packages now using the command: INFO - /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install virtualmin-base ...in progress, please wait... ..................................................W: --force-yes is deprecated, use one of the options starting with --allow instead.

INFO - /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install virtualmin-base: Succeeded.
insserv: warning: current start runlevel(s) (empty) of script mailman' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (2 3 4 5) of script mailman’ overrides LSB defaults (empty).
update-rc.d: error: cannot find a LSB script for postgresql-8.3
Failed to stop postgresql-8.3.service: Unit postgresql-8.3.service not loaded.
update-rc.d: error: cannot find a LSB script for postgresql-8.4
Failed to stop postgresql-8.4.service: Unit postgresql-8.4.service not loaded.
insserv: warning: current start runlevel(s) (empty) of script spamassassin' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script spamassassin’ overrides LSB defaults (0 1 6).
insserv: warning: current start runlevel(s) (empty) of script clamav-daemon' overrides LSB defaults (2 3 4 5). insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script clamav-daemon’ overrides LSB defaults (0 1 6).
INFO - Installing Virtualmin modules:
INFO - /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install webmin-security-updates webmin-virtual-server webmin-virtual-server-theme webmin-virtualmin-awstats webmin-virtualmin-htpasswd
…in progress, please wait…
…W: --force-yes is deprecated, use one of the options starting with --allow instead.

INFO - /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install webmin-security-updates webmin-virtual-server webmin-virtual-server-theme webmin-virtualmin-awstats webmin-virtualmin-htpasswd: Succeeded.
29 May 06:28:09 ntpdate[12612]: adjust time server 91.189.94.4 offset -0.000449 sec
Enabling module suexec.
To activate the new configuration, you need to run:
service apache2 restart
Enabling module actions.
To activate the new configuration, you need to run:
service apache2 restart
Module fcgid already enabled
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Module socache_shmcb already enabled
Module ssl already enabled
INFO - Checking for updates to Virtualmin-related packages…
…in progress, please wait…
.
INFO - /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install bsdutils postfix postfix-pcre webmin usermin ruby libxml-simple-perl libcrypt-ssleay-perl unzip zip libfcgi-dev bind9 spamassassin spamc procmail procmail-wrapper libnet-ssleay-perl libpg-perl libdbd-pg-perl libdbd-mysql-perl quota iptables openssl python mailman subversion ruby irb rdoc ri mysql-server mysql-client mysql-common postgresql postgresql-client awstats webalizer dovecot-common dovecot-imapd dovecot-pop3d proftpd libcrypt-ssleay-perl awstats clamav-base clamav-daemon clamav clamav-freshclam clamav-docs clamav-testfiles libapache2-mod-fcgid apache2-suexec-custom scponly apache2 apache2-doc libapache2-svn libsasl2-2 libsasl2-modules sasl2-bin php-pear php php-cgi libapache2-mod-php php-mysql: Succeeded.
INFO - Updating SpamAssassin rules…
INFO - Rule updates done

Versus Digitalocean:

INFO - /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install bsdutils postfix postfix-pcre webmin usermin ruby libxml-simple-perl libcrypt-ssleay-perl unzip zip libfcgi-dev bind9 spamassassin spamc procmail procmail-wrapper libnet-ssleay-perl libpg-perl libdbd-pg-perl libdbd-mysql-perl quota iptables openssl python mailman subversion ruby irb rdoc ri mysql-server mysql-client mysql-common postgresql postgresql-client awstats webalizer dovecot-common dovecot-imapd dovecot-pop3d proftpd libcrypt-ssleay-perl awstats clamav-base clamav-daemon clamav clamav-freshclam clamav-docs clamav-testfiles libapache2-mod-fcgid apache2-suexec-custom scponly apache2 apache2-doc libapache2-svn libsasl2-2 libsasl2-modules sasl2-bin php-pear php php-cgi libapache2-mod-php php-mysql: Succeeded. INFO - Succeeded. INFO - Installing Virtualmin and all related packages now using the command: INFO - /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install virtualmin-base ...in progress, please wait... ......................................................

Despite the hanging, upon a server reboot, I am able to access my ip address:10000 to login into Virtualmin. Setup works fine until I run the recheck server configuration, which gives me this:

Your system has 1.95 GB of memory, which is at or above the Virtualmin recommended minimum of 256 MB.

BIND DNS server is installed, and the system is configured to use it. However, the default master DNS server ubuntu-2gb-sgp1-01 is not a fully qualified domain name.

Mail server Postfix is installed and configured.

Postfix is configured to support per-domain outgoing IP addresses.

Suexec is enabled in the default template, but the Apache module mod_suexec is not installed or not enabled.

EDIT: I tried on the successfully configured Linode server as well and got the same error. Does this mean that installation completed successfully on my DiigtalOcean server as well?

I tried using the virtual console this time from DigitalOcean and I am able to walk through the whole process until it fails.

Attached is my screenshot of the output:
http://i.imgur.com/sBGEjsU.png

Howdy,

Hrm, the installer should definitely be enabling suexec, I’m looking deeper into what could cause that.

But you can run this command to manually enable that:

a2enmod suexec

After doing so I get this error when I try to make a virtual server the default for the IP address: Failed to save website options : The Suexec command on your system is configured to only run scripts under /var/www, but the Virtualmin virtual server home directory is /home. CGI and PHP scripts run as domain owners will not be executed.

Anyway, I managed to extract the installation log of the faulty Digitalocean installation:

http://pastebin.com/rRiK4bxa

It seems to work fine until a fatal error towards the end.

If you need more information I can grant you access to my Digitalocean installation?

To add on, while I get the same initial error on both Digitalocean and Linode, on Linode it seems to be a red herring, i…e, once I create a virtual server the error goes away, but it is genuinely present on the DO installation.

The problem is clear, though I don’t know why it’s happening.

Your server can’t reach software.virtualmin.com:

Cannot initiate the connection to software.virtualmin.com:80 (108.60.199.117). - connect (101: Network is unreachable)

So, if your system can’t talk to our software repository, it obviously can’t install. :wink:

So, fix the network problem and Virtualmin should install. And, this probably explains the hang, as well…it takes something like two minutes for each package to timeout, so you’d have several minutes of nothing while each of the Virtualmin packages fails to connect and download and then times out.