worker installation removes virtualmin-base

16 posts / 0 new
Last post
#1 Wed, 02/23/2011 - 03:01
helpmin

worker installation removes virtualmin-base

On ubuntu 10.04 I get the follwoing

apt-get install apache2-mpm-worker

The following packages will be REMOVED: apache2-mpm-prefork libapache2-mod-php5 virtualmin-base

I believe virtualmin-base is still needed, right? Any idea, how to solve the problem?

Wed, 02/23/2011 - 03:47
helpmin

Another one:

apt-get install vsftpd

The following packages will be REMOVED: proftpd-basic virtualmin-base

Wed, 02/23/2011 - 04:06
Locutus

Use aptitude instead of apt-get to see the conflicts and choose different resolution options. If in doubt, force virtualmin-base to be kept, even if it is "broken" afterwards cause apache2-mpm-prefork is missing.

Never trust the auto-conflict-resolver and never apply such changes without checking what the package manager will do. :)

The Virtualmin packagers should allow multiple alternatives for mpm-prefork to satisfy Vmin's need for an Apache MPM.

Wed, 02/23/2011 - 04:56
helpmin

Yes, I checked what the package manager will do :-)

Aptitude basically says the same, but also offers other solutions. The other possible solution are downgrades. Not sure whether this is very helpful either?

Wed, 02/23/2011 - 09:40
andreychek

Howdy,

The Virtualmin packagers should allow multiple alternatives for mpm-prefork to satisfy Vmin's need for an Apache MPM.

Right now, the purpose of virtualmin-base is so to act as a meta-package, bringing in all the Virtualmin dependencies.

We've been seeing quite a few issues where apt makes it just a little too simple to remove important packages... I think the current plan for resolving that is to stop using a meta package, and instead, during installation, individually install the necessary packages. It's not quite as clean, but the amount of people who inadvertently remove their entire Virtualmin installation has grown just a bit too high :-)

As far as virtualmin-base goes in this particular case -- it's nothing more than a meta-package for pulling in other dependencies. If it gets removed, I wouldn't be too concerned.

The thing I'd be worried about is it that gets removed, what else is removed along with it? Just be careful that you don't end up removing necessary parts of your working server. So if it offers to remove Apache, politely decline :-)

You could even try running this command:

apt-get install apache2-mpm-worker virtualmin-base

So, to summarize -- losing virtualmin-base isn't a big deal, but the things that depend on it are, so just be careful not to remove more than you bargained for :-)

-Eric

Wed, 02/23/2011 - 10:10
Locutus

I'm doing some tests about this now.

  • Removing virtualmin-base also removes, depending on aptitude config, all stuff that was installed due to its dependencies. Very dangerous.

  • virtualmin-base gets removed because it depends on libapache2-mod-php5, which in turn gets removed due to mpm-prefork removal (it does nor play nice with mpm-worker).

  • Downgrading virtualmin-base by one version is listed as one option to resolve the conflict. That would imply that the dependencies were changed during the last upgrade, introducing this issue.

Solution here would be to remove the dependency of virtualmin-base on mod-php5, or rather make it optional (recommended) so that it gets installed, but won't cause it to be removed if mod-php5 is removed.

Wed, 02/23/2011 - 16:11
helpmin

How about the installation of vsftpd, it also removes virtualmin-base and proftpd. Does it make sense?

Thu, 02/24/2011 - 04:15
helpmin

I tried

apt-get install apache2-mpm-worker

and it actually worked fine as far as I can see (virtualmin still working ...)

Thu, 02/24/2011 - 04:17
Locutus

@helpmin: Yes that won't work, because virtualmin-base depends on mod-php5, which gets removed by installing mpm-worker, cause mod_php does not function with worker.

Right now, the only way to do this is by uninstalling virtualmin-base. You can do that in a "safe" way using aptitude. The procedure should be as follows, but please test this first in a VM.

Try to install mpm-worker. It will complain about breaking dependencies and wants to uninstall mpm-prefork, mod-php5 and virtualmin-base along with all stuff that got installed for it (reason given: packages are no longer needed, cause they were merely auto-installed with virtualmin-base).

Cancel the uninstallation of virtualmin-base. This should mark all its dependencies as "manually installed".

Use the command "cancel pending changes".

Try to install mpm-worker again. This time it should only want to remove mpm-prefork, mod-php5 and virtualmin-base, but no longer all the other smash depending on it.

You should be able to do the same thing with vsftpd.

Thu, 02/24/2011 - 04:22
helpmin

Actually "apt-get install apache2-mpm-worker" worked just fine (even though I get this warning message). Same for vsftpd. Everything still works.

Thu, 02/24/2011 - 04:25
Locutus

@Eric and the developers:

Can't you continue using virtualmin-base but make apt-get assume the installed packages to be "manually installed", instead of just "installed to satisfy virtualmin-base and rather unimportant"? That should solve the problem of having the whole smash uninstalled if some dependency breaks.

Because I personally must say that I - in contrast to some other guys here - quite like the apt-get system. Manually installing the required packages via a script feels rather "quick and dirty" to me, as opposed to using the system that is actually supposed to be used for such things.

@helpmin: Okay, then you probably already did this "cancel uninstallation" once, having the depending packages be marked as manually installed. Once you did that, the "unimportant follow-up package link" thing is broken, and removing the meta-package will no longer remove all the stuff installed for it.

Thu, 02/24/2011 - 04:32
helpmin

@helpmin: Okay, then you probably already did this "cancel uninstallation" once, having the depending packages be marked as manually installed

May be I did, but I am not sure when or how :-)

Thu, 02/24/2011 - 09:32
Locutus

Hehe.. I think e.g. removing the "uninstall" command in the "to-execute" list, or similar activities, suffices to make the packages be marked as manually installed. That's at least what I observed during my tests.

Thu, 08/18/2011 - 16:55
wipeout

FYI - I have just tried the switch to mpm-worker on a new Ubuntu 10.04 server I setup a few days ago and the mod_php dependency issue is still there..

Wed, 01/01/2014 - 17:13
bionitech

This thread is three years old and still unresolved as far as I can tell.

I installed Virtualmin using the install.sh script.

I am trying to install apache-mpm-worker, and it is forcing me to uninstall virtualmin-base.

https://www.virtualmin.com/node/16963#comment-75232
"There will be a second script which converts a virtualmin-base install into a virtualmin-configure system without breaking anything (hopefully)."

Is this still the plan? Any progress?

I would consider this issue a major bug. Virtualmin DOES NOT depend on libapache2-mod-php5, so it should not be listed as a dependency.

Being unable to use mpm-worker makes Virtualmin USELESS for anything other than low-traffic sites.

https://www.virtualmin.com/node/25497

nibb Posted: Fri, 2013-02-22 15:00

Why does Virtuamin uses apache in pre-fork as default?

This is awful. Its not 2005 anymore. Most web servers use worker today. Not only it consumes less RAM but allows more traffic to be handled.

Pre-fork cannot scale in traffic.

Based on this, Virtualmin would only be suited for very low traffic websites and servers. Its not fully using the potential from Apache as a web server.

This behaviour should really change in the future. Or in either case, users should have the option when installing it or after it to decide which mode to use.

I searched the forums a bit and its seems you cannot use worker even if you want because it conflicts and creates problems with virtualmin itself.

Honestly, this could be a huge reason not to use Virtualmin. Virtualmin is supposed to be for hosting, to host multiple virtual hosts. But if you are limit into traffic you can handle with Apache it does not make to much sense.

---

I've tried the following work-around and it seems to have worked. This issue still needs to be dealt with though. Users shouldn't have to hunt through forums to find a work-around that is still experimental.


# aptitude -s remove virtualmin-base
The following packages will be REMOVED:
procmail-wrapper{u} usermin-virtual-server-theme{u} virtualmin-base
webmin-security-updates{u} webmin-virtual-server{u} webmin-virtual-server-theme{u}
webmin-virtualmin-awstats{u} webmin-virtualmin-dav{u} webmin-virtualmin-htpasswd{u}
webmin-virtualmin-mailman{u} webmin-virtualmin-svn{u}
0 packages upgraded, 0 newly installed, 11 to remove and 57 not upgraded.
Need to get 0 B of archives. After unpacking 11.2 GB will be freed.

aptitude unmarkauto procmail-wrapper usermin-virtual-server-theme virtualmin-base webmin-security-updates webmin-virtual-server webmin-virtual-server-theme webmin-virtualmin-awstats webmin-virtualmin-dav webmin-virtualmin-htpasswd webmin-virtualmin-mailman webmin-virtualmin-svn

# aptitude -s remove virtualmin-base The following packages will be REMOVED:
virtualmin-base
0 packages upgraded, 0 newly installed, 1 to remove and 58 not upgraded.
Need to get 0 B of archives. After unpacking 73.7 kB will be freed.

aptitude remove libapache2-mod-php5

aptitude install apache2-mpm-worker

(other references)
http://www.virtualmin.com/node/16963
http://www.virtualmin.com/node/16336
http://www.virtualmin.com/node/25497

Mon, 01/06/2014 - 14:24
bionitech

Hmmm..I must have pulled an old version of virtualmin-base when rolling Debian 7 support. Oops. I'm gonna have to make a virtualmin-configure package, as I'd intended to do in the past (I ended up not doing it because it introduces some other complexities that I don't like)...the workaround is still the same, though.

Joe has identified the issue and is working to resolve it.

https://www.virtualmin.com/node/16963#comment-75232

Thank you Joe.