You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Phil Carmody <th...@yahoo.co.uk> on 2008/11/14 14:26:12 UTC

Apache 1.3 -> 2.x portability

I'm currently running only Apache 1.3 (mod_perl 1.22) and am wondering what kinds of issues there might be if I were to want to migrate my server to Apache 2.x and mod_perl 2. 

Are there any things that I can do (or avoid) to make such a migration as close to trivial as possible.

Phil
-- 
()  ASCII ribbon campaign      ()    Hopeless ribbon campaign
/\    against HTML mail        /\  against gratuitous bloodshed

[stolen with permission from Daniel B. Cristofani]


      

Re: Apache 1.3 -> 2.x portability

Posted by Paul Paskvan <Pa...@csu.mnscu.edu>.
I am attempting to use Apache2::compat on a dedicated windows to get an old open source application, that does run under apache1/mod-perl1, running.  Hopefully, I can easily port this application, or is it easier to give up?

>>> Adam Prime <ad...@utoronto.ca> 11/14/2008 8:07 AM >>>
Michael Peters wrote:
> Phil Carmody wrote:
>> I'm currently running only Apache 1.3 (mod_perl 1.22) and am wondering 
>> what kinds of issues there might be if I were to want to migrate my 
>> server to Apache 2.x and mod_perl 2.
>> Are there any things that I can do (or avoid) to make such a migration 
>> as close to trivial as possible.
> 
> http://perl.apache.org/docs/2.0/user/porting/compat.html 
> 
> The biggest problem that I've seen is that not all of the Apache:: 
> modules on CPAN have been ported to Apache2 or been setup to work for 
> both. Most of the big ones have so it depends on what you're using. And 
> it's not that hard to port one of them if you need to.
> 

There are also some details about porting from libapreq1 
(Apache::Request) to libapreq2 (Apache2::Request) that are mentioned at 
the bottom of this page:

http://httpd.apache.org/apreq/docs/libapreq2/group__apreq__xs__request.html 

There's another thing that isn't currently mentioned as well, which is 
that my @params = $r->param() under libapeq2 no longer returns a 
unique'd list of params.  on a request like ?a=b&a=c, it will return (a, 
a).  under apreq1 it returned (a).

Adam


Re: Apache 1.3 -> 2.x portability

Posted by Adam Prime <ad...@utoronto.ca>.
Michael Peters wrote:
> Phil Carmody wrote:
>> I'm currently running only Apache 1.3 (mod_perl 1.22) and am wondering 
>> what kinds of issues there might be if I were to want to migrate my 
>> server to Apache 2.x and mod_perl 2.
>> Are there any things that I can do (or avoid) to make such a migration 
>> as close to trivial as possible.
> 
> http://perl.apache.org/docs/2.0/user/porting/compat.html
> 
> The biggest problem that I've seen is that not all of the Apache:: 
> modules on CPAN have been ported to Apache2 or been setup to work for 
> both. Most of the big ones have so it depends on what you're using. And 
> it's not that hard to port one of them if you need to.
> 

There are also some details about porting from libapreq1 
(Apache::Request) to libapreq2 (Apache2::Request) that are mentioned at 
the bottom of this page:

http://httpd.apache.org/apreq/docs/libapreq2/group__apreq__xs__request.html

There's another thing that isn't currently mentioned as well, which is 
that my @params = $r->param() under libapeq2 no longer returns a 
unique'd list of params.  on a request like ?a=b&a=c, it will return (a, 
a).  under apreq1 it returned (a).

Adam

Re: Apache 1.3 -> 2.x portability

Posted by André Warnier <aw...@ice-sa.com>.
Michael Peters wrote:
> Phil Carmody wrote:
>> I'm currently running only Apache 1.3 (mod_perl 1.22) and am wondering 
>> what kinds of issues there might be if I were to want to migrate my 
>> server to Apache 2.x and mod_perl 2.
>> Are there any things that I can do (or avoid) to make such a migration 
>> as close to trivial as possible.
> 
> http://perl.apache.org/docs/2.0/user/porting/compat.html
> 
> The biggest problem that I've seen is that not all of the Apache:: 
> modules on CPAN have been ported to Apache2 or been setup to work for 
> both. Most of the big ones have so it depends on what you're using. And 
> it's not that hard to port one of them if you need to.
> 

Another few tips :
Use the latest Perl, the latest Apache2, and the latest mod_perl2 you 
can find. That is to avoid another round of renaming.
Then, install this preferably on a new system, do not overwrite your 
Apache1 stuff.
Start with a clean Apache2 config, and bring over your customised 
configuration bits and associated modules little by little. Do not try 
to copy over your http.conf from 1 to 2, and correct it, that will only 
bring you misery.
As Michael said, use the Apache2 versions of the modules if they are 
available; if they are not, anyway use the latest versions you can find.
Things like CGI are no problem.
If you have developed your own modules in pure perl, usually it boils 
down to fixing the "use Apache::xxxx" to "use Apache2::xxxx", but there 
are some more things. If you do it gradually, you will quickly learn 
what to look for, and it will take less time in the end.

If you are doing this under Linux, you may want to make sure that you 
have a relatively recent version to start with.  Otherwise, if you use 
the package manager to install the software, it may install some 
outdated versions, and you'll find your self having to redo things again.



Re: Apache 1.3 -> 2.x portability

Posted by Michael Peters <mp...@plusthree.com>.
Phil Carmody wrote:
> I'm currently running only Apache 1.3 (mod_perl 1.22) and am wondering what kinds of issues there might be if I were to want to migrate my server to Apache 2.x and mod_perl 2. 
> 
> Are there any things that I can do (or avoid) to make such a migration as close to trivial as possible.

http://perl.apache.org/docs/2.0/user/porting/compat.html

The biggest problem that I've seen is that not all of the Apache:: modules on CPAN have been ported 
to Apache2 or been setup to work for both. Most of the big ones have so it depends on what you're 
using. And it's not that hard to port one of them if you need to.

-- 
Michael Peters
Plus Three, LP


RE: Apache 1.3 -> 2.x portability

Posted by er...@barclayscapital.com.
We have a bunch of registry/CGI tools that exec external apps, including
Autosys CLI tools and CVS.  The problem is that, whereas in 1.3 the
environment was passed to the spawned process, in 2.0, that's not the
case.

We had to make use of Env::C and the Apache2::SubRequest mods to allow
us to successfully port these tools.

Not much is made of it in the docs, but it was a huge issue for us.

Eric

> -----Original Message-----
> From: Phil Carmody [mailto:thefatphil@yahoo.co.uk] 
> Sent: Friday, November 14, 2008 8:26 AM
> To: modperl@perl.apache.org
> Subject: Apache 1.3 -> 2.x portability
> 
> I'm currently running only Apache 1.3 (mod_perl 1.22) and am 
> wondering what kinds of issues there might be if I were to 
> want to migrate my server to Apache 2.x and mod_perl 2. 
> 
> Are there any things that I can do (or avoid) to make such a 
> migration as close to trivial as possible.
> 
_______________________________________________

This e-mail may contain information that is confidential, privileged or otherwise protected from disclosure. If you are not an intended recipient of this e-mail, do not duplicate or redistribute it by any means. Please delete it and any attachments and notify the sender that you have received it in error. Unless specifically indicated, this e-mail is not an offer to buy or sell or a solicitation to buy or sell any securities, investment products or other financial product or service, an official confirmation of any transaction, or an official statement of Barclays. Any views or opinions presented are solely those of the author and do not necessarily represent those of Barclays. This e-mail is subject to terms available at the following link: www.barcap.com/emaildisclaimer. By messaging with Barclays you consent to the foregoing.  Barclays Capital is the investment banking division of Barclays Bank PLC, a company registered in England (number 1026167) with its registered office at 1 Churchill Place, London, E14 5HP.  This email may relate to or be sent from other members of the Barclays Group.
_______________________________________________