Re: Using mod_perl handlers for max speed?
On Wed, 11 Jul 2001, Philip Mak wrote: In the recent Hello World 2000 benchmark posted by Joshua Chamas, mod_perl handler was shown to be even faster than static HTML (at least for running hello world), and twice as fast as using Apache::Registry to run a perl script. I honestly think something is up there. The code that mod_perl goes through before executing the actual perl script is a lot slower than the code the static HTML (http_core) handler goes through. FWIW, In AxKit 1.4_80 on axkit.org (beta, has bugs), I've implemented something I call a mod_perl fast handler, which skips most of the stuff in mod_perl, allowing you to go: AddHandler axkit .xml in your httpd.conf, and it works much the same way as SetHandler/PerlHandler does, except faster. Obviously though you lose the benefit of being able to write handlers for the different handler phases with this method. And it requires XS code. Does this mean that if there's a heavily used script on my system that needs to be VERY fast, then it may be worth making it into a mod_perl handler? What are the caveats of using mod_perl handlers instead of normal scripts? Using handlers is better. Hands down. :-) Personally I just find handlers more logical than CGI scripts. They have a known entry point, which I think makes life a hell of a lot easier in structuring complex code. Rather than the entry point being the top of your script. There's a beginners article on take23 about writing your first handler module. -- Matt/ /||** Founder and CTO ** ** http://axkit.com/ ** //||** AxKit.com Ltd ** ** XML Application Serving ** // ||** http://axkit.org ** ** XSLT, XPathScript, XSP ** // \\| // ** mod_perl news and resources: http://take23.org ** \\// //\\ // \\
Can't load mod_perl in Solaris 8
I've compiled mod_perl-1.26 (and I tried with 1.25 too) for Apache 1.3.20 in a Solaris 8. When I start apache I get this error : Syntax error on line 222 of /opt/apache/conf/httpd.conf: Cannot load /opt/apache/libexec/libperl.so into server: ld.so.1: /opt/apache/bin/httpd: fatal: relocation error: file /opt/apache/libexec/libperl.so: symbol PL_markstack_ptr: referenced symbol not found /etc/init.d/apache start: httpd could not be started (The line 222 is the LoadModule for mod_perl) When I do ldd of libperl.so and httpd, seems that it finds all dependences. Has somebody any idea about this problem? -- SERTRAM NETWORKS, S.L. Edificio Sertram, Acer 30-32 Tlf: 93 289 63 00 08038 - BARCELONA Fax: 93 223 12 66 mailto:[EMAIL PROTECTED] http://www.datagrama.net
Performance stories
Hi, At TPC5 I'll be doing a talk on Real World Performance Tuning, http://conferences.oreillynet.com/cs/os2001/view/e_sess/1260 I'll be talking about what things to work on to make your system scale better by not 10% or 20%, but hundreds of percent. That sort of thing. If you have a cool story about how you made your system a fraction of the memory it used to, or how it could serve thousands of requests per second instead of hundreds, then please send them to [EMAIL PROTECTED] :-) - ask -- ask bjoern hansen, http://ask.netcetera.dk/ !try; do();
Re: detecting ssl
On Thu, 12 Jul 2001, Issac Goldstand wrote: IG == Issac Goldstand [EMAIL PROTECTED] writes: IG Not necessarily. I could easily set up any virtualhost on port IG 443 which will be accessable by https://nasty.servername/ but IG will, in reality, not necessarily be over a secure connection. I think you've never actually tried this. You will not get the page because the client is expecting SSL and you're not providing it. Try it. Go ahead, try it. I did. Look at my follow-up to Geoffrey's esponse to the post you're quoting for details... It worked from most simple clients... your most simple clients example did the same as accessing http://nasty.servername:443/. That's about as different from https:// as if you had shown that stuff on port 443 can be other stuff than HTTP over SSL by installing an ftp server on that port. Some clients, like Netscape and MSIE think that they're smarter than the servers, though, and incorrectly assume they know whether to go secure or not. They don't assume, you tell them what transport method to use by using https// or http://. OK. Let me see if I can explain myself a bit better. You're all correct that by entering an https:// scheme the _intention_ is to advise the browser to use a secure layer - which most common browsers do. My point is not that this is not what should happen, but rather that in many situations the programmer cannot know in advance what kind of weird server setups may be in use, and cannot know what kind of client will be accessing them. The fact that my simple browsers just did telnet server 443 is EXACTLY the point I'm trying to make. In order to ensure that an SSL layer is actually active, checking the port OR scheme is not enough. You must actually query for the presense of the layer itself, which mod_ssl conveniently provides a means to do by giving us $ENV{HTTPS}. Issac PGP Key 0xE0FA561B - Fingerprint: 7E18 C018 D623 A57B 7F37 D902 8C84 7675 E0FA 561B
mod_perl/aix
Hello. I've searched the internet and found many things relating to this, but I thought I would present my own specific problem. I'm trying to install mod_perl with IBM HTTP Server (which is really just apache 1.3.12) on AIX 4.3.3. Everything installs fine, but when I tried to use Net::LDAP, apache segfaults. When I analyze the core file, I'm told that boot_IO is where the problem occurred. Has anyone conquered this problem? The mod_perl readme says that if you are installing on AIX with perl 5.00503 you have to apply a patch to prevent segfaulting when an XS module is called. I applied it and re-compiled. I also tried using perl 5.6.1, which yielded the same results. I've traced it down to the 'use IO::Handle;' clause. I'm using the VisualAge C (vac) compiler to compile everything (gcc hasn't worked very well for most things on this platform.) All things in this message that don't work in mod_perl work fine if they're not run from apache under mod_perl. The following details the method to my madness: # lslpp -l |grep vac vac.msg.en_US.C5.0.1.0 COMMITTED C for AIX Compiler vacpp.cmp.rte 4.0.2.0 COMMITTED VisualAge C++ Compiler vac.C 5.0.1.0 COMMITTED C for AIX Compiler # lslpp -l |grep xlC xlC.aix43.rte 4.0.2.2 APPLIEDC Set ++ Runtime for AIX xlC.cpp4.3.0.1 COMMITTED C for AIX Preprocessor xlC.msg.en_US.cpp 4.3.0.1 COMMITTED C for AIX Preprocessor xlC.msg.en_US.rte 4.0.2.0 COMMITTED C Set ++ Runtime xlC.rte4.0.2.0 COMMITTED C Set ++ Runtime installed the mod_perl patch on perl_5.00503/ext/DynaLoader/dl_aix.xs # cd /usr/build/perl_5.00503 # ./Configure -de # make # make install # perl -MCPAN -e shell; (answer configuration questions...) cpan install HTML::HeadParser cpan install LWP::UserAgent # cd /usr/build/mod_perl-1.25 # perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/HTTPServer/bin/apxs \ EVERYTHING=1 # make # make install # cd /usr/HTTPServer/bin # ./apachectl configtest Syntax OK At this point, lots of perl scripts will run fine under mod_perl, until one of them calls 'use IO::Handle;' ... then: # ./apachectl configtest ./apachectl[145]: 19372 Segmentation fault(coredump) Now I analyze the core file to find out what is causing the dump.. surprise! # dbx /usr/HTTPServer/bin/httpd core Type 'help' for help. reading symbolic information ...warning: no source compiled with -g [using memory image in core] Segmentation fault in boot_IO at 0xd178d39c ($t1) 0xd178d39c (boot_IO+0xc) 8083lwz r4,0x0(r3) Thinking it might be IBM HTTP Server implementation, I built apache from source with the following method (I did this with Apache 1.3.12 and Apache 1.3.20): # cd /usr/build/apache_1.3.12 # ./configure --enable-module=so \ --enable-module=proxy \ --enable-shared=proxy \ --prefix=/usr/local/apache # make # make install Then I repeated the mod_perl installation. Same darn segfault. Does anyone have any insight into this? It's becoming a very painful battle. If you're curious, here's my output from perl -V: Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration: Platform: osname=aix, osvers=4.3.3.0, archname=aix uname='aix proxysvr 3 4 0025507c4c00 ' hint=recommended, useposix=true, d_sigaction=define usethreads=undef useperlio=undef d_sfio=undef Compiler: cc='cc', optimize='-O', gccversion= cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=8192 -I/usr/local/include' ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=8192 -I/usr/local/include' stdchar='unsigned char', d_stdstdio=define, usevfork=false intsize=4, longsize=4, ptrsize=4, doublesize=8 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='ld', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib libs=-lnsl -lgdbm -ldbm -ldl -lld -lm -lc -lcrypt -lbsd -lPW libc=, so=a, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='-bE:perl.exp' cccdlflags=' ', lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -b noentry -lc -L/usr/local/ lib' Characteristics of this binary (from libperl): Built under aix Compiled at Jul 8 2001 23:40:44 @INC: /usr/local/lib/perl5/5.00503/aix /usr/local/lib/perl5/5.00503 /usr/local/lib/perl5/site_perl/5.005/aix /usr/local/lib/perl5/site_perl/5.005 Thanks for your time, Matt
having problems getting started with mod_perl
I'm a mod_perl newbie trying to get my first installation working, and I'm hitting a brick wall. I can get Apache to come up, but as soon as I try to access it, just using the machine and port as the URL, I get a core dump. make test doesn't work at all, the server never even comes up. Hope you can give me some pointers, I'm completely at a loss here. thanks, Bruce Kleinman [EMAIL PROTECTED] -- I'm using: Apache 1.3.19 Perl 5.6.1 mod_perl 1.25 -- I built mod_perl with these Makefile.PL options: APACHE_SRC=..., DO_HTTPD=1, USE_APACI=1,PREP_HTTPD=1,EVERYTHING=1,PERL_DEBUG=1 -- perl -V output: Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=solaris, osvers=2.7, archname=sun4-solaris uname='sunos avicenna 5.7 generic_106541-12 sun4u sparc sunw,ultra-4 ' config_args='' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cc', ccflags ='-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O', cppflags='-I/usr/local/include' ccversion='WorkShop Compilers 4.2 30 Oct 1996 C 4.2', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, usemymalloc=y, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib -L/opt/SUNWspro/SC4.2/lib ' libpth=/usr/local/lib /opt/SUNWspro/SC4.2/lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-KPIC', lddlflags='-G -L/usr/local/lib -L/opt/SUNWspro/SC4.2/lib' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under solaris Compiled at Jul 5 2001 13:42:17 @INC: /home/bkleinman/lib/perl5/5.6.1/sun4-solaris /home/bkleinman/lib/perl5/5.6.1 /home/bkleinman/lib/perl5/site_perl/5.6.1/sun4-solaris /home/bkleinman/lib/perl5/site_perl/5.6.1 /home/bkleinman/lib/perl5/site_perl . -- error_log extract: [Wed Jul 11 15:27:23 2001] [info] mod_unique_id: using ip addr 172.20.20.237 [Wed Jul 11 15:27:24 2001] [notice] Apache/1.3.19 (Unix) mod_perl/1.25 configured -- resuming normal operations [Wed Jul 11 15:27:24 2001] [info] Server built: Jul 11 2001 15:22:22 [Wed Jul 11 15:28:08 2001] [notice] child pid 20565 exit signal Segmentation Fau lt (11), possible coredump in /home/bkleinman/install_perldebug/var/servers/best /apache1 -- back trace from the core file using dbx: program terminated by signal SEGV (no mapping at the fault address) (dbx) where =[1] perl_header_parser(0xdf5c0, 0xfec256a0, 0xfed3ced8, 0x0, 0x0, 0x0), at 0xfec256cc [2] run_method(0xdf5c0, 0x2e, 0x1, 0x0, 0x0, 0x2f), at 0x1e158 [3] ap_header_parse(0xdf5c0, 0x86c80, 0x86c00, 0x75, 0x45, 0x65), at 0x1e34c [4] process_request_internal(0xdf5c0, 0x0, 0x3, 0x0, 0xec00, 0x0), at 0x3ae4c [5] ap_process_request(0xdf5c0, 0xc8, 0xdf5c0, 0xffbef378, 0xffbef388, 0x0), at 0x3b35c [6] child_main(0x0, 0x2ce54, 0x2cc00, 0x0, 0x0, 0x0), at 0x2eb58 [7] make_child(0xa2f60, 0x0, 0x3b4cd9f2, 0x0, 0x40, 0x0), at 0x2edc0 [8] startup_children(0x5, 0x0, 0x5, 0x9bc00, 0xadef0, 0xfed3ced8), at 0x2efc0 [9] standalone_main(0x4, 0xffbef63c, 0x0, 0x1, 0xff236768, 0xff236aa4), at 0x2f8a4 [10] main(0x4, 0xffbef63c, 0xffbef650, 0x9eb88, 0x0, 0x0), at 0x30450 --
perl 5.6 + mod_perl in production environment
I was wondering if anyone is currently using perl 5.6 + mod_perl in a prod environment. What kinds of problems, if any are people seeing with this? --eric
Re: Can't load mod_perl in Solaris 8
Hi there, On Thu, 12 Jul 2001, Javier Chicharro wrote: I've compiled mod_perl-1.26 (and I tried with 1.25 too) for Apache 1.3.20 in a Solaris 8. When I start apache I get this error : Syntax error on line 222 of /opt/apache/conf/httpd.conf: Cannot load /opt/apache/libexec/libperl.so into server: ld.so.1: /opt/apache/bin/httpd: fatal: relocation error: file /opt/apache/libexec/libperl.so: symbol PL_markstack_ptr: referenced symbol not found /etc/init.d/apache start: httpd could not be started Have a look in mod_perl-1.26/SUPPORT and post the information it suggests. Did you compile your Perl? What compiler are you using? 73, Ged.
Re: perl 5.6 + mod_perl in production environment
--On 11/07/01 07:57 -0700 Eric Kolve wrote: I was wondering if anyone is currently using perl 5.6 + mod_perl in a prod environment. What kinds of problems, if any are people seeing with this? I've been using 5.6.1 in production for a while, no problems. -- Eric Cholet B995 E519 1594 10D0 4271 1EA5 8DF3 8004
Newbie question
Sorry if this is in an FAQ somehere (googled for it, but no luck). Does anyone know of a *good* guide to compiling/configuring/installing Apache + mod_perl on a Windows NT system? The impression I get from scouting newsgrops is that most people resort to using a prebuild binary - so I figure it must be tricky? Jason
Re:perl 5.6 + mod_perl in production environment
On Thursday, July 12, 2001, Eric Kolve wrote the following about perl 5.6 + mod_perl in production environment EK I was wondering if anyone is currently using perl 5.6 + mod_perl EK in a prod environment. What kinds of problems, if any are people EK seeing with this? Server Version: Apache/1.3.19 (Unix) PHP/4.0.5 mod_perl/1.25 perl5 (revision 5.0 version 6 subversion 1) None here, other than problems I cause myself from bad coding. That tends to happen a lot more than I care to admit. grin Best Regards, Mike Miller [EMAIL PROTECTED]
Re: APXS make problems with mod_perl 1.26
On Wed, 11 Jul 2001, Doug MacEachern wrote: On Wed, 11 Jul 2001, Neil Mansilla wrote: I've successfully performed the same APXS make with mod_perl 1.25 and 1.25_01, but it breaks with the following error with 1.26: perl Makefile.PL USE_APXS=1 \ WITH_APXS=/usr/local/apache_1.3.20/bin/apxs \ PERL_STACKED_HANDLERS=1 PERL_USELARGEFILES=0 [standard Makefile.PL output is fine...] that works just fine here, however.. make[1]: Entering directory `/usr/src/mod_perl-1.26/Apache' cc -c -I../ -I/usr/local/apache_1.3.20/include -I/usr/local/apache_1.3.20/include -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\1.27\ -DXS_VERSION=\1.27\ -fpic -I/usr/local/lib/perl5/5.6.0/i686-linux/CORE Apache.c Apache.xs:51: mod_perl.h: No such file or directory Apache.xs:52: mod_perl_xs.h: No such file or directory Apache.xs:292: parse error .. i had exactly the same error when i first tried, in a mod_perl-1.26 directory i had earlier built with other options, including DYNAMIC=1 the new build tried to compile the old Apache/Apache.c did you happen to try another build in that tree prior? .. Okay, started with a clean tree, and what do you know -- worked just fine. Thanks, Doug.
Re: perl 5.6 + mod_perl in production environment
On Wed, 11 Jul 2001, Eric Kolve wrote: I was wondering if anyone is currently using perl 5.6 + mod_perl in a prod environment. What kinds of problems, if any are people seeing with this? .. No problems at all. We use 5.6.0 as well as 5.6.1, with mod_perl 1.25, 1.25_01, and 1.26 all in heavy-hit production environment.
Re: Apache::Upload filehandle
Jay Buffington [EMAIL PROTECTED] said something to this effect on 07/11/2001: I'm trying to use image magick to manipulate images that are uploaded via http. To handle the uploaded images I'm using libapreq's Apache::Upload. I wrote the below simple example script to help explain my problem. When an image is uploaded to it I get this error in the apache error log: ImageMagick error: Warning 320: no delegate for this image format (:Upload=GLOB(0x873bcec)) [No such file or directory] I'm confused why this happens. Could someone please explain this behaviour to me? This looks like $r-upload-fh is being stringified, probably because of the context. What happens when you assign the glob returned by $r-upload-fh to a lexical scalar, and then pass that into $image-Read()? I hit this a few days ago, when passing a glob reference into a subroutine (not mod_perl-related), and this is the only thing that worked. package UploadFile; use Apache; use Apache::Request; use Apache::Constants qw(:common); use CGI qw(-compile :standard); use Image::Magick; sub handler { my $r = new Apache::Request(shift); if ($r-param('action') eq upload) { my $image = new Image::Magick; Add these changes: my $fh = $r-upload-fh; my $error = $image-Read(file = $fh); $r-log_error(ImageMagick error: $error) if $error; $r-print(image geometry: . join x , $image-Get('width', 'height')); undef $image; } $r-print(start_html() . start_multipart_form() . Upload an image: . filefield(-name=uploadedfile) . submit(-name=action, -value=upload) . end_form() . end_html()); return OK; } 1; (darren) -- Death to all fanatics!
[ANNOUNCE] Apache::AuthenLDAP 0.61
The uploaded file Apache-AuthenLDAP-0.61.tar.gz has entered CPAN as file: $CPAN/authors/id/C/CG/CGILMORE/Apache-AuthenLDAP-0.61.tar.gz size: 8287 bytes md5: 51603e4084fd448e9f72e6e5e0f26baa No action is required on your part Request entered by: CGILMORE (Christian Gilmore) Request entered on: Thu, 12 Jul 2001 14:30:49 GMT Request completed: Thu, 12 Jul 2001 14:31:55 GMT Virtually Yours, Id: paused,v 1.74 2001/05/20 14:59:52 k Exp k Apache::AuthenLDAP is designed to work with mod_perl and Net::LDAP. This module authenticates a user against an LDAP backend. It can be combined with Apache::AuthzLDAP to provide LDAP authorization as well. See AuthenLDAP.pm pod for detailed documentation. $Id: README,v 1.1 2000/09/26 18:27:36 cgilmore Exp $ 2001-07-12 Christian Gilmore [EMAIL PROTECTED] o Removed test for mod_perl-1.26 or higher. o Cleaned up documentation o Made release 0.61 2001-05-27 Christian Gilmore [EMAIL PROTECTED] o Deprecated generic variable naming in favor of module specific to reduce potential conflict with other auth modules: LDAPServer - AuthenLDAPServer LDAPPort- AuthenLDAPPort UidAttrType - AuthenUidAttrType Original variable names are still accepted but will be removed on the next major release. o Made release 0.60 2001-01-08 Christian Gilmore [EMAIL PROTECTED] o Added handling of blank userid input o Better handling of pre-1.26 set_handlers bugs o Made release 0.52 2000-09-26 Christian Gilmore [EMAIL PROTECTED] o Made first public releases 0.50 and 0.51 $Id: ChangeLog,v 1.6 2001/07/12 14:06:35 cgilmore Exp $ Enjoy, Christian - Christian Gilmore Infrastructure Tools Team Lead Web Multimedia Development IBM Software Group
[ANNOUNCE] Apache::AuthzCache 0.06
The uploaded file Apache-AuthzCache-0.06.tar.gz has entered CPAN as file: $CPAN/authors/id/C/CG/CGILMORE/Apache-AuthzCache-0.06.tar.gz size: 8800 bytes md5: e4b15058f8b67b4906248f27c3f62fbd No action is required on your part Request entered by: CGILMORE (Christian Gilmore) Request entered on: Thu, 12 Jul 2001 14:32:02 GMT Request completed: Thu, 12 Jul 2001 14:33:46 GMT Virtually Yours, Id: paused,v 1.74 2001/05/20 14:59:52 k Exp k Apache::AuthzCache is designed to work with a mod_perl authorization module to provide caching of group membership for site users. For a list of mod_perl authorization modules see: http://www.cpan.org/modules/by-module/Apache/apache-modlist.html When a request that requires authorization is received, Apache::AuthzCache looks up the REMOTE_USER in a shared-memory cache (using IPC::Cache) and compares the list of groups in the cache against the groups enumerated within the require configuration directive. If a match is found, the handler returns OK and clears the downstream Authz handlers from the stack. Otherwise, it returns DECLINED and allows the next PerlAuthzHandler in the chain to be called. After the primary authorization handler completes with an OK, Apache::AuthzCache::manage_cache adds the new group (listed in REMOTE_GROUP) to the cache. See AuthzCache.pm pod for detailed documentation. $Id: README,v 1.1 2000/09/26 20:11:50 cgilmore Exp $ 2001-07-12 Christian Gilmore [EMAIL PROTECTED] o Removed test for mod_perl-1.26 or higher. o Cleaned up documentation. o Made release 0.06. 2001-05-29 Christian Gilmore [EMAIL PROTECTED] o Bug fix on strict syntax error. o Made release 0.05. 2001-02-28 Christian Gilmore [EMAIL PROTECTED] o Added requirement that Apache::Log be imported. Oversight found by Rod Bloodgood. o Made release 0.04. 2001-01-08 Christian Gilmore [EMAIL PROTECTED] o Better handled pre-1.26 set_handlers bugs. o Made release 0.03. 2000-09-26 Christian Gilmore [EMAIL PROTECTED] o Made first public release 0.02. $Id: ChangeLog,v 1.6 2001/07/12 14:12:48 cgilmore Exp $ Enjoy, Christian - Christian Gilmore Infrastructure Tools Team Lead Web Multimedia Development IBM Software Group
[ANNOUNCE] Apache::AuthzLDAP 0.61
The uploaded file Apache-AuthzLDAP-0.61.tar.gz has entered CPAN as file: $CPAN/authors/id/C/CG/CGILMORE/Apache-AuthzLDAP-0.61.tar.gz size: 9821 bytes md5: 0942df504a5569cc8db4aff00a8980e1 No action is required on your part Request entered by: CGILMORE (Christian Gilmore) Request entered on: Thu, 12 Jul 2001 14:32:12 GMT Request completed: Thu, 12 Jul 2001 14:34:02 GMT Virtually Yours, Id: paused,v 1.74 2001/05/20 14:59:52 k Exp k Apache::AuthzLDAP is designed to work with mod_perl and Net::LDAP. This module authorizes a user against an LDAP backend. It can be combined with Apache::AuthenLDAP to provide LDAP authentication as well. See AuthzLDAP.pm pod for detailed documentation. $Id: README,v 1.1 2000/09/26 18:51:51 cgilmore Exp $ 2001-07-12 Christian Gilmore [EMAIL PROTECTED] o Removed test for mod_perl-1.26 or higher. o Cleaned up documentation. o Made release 0.61. 2001-05-27 Christian Gilmore [EMAIL PROTECTED] o Deprecated generic variable naming in favor of module specific to reduce potential conflict with other auth modules: GroupAttrType - AuthzGroupAttrType GroupAttrValue - AuthzGroupAttrValue LDAPServer - AuthzLDAPServer LDAPPort- AuthzLDAPPort MemberAttrType - AuthzMemberAttrType MemberAttrValue - AuthzMemberAttrValue NestedGroups- AuthzNestedGroups UidAttrType - AuthzUidAttrType Original variable names are still accepted but will be removed on the next major release. This change allows for user information to be hosted on one LDAP while group information is hosted on another. o Made release 0.60. 2001-01-08 Christian Gilmore [EMAIL PROTECTED] o Fixed bug regarding nested groups whose membership was by dn. o Better handled of pre-1.26 set_handlers bugs. o Made release 0.51. 2000-09-26 Christian Gilmore [EMAIL PROTECTED] o Made first public release 0.50. $Id: ChangeLog,v 1.5 2001/07/12 14:18:52 cgilmore Exp $ Enjoy, Christian - Christian Gilmore Infrastructure Tools Team Lead Web Multimedia Development IBM Software Group
Re: Can't load mod_perl in Solaris 8
Ged Haywood wrote: Hi there, On Thu, 12 Jul 2001, Javier Chicharro wrote: I've compiled mod_perl-1.26 (and I tried with 1.25 too) for Apache 1.3.20 in a Solaris 8. When I start apache I get this error : Syntax error on line 222 of /opt/apache/conf/httpd.conf: Cannot load /opt/apache/libexec/libperl.so into server: ld.so.1: /opt/apache/bin/httpd: fatal: relocation error: file /opt/apache/libexec/libperl.so: symbol PL_markstack_ptr: referenced symbol not found /etc/init.d/apache start: httpd could not be started Have a look in mod_perl-1.26/SUPPORT and post the information it suggests. Did you compile your Perl? What compiler are you using? 73, Ged. Yes, I compiled my Perl using Solaris cc. This is the output of perl -V : Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=solaris, osvers=2.8, archname=i86pc-solaris uname='sunos srvnoc2 5.8 generic_108529-08 i86pc i386 i86pc ' config_args='-Dprefix=/opt/perl-5.6.1 -Duseshrplib -Doptimize=-O -des -Dlocincpth=/usr/local/BerkeleyDB.3.2/include -Dloclibpth=/usr/local/BerkeleyDB.3.2/lib -Dccdlflags=-R/usr/local/BerkeleyDB.3.2/lib' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cc', ccflags ='-I/usr/local/BerkeleyDB.3.2/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O', cppflags='-I/usr/local/BerkeleyDB.3.2/include' ccversion='Sun WorkShop 6 update 1 C 5.2 Patch 109514-03 2001/03/12', gccversion='', 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, usemymalloc=y, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/BerkeleyDB.3.2/lib -L/opt/SUNWspro/WS6U1/lib ' libpth=/usr/local/BerkeleyDB.3.2/lib /opt/SUNWspro/WS6U1/lib /usr/lib /usr/ccs/lib /usr/local/lib libs=-lsocket -lnsl -ldb -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-R/usr/local/BerkeleyDB.3.2/lib -R /opt/perl-5.6.1/lib/5.6.1/i86pc-solaris/CORE' cccdlflags='-KPIC', lddlflags='-G -L/usr/local/BerkeleyDB.3.2/lib -L/opt/SUNWspro/WS6U1/lib' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under solaris Compiled at Jul 11 2001 16:39:06 @INC: /opt/perl-5.6.1/lib/5.6.1/i86pc-solaris /opt/perl-5.6.1/lib/5.6.1 /opt/perl-5.6.1/lib/site_perl/5.6.1/i86pc-solaris /opt/perl-5.6.1/lib/site_perl/5.6.1 /opt/perl-5.6.1/lib/site_perl . And the configure options of mod_perl (v1.26) are : perl Makefile.PL APACHE_SRC=../apache_1.3.20/src DO_HTTPD=1 USE_APACI=1 The configure of apache is : ./configure --prefix=/opt/apache --enable-rule=SHARED_CORE --enable-shared=max -- SERTRAM NETWORKS, S.L. Edificio Sertram, Acer 30-32 Tlf: 93 289 63 00 08038 - BARCELONA Fax: 93 223 12 66 mailto:[EMAIL PROTECTED] http://www.datagrama.net
RE: Newbie question
Yes, Go to Ron Savages site. He has a binary build of Apache + mod_perl and also the latest perl. http://www.savage.net.au go to the navigation and press on Perl, and look under Perl Modules and look three bullet items down ... It is there. Follow along. I have used it twice and it gets you operational in about an hour. Yell if you have any questions, as I have done this twice on NT. Scott -Original Message- From: Randy Kobes [mailto:[EMAIL PROTECTED]] Sent: Thursday, July 12, 2001 10:20 AM To: Jason Cc: [EMAIL PROTECTED] Subject: Re: Newbie question On Thu, 12 Jul 2001, Jason wrote: Sorry if this is in an FAQ somehere (googled for it, but no luck). Does anyone know of a *good* guide to compiling/configuring/installing Apache + mod_perl on a Windows NT system? INSTALL.win32 in the mod_perl sources describes how to build and install mod_perl - this is geared towards using VC++. As for configuring, if you have Apache set up already, the configuration and use is very similar to Unix - see http://take23.org/ and http://perl.apache.org/, especially the guide, for lots more info on that. There's a sample Win32 httpd.conf at http://theoryx5.uwinnipeg.ca/ppmpackages/httpd.conf-perl that contains a number of common directives used for mod_perl related things. The impression I get from scouting newsgrops is that most people resort to using a prebuild binary - so I figure it must be tricky? No, not really - the build process differs from Unix, but after that, and taking into account the differences in general with Perl/Apache on Win32, it's relatively straightforward to use. best regards, randy kobes
How may I recognize cgi-bin dir in URITranslation phase?
Hi, how may my Uri Translation handler recognize that requested url is a cgi? How could it get cgi-bin directory path? Thanx -- Alberto Canzi OpenFor s.r.l. e-mail: [EMAIL PROTECTED]
Mod Perl 1.26, ApacheSSL and Apache 1.3.20
Why is this going on? Script started on Thu Jul 12 14:22:28 2001 doctor.nl2k.ab.ca//usr/source/mod_perl-1.26$ make test (cd /usr/source/apache_1.3.20 PERL5LIB=/usr/source/mod_perl-1.26/lib make) === src === src/os/unix === src/os/unix === src/ap === src/ap === src/main === src/main === src/lib === src/lib/expat-lite === src/lib/expat-lite === src/lib === src/modules === src/modules/standard === src/modules/standard === src/modules/experimental === src/modules/experimental === src/modules/proxy === src/modules/proxy === src/modules/ssl === src/modules/ssl === src/modules/perl === src/modules/perl === src/modules/php4 cp libmodphp4.a libphp4.a ar r libphp4.a mod_php4.o ranlib libphp4.a === src/modules/php4 === src/modules/dav === src/modules/dav === src/modules env LD_RUN_PATH=/usr/libdata/perl5/5.00503/i386-bsdos/CORE cc -c -I. -I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I./os/unix -I./include -I/usr/source/openssl-engine-0.9.6/include -DTARGET=\httpsd\ -DDEV_RANDOM=/dev/random -DMOD_PERL -DUSE_PERL_SSI -I/usr/local/include -I/usr/source/php-4.0.6 -I/usr/source/php-4.0.6/main -I/usr/source/php-4.0.6/main -I/usr/source/php-4.0.6/Zend -I/usr/source/php-4.0.6/Zend -I/usr/source/php-4.0.6/TSRM -I/usr/source/php-4.0.6/TSRM -I/usr/source/php-4.0.6 -DUSE_EXPAT -I./lib/expat-lite -DAPACHE_SSL -DPERL_MARK_WHERE=1 `./apaci` modules.c env LD_RUN_PATH=/usr/libdata/perl5/5.00503/i386-bsdos/CORE cc -c -I. -I/usr/libdata/perl5/5.00503/i386-bsdos/CORE -I./os/unix -I./include -I/usr/source/openssl-engine-0.9.6/include -DTARGET=\httpsd\ -DDEV_RANDOM=/dev/random -DMOD_PERL -DUSE_PERL_SSI -I/usr/local/include -I/usr/source/php-4.0.6 -I/usr/source/php-4.0.6/main -I/usr/source/php-4.0.6/main -I/usr/source/php-4.0.6/Zend -I/usr/source/php-4.0.6/Zend -I/usr/source/php-4.0.6/TSRM -I/usr/source/php-4.0.6/TSRM -I/usr/source/php-4.0.6 -DUSE_EXPAT -I./lib/expat-lite -DAPACHE_SSL -DPERL_MARK_WHERE=1 `./apaci` buildmark.c env LD_RUN_PATH=/usr/libdata/perl5/5.00503/i386-bsdos/CORE cc -DTARGET=\httpsd\ -DDEV_RANDOM=/dev/random -DMOD_PERL -DUSE_PERL_SSI -I/usr/local/include -I/usr/source/php-4.0.6 -I/usr/source/php-4.0.6/main -I/usr/source/php-4.0.6/main -I/usr/source/php-4.0.6/Zend -I/usr/source/php-4.0.6/Zend -I/usr/source/php-4.0.6/TSRM -I/usr/source/php-4.0.6/TSRM -I/usr/source/php-4.0.6 -DUSE_EXPAT -I./lib/expat-lite -DAPACHE_SSL -DPERL_MARK_WHERE=1 `./apaci` -rdynamic -o httpsd buildmark.o modules.o modules/ssl/libssl.a modules/perl/libperl.a modules/php4/libphp4.a modules/dav/libdav.a modules/standard/libstandard.a modules/experimental/libexperimental.a modules/proxy/libproxy.a main/libmain.a ./os/unix/libos.a ap/libap.a lib/expat-lite/libexpat.a -Wl,-rpath,/usr/contrib/lib -Wl,-rpath,/usr/source/gd-1.8.3 -Wl,-rpath,/usr/contrib/lib/mysql -rdynamic -L/usr/contrib/lib -L/usr/source/gd-1.8.3 -L/usr/contrib/lib/mysql -Lmodules/php4 -L../modules/php4 -L../../modules/php4 -lmodphp4 -ldl -lmysqlclient -lz -lgd -lz -lssl -lcrypto -lresolv -lm -ldl -lresolv -ldb -L/usr/X11/lib -L/usr/local/lib /usr/libdata/perl5/5.00503/i386-bsdos/auto/DynaLoader/DynaLoader.a -L/usr/libdata/perl5/5.00503/i386-bsdos/CORE -lperl -ldl -lm -lc -ldl -L/usr/contrib/openssl/lib -lssl -lcrypto === src/support `suexec' is up to date. === src/support === src cp t/conf/mod_perl_srm.conf t/conf/srm.conf /usr/source/apache_1.3.20/src/httpsd -f `pwd`/t/conf/httpd.conf -X -d `pwd`/t httpd listening on port 8529 will write error_log to: t/logs/error_log letting apache warm up...\c /usr/source/apache_1.3.20/src/httpsd: can't resolve symbol 'PL_beginav_save' done /usr/bin/perl t/TEST 0 Launching... /tmp pid=1505 still waiting for server to warm up..Launching... /tmp pid=1506 ok ok ok modules/actions.ok modules/cgi.ok modules/constants...ok modules/cookie..skipping test on this platform modules/fileok modules/httpdconf...ok modules/include.ok modules/log.ok modules/module..skipping test on this platform modules/perlrun.ok modules/psections...skipping test on this platform modules/request.skipping test on this platform modules/src.ok modules/ssi.FAILED before any test output arrived modules/stage...skipping test on this platform modules/status..ok modules/symbol..skipping test on this platform modules/uri.ok modules/utilok internal/apiok internal/auth...ok internal/croak..ok internal/dirmagic...ok internal/error..ok internal/headersok internal/hooks..ok internal/http-get...ok internal/http-post..ok internal/proxy..ok internal/redirect...ok internal/rwrite.ok internal/stackedok internal/table..ok internal/taint..ok Failed Test Status Wstat Total Fail Failed List of failed --- modules/ssi.t
Re: [aliasing] Using mod_perl handlers for max speed?
!!! Is it possible to have reference on the left side of the equation !!! I've tried this to alias HASH :) but didn't succeeded... sub { my \$hash = shift; # $_[0] is \%myhash }; Yes I know that there is aliasing : my *hash = \%{$hashref}.. And I see that here u use : \$r-blah ...Never mind it is cute construct anyway. Do U have any benefit in speed using it in this way ?! PS. didn't u think that there must finaly alias keyword in perl = iVAN [EMAIL PROTECTED] = Files ~ (hello\.bench) Perl # ModPerl Handler package Apache::bench; sub handler { my(\$r) = shift; \$r-content_type('text/html'); \$r-send_http_header(); \$r-print('Hello '); \$r-print('World'); 200; } 1; /Perl SetHandler perl-script PerlHandler Apache::bench /Files
Re: Can't load mod_perl in Solaris 8
Hi again, On Thu, 12 Jul 2001, Javier Chicharro wrote: Yes, I compiled my Perl using Solaris cc. Is there any reason you don't want to compile static? 73, Ged.
Re: having problems getting started with mod_perl
Hi there, On Wed, 11 Jul 2001, Bruce Kleinman wrote: Apache 1.3.19 Perl 5.6.1 mod_perl 1.25 [snip] Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: [snip] ccversion='WorkShop Compilers 4.2 30 Oct 1996 C 4.2', gccversion='', [snip] Is this the compiler you used to compile mod_perl? 73, Ged.
Re: Mod Perl 1.26, ApacheSSL and Apache 1.3.20
On Thu, 12 Jul 2001, The Doctor wrote: Why is this going on? you forgot to post your perl -V and Makefile.PL options
Re: Can't load mod_perl in Solaris 8
On Thu, 12 Jul 2001, Javier Chicharro wrote: I've compiled mod_perl-1.26 (and I tried with 1.25 too) for Apache 1.3.20 in a Solaris 8. When I start apache I get this error : you forgot to post your perl -V and Makefile.PL options
Re: having problems getting started with mod_perl
On Wed, 11 Jul 2001, Bruce Kleinman wrote: I'm a mod_perl newbie trying to get my first installation working, and I'm hitting a brick wall. I can get Apache to come up, but as soon as I try to access it, just using the machine and port as the URL, I get a core dump. make test doesn't work at all, the server never even comes up. Hope you can give me some pointers, I'm completely at a loss here. Makefile.PL should have warned, you need to give mod_perl's Makefile.PL the PERL_USELARGEFILES=0 flag or rebuild perl with Configure -des -Uuselargefiles
Re: Can't load mod_perl in Solaris 8
On Thu, 12 Jul 2001, Javier Chicharro wrote: perl Makefile.PL APACHE_SRC=../apache_1.3.20/src DO_HTTPD=1 USE_APACI=1 your original post had an error trying to load /opt/apache/libexec/libperl.so, but these options are for a static build. do you have an old modperl dso configured?
Re: Can't load mod_perl in Solaris 8
On Thu, 12 Jul 2001, Ged Haywood wrote: Hi again, On Thu, 12 Jul 2001, Javier Chicharro wrote: Yes, I compiled my Perl using Solaris cc. Is there any reason you don't want to compile static? is there any reason he should? the only issue using dso with solaris (and any other Perls that default to using Perl's malloc) is that perl needs to be built with 'Configure -des -Ubincompat5005'
Re: Can't load mod_perl in Solaris 8
On Thu, 12 Jul 2001, Doug MacEachern wrote: pitty perl -V does not report usebincompat5005, if you are trying to build modperl as a dso, Makefile.PL should have warned you: Your current configuration will most likely trigger core dumps, suggestions: *) Do not configure mod_perl as a DSO *) Upgrade your Perl version to 5.6.0 or higher (w/ -Ubincompat5005) *) Configure Perl with -Uusemymalloc (not recommended for performance) This is different from what I have been hearing for the past few years: Solaris' malloc is better than perl's. ?? Jie
JOB: White box tester/developer
My company is looking for someone to break our code! We're early in development of a new system that will be perl, mod_perl, DBI and DBD::Oracle on Linux. We're trying very hard to do it right and we're writing tests as we go. This is giving us huge benefits already, but we want to go further. If you're a good Perl programmer who has a strong sense of the way it should be and can be simultaneously mean, nasty, angry, distrustful and unforgiving to Perl code and the opposite to people then we'd like to talk to you. Ideally you'd live in San Francisco, or thereabouts. I don't, however, so telecommuting is definitely an option. Pay and benefits are good, though it's no longer 1998. :-) Best benefit is working with a small group of people that are highly motivated by doing it right. -- -- Tom Mornini -- eWingz Systems, Inc. -- ICQ 113526784
Re: detecting ssl
IG == Issac Goldstand [EMAIL PROTECTED] writes: IG I did. Look at my follow-up to Geoffrey's esponse to the post you're IG quoting for details... It worked from most simple clients... Then those clients are wrong. You're requeting SSL when you say https://whatver/. You should get SSL in that case. IG Some clients, like Netscape and MSIE think that they're smarter than the IG servers, though, and incorrectly assume they know whether to go secure or They are correct, IMO, because you asked for an https connection. To do otherwise would be violate the POLA.
Re: [ANNOUNCE] Hello World Benchmarks, updated
Joshua Chamas wrote: mod_caucho used to look a lot faster, but my testing methodology changed. I used to take the results of the second benchmark run, and publish those, but this time only ran the -test for minor caching after starting resin ( tomcat ). So, I'm guessing that mod_caucho compiles aggresively in the beginning, killing performance for a dry run ( even 60 seconds! ). To improve the numbers for mod_caucho using this methodology might require and longer test cycle than 60 seconds. Perrin convinced me that getting steady-state numbers was important enough to ignore the compile penalties for such apps as mod_caucho which does runtime java compilation. To this end, I have added a -prime switch to the bench.pl which will run all the tests for a couple seconds, before doing the real benchmark where the results are scored. This allows any system caching to be done before the numbers start counting. However, despite the new -prime setting, I was still not getting reproducable resin/mod_caucho results, varying from 80 hits/sec one run to 280 hits/sec the next for the Hello World 2000 JSP benchmark. What I found is that in order for the mod_caucho results to be reproducable to 5% variation from one run to the next, I need to run the benchmark for 10 minutes! At 3-5 minutes, there was a 10-15% variation, which seems too high. Benchmarks 120 seconds, which were my benchmarks from before seem next to meaningless now. Here's some #s to show what I mean: Test Name Test File Hits/sec # of Hits Time(sec) secs/Hit Bytes/Hit - - - - - - - mod_caucho JSP 2000 h2000.jsp75.4 9069 120.33 0.013269 28965 mod_caucho JSP 2000 h2000.jsp 249.4 2505 10.05 0.004010 28965 mod_caucho JSP 2000 h2000.jsp 274.5 4118 15.00 0.003643 28965 mod_caucho JSP 2000 h2000.jsp 191.9 5760 30.01 0.005211 28965 mod_caucho JSP 2000 h2000.jsp 133.7 8022 60.01 0.007481 28965 mod_caucho JSP 2000 h2000.jsp 104.8 12591 120.10 0.009539 28965 mod_caucho JSP 2000 h2000.jsp96.0 11581 120.66 0.010419 28965 mod_caucho JSP 2000 h2000.jsp 113.6 19937 175.51 0.008803 28965 mod_caucho JSP 2000 h2000.jsp 103.9 18283 175.98 0.009625 28965 mod_caucho JSP 2000 h2000.jsp91.4 27146 297.16 0.010947 28965 mod_caucho JSP 2000 h2000.jsp 105.0 31335 298.57 0.009528 28965 mod_caucho JSP 2000 h2000.jsp91.4 27210 297.76 0.010943 28965 mod_caucho JSP 2000 h2000.jsp88.8 52440 590.56 0.011262 28965 mod_caucho JSP 2000 h2000.jsp93.5 55129 589.64 0.010696 28965 The numbers seem to indicate that the resin/mod_caucho java environment gets slow the longer tests are run for, but also that the results stabilize the longer tests are run for. As a result, when I post benchmarks, it will be with 10 minute tests run in the future. The idea here is stable, repeatable benchmarks we can use. Here were the 60 second #s I had posted before just to show how far off the mod_caucho #s were. Test Name Test File Hits/sec Total Hits Total Time sec/Hits Bytes/Hit -- -- -- -- -- -- Apache::ASP v2.19 2000 h2000.asp 226.2 13578 hits 60.02 sec 0.004421 28998 byte Apache::Registry v2.01 2000 mod_per h2000.reg 339.5 20376 hits 60.02 sec 0.002945 28179 byte HTML::Embperl v1.3.0 2000 h2000.epl 111.3 6677 hits 60.00 sec 0.008987 28841 byte HTML::Mason v1.03 2000 h2000.mas83.5 5014 hits 60.02 sec 0.011969 28799 byte HTML::Template v2.3 2000h2000.htmp 98.2 5892 hits 60.00 sec 0.010183 29152 byte mod_caucho JSP 2000 h2000.jsp76.6 4595 hits 60.01 sec 0.013060 28965 byte --Josh