cookie-based auth and mod_auth_dbm
I have an application relying on basic authentication, using mod_auth_dbm.c - ie. AuthDBMUserFile and AuthDBMGroupFile. Due to a large userbase, I want to do external authentication of the user's passwords, once per session (in a secure way using SSL). The cookie-based authentication perl module @ www.modperl.com looks useful for that. The condition for sucessful authentication is that the users password must be valid (to be given a cookie to begin with), authorization they must be in a particular AuthDBMGroup specified in each .htaccess file. I don't want to get too far out of my depth, i'm open to suggestions on how to attack this goal. Cheers, Daniel -- Daniel Piczak, Network/Systems Officer The University of Western Australia Library Email: daniel at library.uwa.edu.au Phone: 9380 1746 Fax: 9380 1012
Re: Apache::Perfmon 0.011
On Monday, 2000-08-21 at 21:06:54 -0400, Greg Stark wrote: Lupe Christoph [EMAIL PROTECTED] writes: Hmm. Apache::Benchmark sounds more like a benchmark driver to me. Apache::Instrumentation or so? Apache::Probe? Profile or even just Prof. I thought about it a little more. What is does is find the (cpu|real)time taken to process a request. So what about Apache::RequestTimer or maybe Apache::Perf::RequestTimer, creating a new namespace for all performance-related modules? I looked at this and really like the idea. Unfortunately I need to recompile my Apache to use it. Yeah, it inserts handlers in phases few modules touch. I should mention that in my README. What I think it needs is, a way to gather the statistics in a hash based on the request. That way I can make a web page that pokes around in the hash table and reports the average and maximum time taken by page. I'd rather not collect the statistics inside the module. Not only can that inflate the process, it's also much better done seperately because this way you can write your own statistics processor without touching the gatherer. I'll include a first shot at such a program in the next release. After the naming discussion has settled down. I'm not clear how or if that can be done in a separate module like this that doesn't know how the requests are dispatched. Either a regexp needs to be provided that returns the key to use for the hash, or else something similar needs to be integrated into packages like CGI and Apache::ASP. (Which was the approach I was planning on taking myself.) I like this approach better though, so it would be neat to see it polished. This times the entire request. I'll split the CPU times out in times for the Apache process and that for it and all it's children in the nect release to accomodate CGI. Can't do anything about FastCGI and such things that run independent of the Apache process. Is anybody running Apache+mod_perl under Win32 who could see if times() and Time::HiRes give you timings of any significance on that platform? As for statistics, I'm thinking about splitting out the host first, second the method (GET, POST, etc), then the URI, with the request string removed, maybe the request strings under the URI at a later time. Print the top n requests by user CPU, system CPU, realtime. Do that in plain text and HTML, with graphs later. Lupe -- | [EMAIL PROTECTED] |http://free.prohosting.com/~lupe | | "jryy vg ybbxf yvxr gur l2x oht qvqa'g erne vg'f htyl urnq." "lrc. gur | | qbbzfnlref unir orra cebira jebat lrg ntnva." "qvq lbh frr gung | | gbb?" "ubhfgba. jr unir n ceboyrz." User Friendly 2000-01-01 |
Simple question: httpd (apache) vs httpd (mod_perl)
Hello, My understanding of perl is minimal, my understanding of mod_perl non-existant but I have a (simple) question that I can't find anywhere in the FAQ. Hopefully someone can help? I've just installed the apache web server (1.3.12) on our Tru64 Unix box. One of the applications we run (via the web) suggests that you install mod_perl to increase efficiency...so I did (version 1.24). I noticed that during the install mod_perl creates a new version of httpd (in the src/ directory). How is this version different to the version that apache creates? Should I use the latter version in preference to the apache version? Thanks in advance, Keith ~ Keith Bradnam - Developer, Arabidopsis Genome Resource (AGR) ~ Nottingham Arabidopsis Stock Centre - http://nasc.nott.ac.uk/ ~ University Park, University of Nottingham, NG7 2RD, UK ~ Tel: (0115) 951 3091
Re: Apache.pm failed to load
On Mon, 21 Aug 2000, Clayton Mitchell wrote: I think I followed the directions, and I also added "PerlModule Apache" in httpd.conf, but I still get the error "Apache.pm failed to load!." when trying to start httpsd. I am on Sol 2.7, gcc 2.8.1 apache-1.3.12 and openssl_0.9.5 and mod_perl-1.24. I have performed the steps outlined in this page with the exception noted below. Any help is greatly appreciated. http://perl.apache.org/guide/install.html#Source_Configuration_perl_Makef Under the section for mod_perl and apache-ssl (+openssl) Configure and install openssl: % cd openssl-x.x.x % ./config % make make test make install Patch Apache with SSLeay paths % cd apache_x.xx % tar xzvf ../apache_x.x.x+ssl_x.xx.tar.gz % FixPatch Do you want me to apply the fixed-up Apache-SSL patch for you? [n] y Now edit the src/Configuration file if needed and then configure: % cd ../mod_perl-x.xx % perl Makefile.PL USE_APACI=1 EVERYTHING=1 \ DO_HTTPD=1 SSL_BASE=/usr/local/ssl \ APACHE_SRC=../apache_x.x.x/src Build, test and install: % make make test make install % cd ../apache_x.x.x % make certificate % make install make cert and make install steps I skipped. I had a prior version of apache-ssl I am replacing. Don't skip the 'make install'! Here is what the perl library has: # find /opt/local/lib/perl5 -name Apache /opt/local/lib/perl5/site_perl/5.005/sun4-solaris/auto/Apache /opt/local/lib/perl5/site_perl/5.005/Apache # ls /opt/local/lib/perl5/site_perl/5.005/sun4-solaris/auto/Apache AuthenSmb Sandwich # ls /opt/local/lib/perl5/site_perl/5.005/Apache AuthenSmb.pm Sandwich.pm # find /opt/local/lib/perl5 -name Apache.pm /opt/local/lib/perl5/5.00503/CGI/Apache.pm # cp /opt/local/lib/perl5/5.00503/CGI/Apache.pm . ..still didn't work. _ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] http://apachetoday.com http://jazzvalley.com http://singlesheaven.com http://perlmonth.com perl.org apache.org
Modifying the reported size in a directory index
I am looking for a way to update the reported size of a file in a plain directory index generated by Apache. I have installed a perl fixup handler that does check if a Macintosh resource fork is available additionally to the plain data fork and it replaces the default content handler with a custom one that combines both the data and resource fork on the fly in the MacBinary archive format. This all runs fine and well. The problem I have now that I need to modify the displayed size in the directory index. For example if the file in question is a Mac resource file with no data area the directory index displays 0k as the plain data file really has a zero length. I would believe that I need to delve into the C innards of the request record and add the size of the resource fork to the st_size field of the stat record to fix this, or does anybody have any better idea how to do this in plain perl? -- Jens-Uwe Mager HELIOS Software GmbH Steinriede 3 30827 Garbsen Germany Phone: +49 5131 709320 FAX:+49 5131 709325 Internet: [EMAIL PROTECTED]
Re: Apache::Perfmon 0.011
On Mon, 21 Aug 2000, Lupe Christoph wrote: On Monday, 2000-08-21 at 10:41:51 +0200, Stas Bekman wrote: On Mon, 21 Aug 2000, Lupe Christoph wrote: A few comments followed by the answer to your original question. Thanks! make install Manifying blib/man3/Apache::Changes.3 Manifying blib/man3/Apache::Perfmon.3 Manifying blib/man3/Apache::README.3 Installing /usr/lib/perl5/site_perl/5.005/Apache/Perfmon.pm Installing /usr/lib/perl5/site_perl/5.005/Apache/Changes.pod Installing /usr/lib/perl5/site_perl/5.005/Apache/README.pod Installing /usr/lib/perl5/man/man3/Apache::Changes.3 Installing /usr/lib/perl5/man/man3/Apache::Perfmon.3 Installing /usr/lib/perl5/man/man3/Apache::README.3 All these: Installing /usr/lib/perl5/site_perl/5.005/Apache/Changes.pod Installing /usr/lib/perl5/site_perl/5.005/Apache/README.pod Installing /usr/lib/perl5/man/man3/Apache::Changes.3 Installing /usr/lib/perl5/man/man3/Apache::README.3 shoudn't happen. It misleads since you install Apache/Changes.pod and Apache/README.pod which can be interpeted as mod_perl base files. And of course there is no need to install these system wide. All you want is: Blush. I didn't even use make install... I'll have to check how to suppress the installation of the PODs. Maybe I'll just leave them out of the dist and include Changes/README and their HTML versions. Just look at how any other packages are written and you will solve this issue easily. Of course you can look at ExtUtil::MakeMaker manpage instead. The logfile is opened only once for each apache subprocess. This is done to reduce the overhead caused by this module, but it also means that logfile rotation can be painful. Why don't you open it at the server startup (when you preload Apache::Perfmon) and all the children will inherit the opened FH. Meanwhile I thought about the situation where you have several virtual hosts, and want separate logging for each. I'll have to use a hash by the server name. I'll put that in later this week. ok Now the name -- it should be different. You've picked a name which is too generic, while it explores only one side of performance measuring. Doug has already a module called Apache::TimeIt from his book, whose idea is more or less the same. It was presented as an example and therefore has almost no code in it :) Mine has little more if any at all. :-) I can't find Apache::TimeIt with a cursory look in the book, so I'll have to browse some more when I have the time. Sorry, it's in contrib, not the book: http://perl.apache.org/dist/contrib/Timeit.pm Since I work my self on Apache::Benchmark module, I'm thinking about putting all the performance monitoring and benchmarking modules under the same roof. Apache::Benchmark sounds like a good choice to me. Hmm. Apache::Benchmark sounds more like a benchmark driver to me. Apache::Instrumentation or so? Apache::Probe? Yeah, it's true. How about Apache::Log::RunTime and Apache::Log::RunCPU -- since all it does is samling and loggind the data. Therefore I would suggest calling your module Apache::Benchmark::CPU and Apache::Benchmark::Handler (hmm, I think that it can be a good idea to have these two functions separated, therefore I've suggested these two different modules). Sorry, I can't see where you want to divide this. The module has two probes (I'm beginning to like that word), and little more. Of course you could divide it in a realtime and a CPU probe... Yup, that's exactly my point. Of course you can have a single module with a few functions, so one can choose either or both. Like Apache::ExecLog... I know that people aren't favorite of modules whose names are of more than 2 levels deepnees, but in order to insure a healthy ground for the future emerging modules, this "sacrificing" is a due. I'm not opposed to this at all. Actually I've been thinking about Apache::Authfoo as Apache::Auth::foo for some time... Another shot at a good name: Apache::Probe::Simple? Leaving room for Apache::Probe::Sophisticated. ;-) It's not clear from the name what the module does. The name you suggest is too generic, while the module does very specific things. I haven't registered this module with CPAN mainly because I was unsure of the appropriate name myself, and because I wasn't sure if somebody hadn't already written Apache::Probe::Sophisticated... Absolutely good! _ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] http://apachetoday.com http://jazzvalley.com http://singlesheaven.com http://perlmonth.com perl.org apache.org
Re: Apache::Perfmon 0.011
On Tue, 22 Aug 2000, Lupe Christoph wrote: On Monday, 2000-08-21 at 21:06:54 -0400, Greg Stark wrote: Lupe Christoph [EMAIL PROTECTED] writes: Hmm. Apache::Benchmark sounds more like a benchmark driver to me. Apache::Instrumentation or so? Apache::Probe? Profile or even just Prof. That would be misleading. A profiler is something much more sophisticated and provides you a lot of information about the code that gets executed. More over the Apache::DProf and Apache::SmallProf are already in place. I thought about it a little more. What is does is find the (cpu|real)time taken to process a request. So what about Apache::RequestTimer or maybe Apache::Perf::RequestTimer, creating a new namespace for all performance-related modules? Both sound good time, especially the second :) What I think it needs is, a way to gather the statistics in a hash based on the request. That way I can make a web page that pokes around in the hash table and reports the average and maximum time taken by page. I'd rather not collect the statistics inside the module. Not only can that inflate the process, it's also much better done seperately because this way you can write your own statistics processor without touching the gatherer. true. I'll include a first shot at such a program in the next release. After the naming discussion has settled down. I'm not clear how or if that can be done in a separate module like this that doesn't know how the requests are dispatched. Either a regexp needs to be provided that returns the key to use for the hash, or else something similar needs to be integrated into packages like CGI and Apache::ASP. (Which was the approach I was planning on taking myself.) I like this approach better though, so it would be neat to see it polished. This times the entire request. I'll split the CPU times out in times for the Apache process and that for it and all it's children in the nect release to accomodate CGI. Can't do anything about FastCGI and such things that run independent of the Apache process. If you are going to make it non-mod_perl specific (if I understand your intentions correctly) you shouldn't put it under Apache:: tree. Is anybody running Apache+mod_perl under Win32 who could see if times() and Time::HiRes give you timings of any significance on that platform? As for statistics, I'm thinking about splitting out the host first, second the method (GET, POST, etc), then the URI, with the request string removed, maybe the request strings under the URI at a later time. A good advise would be to let the user to specify the format, following for example the same format that one uses to specify log format in Apache, may be with extra tokens, which are unavailable by Apache. http://www.apache.org/docs/mod/mod_log_config.html BTW, the time taken to server the request is already there: %...{format}t: Print the top n requests by user CPU, system CPU, realtime. Do that in plain text and HTML, with graphs later. BTW, Apache::VMonitor does that this in the real time, for the last request. _ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] http://apachetoday.com http://jazzvalley.com http://singlesheaven.com http://perlmonth.com perl.org apache.org
RE: Producing an error page
Something that may be worthwhile as a starting point for you is CGI::Debug, which basically does what you are asking I think. It leaves you with the perl interpreter's error message (as if you had run the thing from a command-line), a dump of relevant cookies, environment variables and CGI parameters. I've found it very handy lately for debugging a largeish CGI app. The only snag is that it doesn't (actually refuses explicitly) work with mod_perl. Maybe ten minutes work for a mod_perl wizard? ;-) Regards, Howard. -Original Message- From: Jay Strauss [mailto:[EMAIL PROTECTED]] Sent: 21 August 2000 16:44 To: [EMAIL PROTECTED] Subject: Re: Producing an error page Sorry, I didn't explain my question well. But thanks for all the response. I left "my" out of my example on purpose, to illustrate a typical (in my case) programming error. To restate what I'm asking: Is there any way to redirect everything that would normally be sent to the screen, when I run from the command line, to an HTML page when I call my script from the browser (on a script by script basis). I've tried the suggestions so far: cgi::carp http://perl.apache.org/guide/snippets.html#Redirecting_Errors_to_t he_Client BEGIN { print "Content-Type: text/plain\n\n"; *STDERR = *STDOUT } None of these methods will print the diagnostic messages, and typically only print the line number at which I died. I'm not in a production environment, so I don't mind getting a bunch of ugly errors to my browser. Thanks again Jay Jay Strauss [EMAIL PROTECTED] (h) 773.935.5326 (c) 312.617.0264 - Original Message - From: "Jay Strauss" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, August 21, 2000 8:56 AM Subject: Producing an error page Hi, I'm asking this again, due to lack of response (but I can't believe no one out there knows how to do this). How do I produce an error page (in HTML), when I call the script from a browser, that looks just like the error screen I get when I run a script at the command line? That is, if I run the following script from the command line: --- #!/usr/bin/perl -w use strict; use diagnostics; ($first, $second) = @ARGV; exit; --- I'll get a whole bunch of messages telling me I "use strict" and I have variables that I didn't define with "my". But, if I call it from my browser, I just get back a "Internal Server Error" page. Instead I want all the diagnostics messages. Thanks Jay Jay Strauss [EMAIL PROTECTED] (h) 773.935.5326 (c) 312.617.0264
Apache::mod_perl_guide installation quirk
I'm using CPAN.pm to install Apache::mod_perl_guide and have noticed two things: I didn't have Pod::HtmlPsPdf installed, but instead of downloading and installing that module automatically, it just said that it wasn't installed and stopped. After installing Pod::HtmlPsPdf, it installed fine but then I used a different path than the default and it complained about missing files, when they were, in fact, present: Enter the directory to install the html files : [/home/httpd/docs/manual/mod_perl_guide] /usr/local/apache/marcel/htdocs/perldocs/mod_perl/guide Checking if your kit is complete... Warning: the following files are missing in your kit: ./.config ./COPYING ./Changes ./LICENSE ./MANIFEST ./Makefile.PL ./README ./bin/build ./conf/html2ps-global.conf ./conf/html2ps-slides.conf ./conf/html2ps.conf ./conf/hyphen.tex ./mod_perl_guide.pm ./src/CHANGES ./src/Version.pm ./src/advocacy.pod ./src/browserbugs.pod ./src/code/DB_File-Lock2.pm ./src/code/My-DB.pm ./src/code/mysql-3.22.29_backup.pl ./src/code/mysql-3.22.29_restore.pl ./src/code/mysql-3.22.30+_backup.pl ./src/code/mysql-3.22.30+_restore.pl ./src/config.pod ./src/control.pod ./src/correct_headers.pod ./src/databases.pod ./src/dbm.pod ./src/debug.pod ./src/download.pod ./src/frequent.pod ./src/hardware.pod ./src/help.pod ./src/images/mod_perl.gif ./src/images/mod_perl2.jpg ./src/install.pod ./src/intro.pod ./src/modules.pod ./src/multiuser.pod ./src/performance.pod ./src/perl.pod ./src/porting.pod ./src/scenario.pod ./src/security.pod ./src/snippets.pod ./src/start.pod ./src/strategy.pod ./src/style.css ./src/troubleshooting.pod ./tmpl/index.tmpl ./tmpl/indexps.tmpl ./tmpl/page.tmpl ./tmpl/pageps.tmpl ./tmpl/splitpage.tmpl Please inform the author. Writing Makefile for Apache::mod_perl_guide /usr/local/cpan/build/Apache-mod_perl_guide-1.26/bin/build -m +++ Processing the pod files +++ intro.pod : processing (modified / forced) and so on, then it installed fine. Maybe some problem with relative paths? -- Marcel Gr\"unauer - Codewerk plc . . . . . . . . . . . http://www.codewerk.com Perl Consulting, Programming, Training, Code review . . . [EMAIL PROTECTED] sub AUTOLOAD{($_=$AUTOLOAD)=~s;^.*::;;;y;_; ;;print} Just_Another_Perl_Hacker();
Re: Apache::Perfmon 0.011
At 11:26 AM 8/22/00 +0200, you wrote: On Tue, 22 Aug 2000, Lupe Christoph wrote: On Monday, 2000-08-21 at 21:06:54 -0400, Greg Stark wrote: Lupe Christoph [EMAIL PROTECTED] writes: Hmm. Apache::Benchmark sounds more like a benchmark driver to me. Apache::Instrumentation or so? Apache::Probe? Profile or even just Prof. That would be misleading. A profiler is something much more sophisticated and provides you a lot of information about the code that gets executed. More over the Apache::DProf and Apache::SmallProf are already in place. I thought about it a little more. What is does is find the (cpu|real)time taken to process a request. So what about Apache::RequestTimer or maybe Apache::Perf::RequestTimer, creating a new namespace for all performance-related modules? Both sound good time, especially the second :) How about a take off from vmstat (a great UNIX tool) and call it Apache::HTStat
RE: $r-get_handlers bug/oversight?
-Original Message- From: Doug MacEachern [mailto:[EMAIL PROTECTED]] Sent: Monday, August 21, 2000 6:41 PM To: Geoffrey Young Cc: '[EMAIL PROTECTED]' Subject: RE: $r-get_handlers bug/oversight? On Wed, 16 Aug 2000, Geoffrey Young wrote: ack... so the alias only goes one way? I guess it makes sense that we can't know at run time what the Init handler stands for, but how come get_handlers('PerlInitHandler') comes up blank? Isn't it just a table entry? it's not in the get/set handler lookup table. just use PostReadRequest/HeaderParser for now, we'll see about making Init do the right thing with get/set handlers later. fair enough :) the patch looks great - thanks for spending the time... --Geoff
OT: Help with LocationMatch rule
This post is off topic. I apologize in advance, but I'm hoping someone out there can answer this question easily for me. I want to put an authentication rule on an entire site save for two subdirectories. How can I do so? As LocationMatch doesn't have an operator for "all things not matched by this regular expression" and one apparently can't ignore a parent directory's authentication rules if the child wants no authentication whatsoever, I can't come up with the right solution. The closest I've come is: LocationMatch "^/($|[^(cfincludes|includes)])" But this doesn't work as the brackets remove any sense of string, reducing my match to the set of words that are not completely within the jumbled letters inside the brackets. Regards, Christian - Christian Gilmore Infrastructure Tools Team Lead Web Multimedia Development Tivoli Systems, Inc.
Re: Simple question: httpd (apache) vs httpd (mod_perl)
Hello Keith, We have a couple Alphas 4100 in the office with perl and mod_perl enabled Apache. The main difference is that the mod_perl httpd has the full perl embedded. That is, there is no need to load perl in order to execute cgi scripts written in perl. That is a big improvement in performance. Even more can be achieved by having the scripts remain (precompiled) in memory as part of the httpd son processes. On top of that your cgi scripts can interact at any stage of the Apache request handling process, which results in an incredibly powerfull/versatile server. In terms of being able to use the new httpd instead of the previous (Apache only) httpd, the answer is an absolute yes! Regards, Rafael Caceres At 09:36 AM 8/22/00 +0100, you wrote: Hello, My understanding of perl is minimal, my understanding of mod_perl non-existant but I have a (simple) question that I can't find anywhere in the FAQ. Hopefully someone can help? I've just installed the apache web server (1.3.12) on our Tru64 Unix box. One of the applications we run (via the web) suggests that you install mod_perl to increase efficiency...so I did (version 1.24). I noticed that during the install mod_perl creates a new version of httpd (in the src/ directory). How is this version different to the version that apache creates? Should I use the latter version in preference to the apache version? Thanks in advance, Keith ~ Keith Bradnam - Developer, Arabidopsis Genome Resource (AGR) ~ Nottingham Arabidopsis Stock Centre - http://nasc.nott.ac.uk/ ~ University Park, University of Nottingham, NG7 2RD, UK ~ Tel: (0115) 951 3091
Re: Apache::mod_perl_guide installation quirk
On Tue, 22 Aug 2000, Marcel Grunauer wrote: I'm using CPAN.pm to install Apache::mod_perl_guide and have noticed two things: Thanks for this report Marcel! I didn't have Pod::HtmlPsPdf installed, but instead of downloading and installing that module automatically, it just said that it wasn't installed and stopped. A missing PREREQ_PM entry in Makefile.PL -- it's fixed in the CVS version. After installing Pod::HtmlPsPdf, it installed fine but then I used a different path than the default and it complained about missing files, when they were, in fact, present: Enter the directory to install the html files : [/home/httpd/docs/manual/mod_perl_guide] /usr/local/apache/marcel/htdocs/perldocs/mod_perl/guide Checking if your kit is complete... Warning: the following files are missing in your kit: ./.config ./COPYING ./Changes ./LICENSE [more files snipped] ./src/troubleshooting.pod ./tmpl/index.tmpl ./tmpl/indexps.tmpl ./tmpl/page.tmpl ./tmpl/pageps.tmpl ./tmpl/splitpage.tmpl Please inform the author. Writing Makefile for Apache::mod_perl_guide /usr/local/cpan/build/Apache-mod_perl_guide-1.26/bin/build -m +++ Processing the pod files +++ intro.pod : processing (modified / forced) and so on, then it installed fine. Maybe some problem with relative paths? I don't know why, but MANIFEST doesn't accept files starting with ./ -- very weird. Anyway it's fixed now. Thanks! _ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] http://apachetoday.com http://jazzvalley.com http://singlesheaven.com http://perlmonth.com perl.org apache.org
Re: cookie-based auth and mod_auth_dbm
"DP" == Daniel Piczak [EMAIL PROTECTED] writes: DP I have an application relying on basic authentication, using DP mod_auth_dbm.c - ie. AuthDBMUserFile and AuthDBMGroupFile. DP Due to a large userbase, I want to do external authentication of the user's DP passwords, once per session (in a secure way using SSL). The cookie-based Sounds like you want Apache::AuthCookie -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Vivek Khera, Ph.D.Khera Communications, Inc. Internet: [EMAIL PROTECTED] Rockville, MD +1-301-545-6996 GPG MIME spoken herehttp://www.khera.org/~vivek/
Apache::Registry spawning zombie shells?
hi list, while doing a silly thing (building a set of HTML files with info from a DB file), I found that while the apache server was being crawled by lwp-rget, a lots of zombie shells were being spawned and killed. top was telling me that there were quite a few processes like: 6766 nobody 2 0 00 0 Z 0 0.3 0.0 0:00 sh defunct (I was looking at top because I was happy thinking how mod_perl was speeding it all up) so I checked and rechecked my code, 2 *very* silly cgi scripts hacked in a hurry, that I renamed from .cgi to .pl so the crawling finished faster. the scripts are at the bottom, but I don't think you'll find much there. needless to say, when run under mod_cgi, no sh is ever spawned, and when the crawling finished no more spawning took place (3 of the zombie shells remained, though). So it's definitely something with mod_perl and Apache::Registry. Maybe the DB_File module has something blame? Don't really know. these shells are not attached to any console, and they are sh shells, while I use bash. queer. If it weren't because the server is *disconnected* from the 'net I'd think the box was 'rooted'. I've even got to catch the actuall call to sh from ps: sh -c /bin/csh -cf 'set nonomatch; glob /table' 2/de what can that mean? I'm off to search ... martin system specs and scripts : 'Apache/1.3.12 (Unix) mod_perl/1.24' -- Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration: Platform: osname=linux, osvers=2.2.5-22smp, archname=i386-linux uname='linux porky.devel.redhat.com 2.2.5-22smp #1 smp wed jun 2 09:11:51 ed t 1999 i686 unknown ' hint=recommended, useposix=true, d_sigaction=define usethreads=undef useperlio=undef d_sfio=undef Compiler: cc='cc', optimize='-O2', gccversion=egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) cppflags='-Dbool=char -DHAS_BOOL -I/usr/local/include' ccflags ='-Dbool=char -DHAS_BOOL -I/usr/local/include' stdchar='char', d_stdstdio=undef, usevfork=false intsize=4, longsize=4, ptrsize=4, doublesize=8 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 alignbytes=4, usemymalloc=n, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldl -lm -lc -lposix -lcrypt libc=, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic' cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Built under linux Compiled at Aug 30 1999 23:09:51 @INC: /usr/lib/perl5/5.00503/i386-linux /usr/lib/perl5/5.00503 /usr/lib/perl5/site_perl/5.005/i386-linux /usr/lib/perl5/site_perl/5.005 script letra.pl: --- #!/usr/bin/perl -w use strict; use DB_File; use CGI; use URI::Escape; my $cgi = new CGI; print $cgi-header(); my $letra = $cgi-param('letra'); my %db; my $records = 0; tie (%db, "DB_File", 'voluntarios.db') or die $!; print 'htmlheadlink rel="stylesheet" href="fedefa.css"/headbody'; print 'table width="600" border="1" bordercolor="#66" align="center"'; foreach my $key (sort { lc($a) cmp lc($b) } keys %db){ if ($key =~ /^$letra/io){ $records++; print 'tr td width="21" bgcolor="#FFDBAD" img src="lib/flecha.gif" width="21" height="20" /td td bgcolor="#0078B3" width="550" b'; print $cgi-a( {href='record.pl?record=' . uri_escape($key)} , qq{font color="#FF" face="Arial, Helvetica, sans-serif" size="2"$key/font}); print '/font/b/td/tr'; } }; unless ($records){ $letra = uc $letra; print 'tr td width="21" bgcolor="#FFDBAD" img src="/fedefa/lib/flecha.gif" width="21" height="20" /td td bgcolor="#0078B3" width="550" b'; print qq{font color="#FF" face="Arial, Helvetica, sans-serif" size="2"No hay registros con la letra $letra/font}; print '/font/b/td/tr'; } print '/table'; print '/body/html'; -- script record.pl -- #!/usr/bin/perl -w use strict; use DB_File; use CGI; use
'make test' error with CVS modperl
Having downloaded the latest CVS snapshot of modperl, using my standard APACI config parameters to configure and compile, it compiles to completion without error. 'make test' however returns the following error when attempting to start the test httpd process: letting apache warm up...[Tue Aug 22 10:46:31 2000] [error] Can't load '/opt/gnu/lib/perl5/5.00503/sun4-solaris/auto/IO/IO.so' for module IO: ld.so.1: /www/src/apache-1.3_2817161200/src/httpd: fatal: relocation error: file /opt/gnu/lib/perl5/5.00503/sun4-solaris/auto/IO/IO.so: symbol main: referenced symbol not found at /opt/gnu/lib/perl5/5.00503/sun4-solaris/DynaLoader.pm line 169. I have IO-1.20 installed, and have had it there for a long time. Here are the particulars for perl: Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration: Platform: osname=solaris, osvers=2.6, archname=sun4-solaris uname='sunos savvy 5.6 generic_105181-15 sun4u sparc ' hint=recommended, useposix=true, d_sigaction=define usethreads=undef useperlio=undef d_sfio=undef Compiler: cc='gcc', optimize='-O', gccversion=2.95.2 19991024 (release) cppflags='-I/usr/local/include -I/opt/gnu/include' ccflags ='-I/usr/local/include -I/opt/gnu/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=16 alignbytes=8, usemymalloc=y, prototype=define Linker and Libraries: ld='gcc -B/usr/ccs/bin/', ldflags =' -L/usr/local/lib -L/opt/gnu/lib' libpth=/usr/local/lib /opt/gnu/lib /lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lc -lcrypt libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib -L/opt/gnu/lib' Characteristics of this binary (from libperl): Built under solaris Compiled at Jan 26 2000 13:27:51 %ENV: PERLROOT="/opt/gnu/lib/perl5/5.00503" PERL_ORACLE_HOME="/db02/orasw/app/oracle/product/8.1.6" @INC: /opt/gnu/lib/perl5/5.00503/sun4-solaris /opt/gnu/lib/perl5/5.00503 /opt/gnu/lib/perl5/site_perl/5.005/sun4-solaris /opt/gnu/lib/perl5/site_perl/5.005 . I have done this process numerous times in the past with no problems at all. Now all of a sudden I get the relocation error with IO. I'm not sure why. Any thoughts/suggestions? Peace.
Building modperl as a DSO in Apache_1.3.12
I am trying to build modperl ( mod_perl-1.24 ) as DSO in to Apache ( apache_1.3.12 ) on a host running HP-UX 11.0 Uncompressed and untarred the source in two parallel directories. /opt/apache_1.3.12 /opt/mod_perl-1.24 Created a file in /opt directory that contained options to be passed on to Makefile.PL mod_perl.txt I am using the HP supplied ANSI C Compiler. In /opt/mod_perl-1.24 directory ran 'perl Makefile.PL `cat ../mod_perl.txt` . It went OK. ran 'make' and I am getting the following error ld: Unrecognized argument: -Wl -E ld: Usage: ld flags ... files ... The output of make is captured in the following attachment make_0818.txt The last line in the above file indicates the 'ld' command and the arguments '-Wl -E' are in that long line halfway. When I look at the generated Makefile, I see the two lines CCCDLFLAGS = +z CCDLFLAGS = -Wl, E -Wl,-B,deferred How can I avoid this error ?. Any of you working with mod_perl on a HP-UX box encountered this situation ?. Any help would be greatly appreciated. Thanks Raj Kairam APACHE_SRC=../apache_1.3.12/src \ DO_HTTPD=1 \ USE_APACI=1 \ EVERYTHING=1 \ USE_DSO=1 \ APACI_ARGS=--enable-shared=env,--enable-shared=imap,--enable-shared=log_config,--enable-shared=mime,--enable-shared=negotiation,--enable-shared=status,--enable-shared=include,--enable-shared=autoindex,--enable-shared=dir,--enable-shared=cgi,--enable-shared=asis,--enable-shared=actions,--enable-shared=userdir,--enable-shared=alias,--enable-shared=access,--enable-shared=auth,--enable-shared=setenvif (cd ../apache_1.3.12 make) === src === src/regex === src/regex === src/os/unix cc -c -I../../os/unix -I../../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../../apaci` os.c cc -c -I../../os/unix -I../../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../../apaci` os-inline.c rm -f libos.a ar cr libos.a os.o os-inline.o /bin/true libos.a === src/os/unix === src/ap cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_cpystrn.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_execve.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_fnmatch.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_getpass.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_md5c.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_signal.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_slack.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_snprintf.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_sha1.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_checkpass.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` ap_base64.c rm -f libap.a ar cr libap.a ap_cpystrn.o ap_execve.o ap_fnmatch.o ap_getpass.o ap_md5c.o ap_signal.o ap_slack.o ap_snprintf.o ap_sha1.o ap_checkpass.o ap_base64.o /bin/true libap.a === src/ap === src/main cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` gen_test_char.c cc -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` -o gen_test_char gen_test_char.o -lm -lpthread ./gen_test_char test_char.h cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` alloc.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` buff.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` http_config.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` http_core.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` http_log.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` http_main.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` http_protocol.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci` http_request.c cc -c -I../os/unix -I../include -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_PERL -DUSE_HSREGEX `../apaci`
Apache::DBI and Oracle problem
Hi all, I am currently developing a web application with Apache/Mod_perl running on redhat linux 6.1 and connecting to Oracle Database, everything works fine, i started using persistant connection using Apache::DBI, and after every request the open cursor count seems to always increase ( i am doing finish for all the curosrs in my code ) and i hit the ORA-01000: maximum open cursors exceeded error after 1 or 2 hours. i was trying to fix it but in vain. suresh __ Do You Yahoo!? Yahoo! Mail Free email you can access from anywhere! http://mail.yahoo.com/
RE: Apache::DBI and Oracle problem
Title: RE: Apache::DBI and Oracle problem We had this same exact problem. Same as you we were also doing $sth-finish() on each statement handle and we also even tried undef $sth after the finish(). None of these things worked. In our case we were using $dbh-{RaiseError} = 1; to do our error handling. It turned out that if we turned off RaiseError the problem went away. Of course, this meant that we had to do real error handling, but it's better that way anyway. If your using RaiseError this may be your problem. BTW: This is a very useful Oracle query to have in your mod_perl/Oracle application to check on your DBI::Oracle connection. Keep in mind that it's results are httpd child (Oracle connection) specific: SELECT sn.name, my.value FROM v$mystat my, v$statname sn WHERE my.statistic# = sn.statistic# Since we turned off RaiseError, we haven't seen a single cursor being left up. I'd love to know if this is a bug or that we were simply doing something wrong. -Robert Jenks [EMAIL PROTECTED] -Original Message- From: Suresh [mailto:[EMAIL PROTECTED]] Sent: Tuesday, August 22, 2000 3:00 PM To: [EMAIL PROTECTED] Subject: Apache::DBI and Oracle problem Hi all, I am currently developing a web application with Apache/Mod_perl running on redhat linux 6.1 and connecting to Oracle Database, everything works fine, i started using persistant connection using Apache::DBI, and after every request the open cursor count seems to always increase ( i am doing finish for all the curosrs in my code ) and i hit the ORA-01000: maximum open cursors exceeded error after 1 or 2 hours. i was trying to fix it but in vain. suresh __ Do You Yahoo!? Yahoo! Mail Free email you can access from anywhere! http://mail.yahoo.com/
mod_perl-friendly webmail solutions?
hi, i'm looking around, searching webmail solutions that run without problems under mod_perl. Although I know there are many, most of them are not very mod_perl friendly. now, the actual questions are - is anyone here running (successfuly) a mod_perl webmail? - Which one? - How did you solve the 'create new user' issue? Which MTA are you using? - Did you get burned with any particular issue / webmail solution? martin
Re: mod_perl-friendly webmail solutions?
Hi, I used acmemail in two projects and liked it. I didn't test it under mod_perl, but the code as I remember was developed to run under mod_perl and appeared to avoid all the common mod_perl traps. To create new users, I don't dedicated much time to find a better solution, but it worked well to put users and passwords in a file and scheduling a chpasswd or newusers in crontab. One thing I liked in acmemail is that it stores sessions in a mysql database, so it's easy to develop other things using the same session. I know another very good webmail that's running here with about 1.500.000 users under mod_perl, but it's not free. You can obtain more information emailing to [EMAIL PROTECTED] []s Luis martin langhoff wrote: hi, i'm looking around, searching webmail solutions that run without problems under mod_perl. Although I know there are many, most of them are not very mod_perl friendly. now, the actual questions are - is anyone here running (successfuly) a mod_perl webmail? - Which one? - How did you solve the 'create new user' issue? Which MTA are you using? - Did you get burned with any particular issue / webmail solution? martin
Storable problem?
I made some changes to a module to use a hash stored with the Storable module. On our development server all is well, but when I moved it to the production server I was greeted with this when I stopped and attempted to restart the server: Out of memory! Callback called exit. END failed--cleanup aborted at /dev/null line 26. Callback called exit at /dev/null line 26. The only change in configuration was the use of the Storable module versus an embedded hash. Like I said it works great on the development machine. I compared the too servers versions for all loaded modules and the perl stratup scipts and everthing is the same or newer on the production machine, except DBI which is 1.13 vs. 1.14. What can I run to get more information then the above? Storable 0.7.0.2 mod_perl 1.24 Apache 1.3.12 perl 5.005_03 Aaron Johnson
Re: mod_perl-friendly webmail solutions?
On Tue, 22 Aug 2000, martin langhoff wrote: hi, i'm looking around, searching webmail solutions that run without problems under mod_perl. Although I know there are many, most of them are not very mod_perl friendly. now, the actual questions are - is anyone here running (successfuly) a mod_perl webmail? - Which one? - How did you solve the 'create new user' issue? Which MTA are you using? - Did you get burned with any particular issue / webmail solution? martin cpan i /wing/ DistributionM/MI/MICB/wing-0.9.tar.gz Module WING(Contact Author Malcolm Beattie [EMAIL PROTECTED]) Module Wing(M/MI/MICB/wing-0.9.tar.gz) Module Wing::Admin (M/MI/MICB/wing-0.9.tar.gz) Module Wing::Balance (M/MI/MICB/wing-0.9.tar.gz) Module Wing::Login (M/MI/MICB/wing-0.9.tar.gz) Module Wing::Shared(M/MI/MICB/wing-0.9.tar.gz) Module Wing::Util (M/MI/MICB/wing-0.9.tar.gz) cpan readme Wing [snip] DESCRIPTION WING is an Open Source Apache/mod_perl based system which allows users to access email held on an IMAP server via any web browser. WING provides a gateway so that users can access email held on an IMAP server via any web browser. See http://users.ox.ac.uk/~mbeattie/wing/ [snip] Hope this helps _ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] http://apachetoday.com http://jazzvalley.com http://singlesheaven.com http://perlmonth.com perl.org apache.org
Re: Storable problem?
Aaron Johnson wrote: I made some changes to a module to use a hash stored with the Storable module. On our development server all is well, but when I moved it to the production server I was greeted with this when I stopped and attempted to restart the server: Out of memory! Callback called exit. END failed--cleanup aborted at /dev/null line 26. Callback called exit at /dev/null line 26. I had transfered them to the other machine with ftp set to ASCII thereby botching the binary storage of the storable files. DUH! Thanks to those who responded to me personally. Aaron The only change in configuration was the use of the Storable module versus an embedded hash. Like I said it works great on the development machine. I compared the too servers versions for all loaded modules and the perl stratup scipts and everthing is the same or newer on the production machine, except DBI which is 1.13 vs. 1.14. What can I run to get more information then the above? Storable 0.7.0.2 mod_perl 1.24 Apache 1.3.12 perl 5.005_03 Aaron Johnson
RE: Building modperl as a DSO in Apache_1.3.12
I have not tried to build mod_perl as a DSO, but encountered these -Wl, +n flags during static module build of mod_perl 1.24 + Apache 1.3.12 on HPUX 11.00 - I edited them out of the Makefile... not terribly elegant but it did work Mark -Original Message- From: Kairam, Raj [SMTP:[EMAIL PROTECTED]] Sent: Wednesday, August 23, 2000 5:16 AM To: '[EMAIL PROTECTED]' Cc: Kairam, Raj Subject: Building modperl as a DSO in Apache_1.3.12 I am trying to build modperl ( mod_perl-1.24 ) as DSO in to Apache ( apache_1.3.12 ) on a host running HP-UX 11.0 Uncompressed and untarred the source in two parallel directories. /opt/apache_1.3.12 /opt/mod_perl-1.24 Created a file in /opt directory that contained options to be passed on to Makefile.PL mod_perl.txt I am using the HP supplied ANSI C Compiler. In /opt/mod_perl-1.24 directory ran 'perl Makefile.PL `cat ../mod_perl.txt` . It went OK. ran 'make' and I am getting the following error ld: Unrecognized argument: -Wl -E ld: Usage: ld flags ... files ... The output of make is captured in the following attachment The last line in the above file indicates the 'ld' command and the arguments '-Wl -E' are in that long line halfway. When I look at the generated Makefile, I see the two lines CCCDLFLAGS = +z CCDLFLAGS = -Wl, E -Wl,-B,deferred How can I avoid this error ?. Any of you working with mod_perl on a HP-UX box encountered this situation ?. Any help would be greatly appreciated. Thanks
Why is Apache::PerlRun a subclass of Apache?
Hi, I've got to ask this because I'm going through immense pain and suffering* dealing with this problem. Why is Apache::PerlRun a subclass of Apache? Shouldn't it just be a regular content handler that 'has-a' $r instead of 'is-a' Apache request? The problem I'm having is that I'm trying to write Apache::Filter as a subclass of Apache (because it 'is-a' Apache request class, in that it extends the Apache class), but PerlRun and its derived class RegistryNG step in and clobber $r. So I'm trying to open the discussion about whether the current implementation of Apache::PerlRun might be changeable. I'm about to take a stab at implementing it the way I think (for the moment) it should be. -Ken *Well, perhaps not actual pain and suffering, but I just watched "Buffy the Vampire Slayer" so it's on my mind. =)
RE: :Oracle problem in conjunction with Apache.
there are a number of threads on this and the modperl list that address the issue: http://marc.theaimsgroup.com/?l=apache-modperlm=96461467121206w=2 or http://marc.theaimsgroup.com/?l=apache-modperlm=96682673408989w=2 or http://perl.apache.org/guide/troubleshooting.html#install_driver_Oracle_fail ed_C each thread outlines a few solutions that have worked for people, but they all come back to ldconfig (I think) - choose the one that helps you best... HTH --Geoff -Original Message- From: Mike Ford [mailto:[EMAIL PROTECTED]] Sent: Tuesday, August 22, 2000 1:27 PM To: [EMAIL PROTECTED] Subject: DBD::Oracle problem in conjunction with Apache. I have been able to use DBD::Oracle on my own workstation for quite some time now, and haven't had any considerable problems that stopped me dead in my tracks. I've been assisting a coworker who is trying to get DBD::Oracle installed on his own test environment and having little luck. Here's the story so far: We've got the DBD::Oracle 1.06 installed as of this morning on his RedHat 6.2 box, and no tests are failing under 'make test'. To accomplish this, we have set ORACLE_HOME, ORACLE_USERID, and TWO_TASK, as well as appending ORACLE_HOME/lib onto LD_LIBRARY_PATH. We finished up with 'make install' and tried running some perl. As long as we're running from command line, the system will connect to the database and work properly. When we attempt to run the same code through the web server, it croaks and gives the following error in the log: Premature end of script headers: /usr/local/apache/cgi-bin/index.cgi install_driver(Oracle) failed: Can't load '/usr/lib/perl5/site_perl/5.005/i386-linux/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.1.0: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.00503/i386-linux/DynaLoader.pm line 169 at (eval 6) line 3 Perhaps a required shared library or dll isn't installed where expected I can't see the difference in my set up and his (btw, I'm running on RH6.1), so I'm not sure why we're encountering this problem. Anyone know a solution? Thanks -- Mike Ford Web Developer, WorkFlow Integrators, Inc. [EMAIL PROTECTED] www.wfiinc.com -- DBI HOME PAGE AND ARCHIVES: http://www.symbolstone.org/technology/perl/DBI/ To unsubscribe from this list, please visit: http://www.isc.org/dbi-lists.html If you are without web access, or if you are having trouble with the web page, please send mail to [EMAIL PROTECTED] with the subject line of: 'unsubscribe'. --