Peter M. Jansson said:
> Dude, I don't know where this is going anymore. I'm not sure if you're
> talking about Apache, AOLserver, or designing some new webserver.
The original question was "Can you run different virtual servers as
different users". The short answer was "no". Then the conversation went
"why not?, some other technology can do it". After now reading the docs,
I think it just says on the box it can, but in reality it doesn't quite
work that way.
The point I am making is this: AOLserver is as fast as it is because it
re-uses the interpreter in each of the threads for every request. You
simply can not do this if you want multiple untrusted users running in
the same server, wether you change the UID the interpreter is executes
the page as each time or not. I could overwrite your "update_password
{user password}" procedure so that it, as a bonus, now also sends me
that password via email. Or worse.
So the only solution is to either don't re-use the interpreter, like PHP
does, and take the performance hit, or have a pool of interpreters that
belong to different users. This is what the Apache 2.0 perchild MPM
could enable. However, nothing I can read on the PHP website about PHP
5.0 tells me PHP even can work that way now. As far as I can tell, even
when using the perchild MPM, PHP will still throw away the interpreter
at the end of each request and start with a nice clean and safe new one
for the next.
But even if it did, at this point you may as well run completely
seperate instances of the server, the main process will be so
lightweight compared to the big interpreters that, IMHO, the benefits of
being able to crash, restart and configure each server completely
independent (let alone re-write it to work the other way) far outweigh
the drawback of having multiple config files and having to start
multiple processes. I also don't see any big hosting farms using this
MPM any time soon. Having a couple of hundred small websites each have
their dedicated process, within each of which they will have several
threads running seems like an awfully big resource hog to me, especialy
since the scripting languages don't make full use of it, nor do most of
their clients use much, if any, scripting.
So bottom line to me: Re-writing AOLserver to work this way, besides
being a big job, is kind of futile. Especialy considering it's main
user, AOL, and many other big sites are more likely to run one website
on multiple boxes, as opposed to many sites on one box...
Somebody more intimate with the inner workings of AOLserver and/or
Apache 2.0 and PHP, please correct me if I am wrong!
Cheers,
Bas.
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of
your email blank.