You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by "Thomas K. Burkholder" <bu...@dogrobber.com> on 2002/03/26 20:16:49 UTC

How to get two perl namespaces in apache

Hi there-

Apologies if this gets sent twice - I sent a message yesterday, but it 
seems to have vanished into the ether.

I'd like to run the production server of my mod_perl project 
(http://www.areaj.org/areaj) on the same machine as my development 
server.  Clearly they have the same module names so I have to somehow 
run them in two different environments - I don't think running them on 
two different virtual servers is going to do it, right?  Doesn't apache 
just start one perl "runtime"?  Please tell me if I'm mistaken about 
that.

So, I guess I'm wondering if there's an easy way to have two completely 
separate apache configurations running on the same machine (listening on 
different ports obviously).

Any help greatly appreciated.

Thanks,

//Thomas
Thomas K. Burkholder


Re: How to get two perl namespaces in apache

Posted by Garth Winter Webb <ga...@digicamp.com>.
You just need to fire up two separate apaches, each with their own
conf.  So basically you have:

/usr/local/apache_prod
/usr/local/apache_dev

These can actually share the same bin and lib directories; everything is
still installed at '/usr/local/apache' and you symlink the directories
you want to have in common.  You also need separate copies of apachectl
that fire up the httpd's so that they point at the right httpd.conf and
have the right server root.

Garth

On Tue, 2002-03-26 at 11:16, Thomas K. Burkholder wrote:
> Hi there-
> 
> Apologies if this gets sent twice - I sent a message yesterday, but it 
> seems to have vanished into the ether.
> 
> I'd like to run the production server of my mod_perl project 
> (http://www.areaj.org/areaj) on the same machine as my development 
> server.  Clearly they have the same module names so I have to somehow 
> run them in two different environments - I don't think running them on 
> two different virtual servers is going to do it, right?  Doesn't apache 
> just start one perl "runtime"?  Please tell me if I'm mistaken about 
> that.
> 
> So, I guess I'm wondering if there's an easy way to have two completely 
> separate apache configurations running on the same machine (listening on 
> different ports obviously).
> 
> Any help greatly appreciated.
> 
> Thanks,
> 
> //Thomas
> Thomas K. Burkholder
> 
-- 
,-------------------.
  Garth Webb      
  garth@digicamp.com
  C: 415.652.7688 
  H: 415.701.0568 
`==================='


Re: How to get two perl namespaces in apache

Posted by ___cliff rayman___ <cl...@genwax.com>.
"Thomas K. Burkholder" wrote:

> run them in two different environments - I don't think running them on
> two different virtual servers is going to do it, right?  Doesn't apache
> just start one perl "runtime"?  Please tell me if I'm mistaken about

there is only one interpreter, so running a module with the same name
on two different virtual servers is not going to work.

> So, I guess I'm wondering if there's an easy way to have two completely
> separate apache configurations running on the same machine (listening on
> different ports obviously).

sure. just leave the regular config file, then build something like:
httpd_dev.conf

change both the Listen and Port directives to an alternate port, and then
start with:
httpd -c httpd_dev.conf

i haven't tried this exact scenario myself, but it should work without a problem.

--
___cliff rayman___cliff@genwax.com___http://www.genwax.com/



Re: How to get two perl namespaces in apache

Posted by Perrin Harkins <pe...@elem.com>.
Ernest Lergon wrote:
> just throwing a glance I found:
> 
> http://thingy.kcilink.com/modperlguide/modules/Apache_PerlVINC_Allows_Module.html

Not a good idea for production use.  It will slow things down.  Handy 
for development with multiple projects using separate virtual hosts though.

- Perrin


Re: How to get two perl namespaces in apache

Posted by Ernest Lergon <er...@virtualitas.net>.
"Thomas K. Burkholder" wrote:
> 
> So, I guess I'm wondering if there's an easy way to have two completely
> separate apache configurations running on the same machine (listening on
> different ports obviously).
> 

Hi Thomas,

just throwing a glance I found:

http://thingy.kcilink.com/modperlguide/modules/Apache_PerlVINC_Allows_Module.html

Maybe someone here has experience with it.

More tips on

http://thingy.kcilink.com/modperlguide/porting/Name_collisions_with_Modules_and.html

and in this discussion:

http://www.mail-archive.com/modperl@apache.org/msg24564.html

Ernest


-- 

*********************************************************************
* VIRTUALITAS Inc.               *                                  *
*                                *                                  *
* European Consultant Office     *      http://www.virtualitas.net  *
* Internationales Handelszentrum *   contact:Ernest Lergon          *
* Friedrichstraße 95             *    mailto:Ernest@virtualitas.net *
* 10117 Berlin / Germany         *       ums:+49180528132130266     *
*********************************************************************


Re: How to get two perl namespaces in apache

Posted by Drew Taylor <dr...@drewtaylor.com>.
Thomas,

You can run seperate environments if your coding doesn't reference any hard 
coded paths. I just setup a dev server at my new job and do exactly what 
you want. All you have to do is add a "use lib qw(/path/to/modules);" in 
your startup.pl or make sure the PERL5LIB environment var is set. This can 
be done w/ "PerlSetVar /your/path/here" or setting it for the user apache 
is running as. HTH.

Drew

At 11:16 AM 3/26/02 -0800, Thomas K. Burkholder wrote:
>Hi there-
>
>Apologies if this gets sent twice - I sent a message yesterday, but it 
>seems to have vanished into the ether.
>
>I'd like to run the production server of my mod_perl project 
>(http://www.areaj.org/areaj) on the same machine as my development 
>server.  Clearly they have the same module names so I have to somehow run 
>them in two different environments - I don't think running them on two 
>different virtual servers is going to do it, right?  Doesn't apache just 
>start one perl "runtime"?  Please tell me if I'm mistaken about that.