On Sun, Jul 29, 2012 at 8:23 AM, André Warnier <a...@ice-sa.com> wrote:
> > Considering the amount of work you seem to have already done for this, I > hate to say this, but I think that you are on the wrong track here. > I don't doubt that. > I don't see how you could achieve what you seem to want without having one > distinct Apache instance (and probably even installation) for each user. > > The whole point of mod_perl is to have a perl interpreter loaded and > embedded at startup into the loaded and running Apache server code, so I > cannot imagine how you could switch this at run-time to a user-specific set. > (a side-question being how you decide which user to switch to). > Imagine you mod_perl developer. You can compile mod_perl (generate mod_perl.so that Apache can load). You can copy that file anyplace and have LoadModule point to it. Then you recompile mod_perl to test some optimizations and put that mod_perl.so someplace else. You have have another httpd.conf point to this and then run two httpd binaries using different versions of mod_perl. That's clear, right? You can do the same thing with which Perl you link with. When mod_perl.so is compiled it's linked with Perl. Typically, that's with the system-installed Perl, but there's nothing requiring that. In other words, mod_perl.so can be built with any installed Perl -- even different versions of Perl or per-user Perl installations. So, the thing to imagine again is each user with their own httpd.conf that points to their locally-built mod_perl.so and mod_apreq2.so files. Yes, that means each user would need to run their own httpd binary, but doesn't mean each user would need to install their own version of Apache (because LoadModule can be used to point to different mod_perl.so libraries). -- Bill Moseley mose...@hank.org