Apache 1.3 - 2.x portability

2008-11-14 Thread Phil Carmody
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

2008-11-14 Thread Michael Peters

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

2008-11-14 Thread Adam Prime

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=ba=c, it will return (a, 
a).  under apreq1 it returned (a).


Adam


Re: Apache 1.3 - 2.x portability

2008-11-14 Thread André Warnier

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:: to use Apache2::, 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

2008-11-14 Thread Paul Paskvan
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 [EMAIL PROTECTED] 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=ba=c, it will return (a, 
a).  under apreq1 it returned (a).

Adam



[mp2] make test errors

2008-11-14 Thread craig

-8-- Start Bug Report 8--
1. Problem Description:

Per suggestion made in this forum, I gave up on static build and am  
building dynamic.
Now I get 2 errors in make test, plus undef errors during 'sudo make  
install'


t/hooks/authen_basic1..4
# Running under perl version 5.008008 for freebsd
# Current time local: Fri Nov 14 21:00:32 2008
# Current time GMT:   Sat Nov 15 05:00:32 2008
# Using Test.pm version 1.25
# Using Apache/Test.pm version 1.31
ok 1
ok 2
ok 3
# Failed test 4 in t/hooks/authen_basic.t at line 26
not ok 4
FAILED test 4
Failed 1/4 tests, 75.00% okay
t/hooks/authz...1..4
# Running under perl version 5.008008 for freebsd
# Current time local: Fri Nov 14 21:00:33 2008
# Current time GMT:   Sat Nov 15 05:00:33 2008
# Using Test.pm version 1.25
# Using Apache/Test.pm version 1.31
ok 1
ok 2
ok 3
# Failed test 4 in t/hooks/authz.t at line 19
not ok 4
FAILED test 4

--- also, in the subsequent 'sudo make install', every module was  
tagged with:
Use of uninitialized value in length at /usr/local/lib/perl5/5.8.8/ 
ExtUtils/Command/MM.pm line 134.


So I changed said line 134 from
if (length $options{perm_rw}) {
to
if ($options{perm_rw}) {

Which made a subsequent retry of 'sudo make install' go without error  
messages

---

2. Used Components and their Configuration:

*** mod_perl version 2.04

*** using /build/mod_perl-2.0.4/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
  MP_APR_LIB = aprext
  MP_APXS= /usr/local/apache2.2.10/bin/apxs
  MP_COMPAT_1X   = 1
  MP_DEBUG   = 1
  MP_GENERATE_XS = 1
  MP_LIBNAME = mod_perl
  MP_TRACE   = 1
  MP_USE_DSO = 1


*** /usr/local/apache2.2.10/bin/httpd -V
Server version: Apache/2.2.10 (Unix)
Server built:   Nov 14 2008 19:37:16
Server's Module Magic Number: 20051115:18
Server loaded:  APR 1.3.3, APR-Util 1.3.4
Compiled using: APR 1.3.3, APR-Util 1.3.4
Architecture:   32-bit
Server MPM: Prefork
  threaded: no
forked: yes (variable process count)
Server compiled with
 -D APACHE_MPM_DIR=server/mpm/prefork
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FLOCK_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT=/usr/local/apache2.2.10
 -D SUEXEC_BIN=/usr/local/apache2.2.10/bin/suexec
 -D DEFAULT_PIDLOG=logs/httpd.pid
 -D DEFAULT_SCOREBOARD=logs/apache_runtime_status
 -D DEFAULT_LOCKFILE=logs/accept.lock
 -D DEFAULT_ERRORLOG=logs/error_log
 -D AP_TYPES_CONFIG_FILE=conf/mime.types
 -D SERVER_CONFIG_FILE=conf/httpd.conf

*** /usr/bin/ldd /usr/local/apache2.2.10/bin/httpd
/usr/local/apache2.2.10/bin/httpd:
libz.so.3 = /lib/libz.so.3 (0x28208000)
libm.so.4 = /lib/libm.so.4 (0x28219000)
libpcre.so.0 = /usr/local/lib/libpcre.so.0 (0x2822f000)
	libaprutil-1.so.3 = /usr/local/apache2.2.10/lib/libaprutil-1.so.3  
(0x2825b000)

libexpat.so.6 = /usr/local/lib/libexpat.so.6 (0x2827a000)
libapr-1.so.3 = /usr/local/apache2.2.10/lib/libapr-1.so.3 (0x2829b000)
libcrypt.so.3 = /lib/libcrypt.so.3 (0x282c3000)
libpthread.so.2 = /lib/libpthread.so.2 (0x282db000)
libc.so.6 = /lib/libc.so.6 (0x282ff000)


*** (apr|apu)-config linking info

 -L/usr/local/apache2.2.10/lib -laprutil-1  -lexpat -L/usr/local/lib
 -L/usr/local/apache2.2.10/lib -lapr-1 -lcrypt  -lpthread



*** /usr/local/bin/perl5.8.8 -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
osname=freebsd, osvers=6.3-release, archname=i386-freebsd
uname='freebsd sakomina.securesites.net 6.3-release freebsd 6.3- 
release #2: wed jun 25 14:30:46 mdt 2008  
[EMAIL PROTECTED]:usrsrcsysi386compilevkern i386 '

config_args='-Doptimize=-g -Dusedevel'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef  
usemultiplicity=undef

useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H - 
DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement - 
I/usr/local/include',

optimize='-g',
cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno- 
strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/ 
include'
ccversion='', gccversion='3.4.6 [FreeBSD] 20060305',  
gccosandvers=''

intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8,  
Off_t='off_t', lseeksize=8

alignbytes=4, prototype=define
  Linker and Libraries:
ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
libpth=/usr/lib