Re: using mod_perl with SSI-run perl scripts
Ok, I have an update on this. I found some docs on how to set things up, but ran into a problem when compiling it. Here's the line I used to configure mod_perl, and have it build apache: perl Makefile.PL PERL_SSI=1 USE_APACI=1 APACI_ARGS='--prefix=/usr/apache --enable-shared=max --disable-shared=include --disable-shared=perl --enable-module=include' It builds fine, and seems to do what I want, until the 'make test' stage, which exits at: Failed Test Status Wstat Total Fail Failed List of failed --- modules/ssi.t?? ?? % ?? 9 tests skipped. httpd terminated httpd terminated *** Error code 9 Stop in /usr/src/www/mod_perl-1.24. Is there anything that I'm doing wrong?
Re: @INC still tainted :-(
On Thu, 17 Aug 2000, Dave Jenkins wrote: I'd appreciate some help with a nasty little intermittent problem. I'm running... Apache/1.3.9 (Unix) mod_perl/1.21 mod_ssl/2.4.9 OpenSSL/0.9.4 on a SuSE 6.2 box (2.2.10 kernel) Mostly everything is fine, but now and then the following error appears. When it does, it occurs every few requests, so presumably infects one or two of the running Apache processes. It's cured by a restart (until the next time it happens!) [error] Insecure dependency in require while running with -T switch at blah The relevant line in blah is a 'use' statement, such as use Time::Local 'timegm'; Hmm, did you read the perlsec manpage? It suggests the following cure: $ENV{'PATH'} = '/bin:/usr/bin'; delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'}; Give it a try. Also there is a Taint.pm module on CPAN but I don't see how it should help here. Apparently some code in Time::Local is not taint-clean. I tried to find whether the problem was due to something dodgey getting into @INC, by running the test script inctest.cgi, attached (is_tainted function lifted from Camel book). If I run this after getting the above error message, it indicates that every element of @INC is tainted. I've looked at the "@INC and mod_perl" page in the guide. In httpd.conf I have PerlTaintCheck On and I'm not setting PERL5LIB. My startup.pl doesn't do anything with 'use lib'. Thanks in advance for any advice, Dave -- Dave Jenkins Silk New Media _ 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 Variables
On Thu, 17 Aug 2000 [EMAIL PROTECTED] wrote: Let me start with "I'm new". If this is the wrong forum, let me know now and please direct me to the right place. I come from the Mac/Windows world. I'd like to know howm to check on the status of Apache via perl and what commands are possible to check on things like the listeners, DB connectivity. http://perl.apache.org/guide/debug.html#Apache_Status_Embedded_Inter http://perl.apache.org/guide/modules.html#Apache_VMonitor_Visual_Syste And if there are suggestions for places to read and learn, I'd appreciate them. Thanks in advance Russell Dobbins Verizon Wireless _ 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: Memory Leak
On Tue, 15 Aug 2000, vegan.star wrote: I have some mod_perl modules. I suspect that it has a memory leak. I'm running that in a Sun Solaris 2.6 machine with apache 1.3.9. I read that exists Apache::Leak to test for leaks. How it works? I have some packages and I put into them like this: package package_name; use Apache::Leak; leak_test{ global vars sub handler { statements } sub another_function { statements } }; Is it correct? I thought not, because the answers are always no leaks. Anybody can helps me? Another idea to detect the leaks? Well yes, http://thingy.kcilink.com/modperlguide/debug/How_can_I_find_out_if_a_mod_perl.html but Apache::Leak is not an easy thing to use for leakage detection, since manytimes what's reported as a leakage is in fact a Perl internal optimization. Look at the end of the section from the above link and use the Apache::Status module with StatusLexInfo option enabled -- this should reveal more info. See the manpage for more info. BTW, Solaris has been known to have memory leakages in its C libraries, but I'm not sure whether it's still true. I think it was prior to 2.6. I don't use Solaris so I cannot confirm, but I remember the reports about this from the previous years. _ 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: [OT] mod_proxy tuning info?
On Tue, 15 Aug 2000, Edward Moon wrote: Yes, I have read that part of the mod_perl guide. I'm looking for a more detailed discussion on mod_proxy configuration and performance. But it doesn't answer the questions I have regarding the use of mod_proxy: * What affect does CacheGcInterval have on performance? * Does setting CacheDirLevels to a high value cause a performance hit? * Does setting CacheDirLength to a small value increase performance? * How does performance scale with 1GB, 2GB, or 4GB of memory? * How do you determine the overall hit rate? The hit rate from ram? The hit rate from disk? * There are dynamic pages I want cached for a certain TTL. There are other dynamic pages I don't want cached at all. Do I have to use the NoCache directive on all the directories/files I don't want cached? Or is there a more effective way to do this? Edward, Can you please forward me the informaition you learn about the above items and I'll complete the missing details to the Guide? Thanks a lot! On Tue, 15 Aug 2000, ___cliff rayman___ wrote: have u read this yet? http://perl.apache.org/guide/scenario.html#mod_proxy Edward Moon wrote: I'm looking for docs or white papers on tuning apache/mod_proxy for optimum performance when acting as a reverse proxy for a web farm. Can anyone point me to a URL or a book that's a good reference? Thanks, -- ___cliff [EMAIL PROTECTED]http://www.genwax.com/ _ 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: using mod_perl with SSI-run perl scripts
Hello , mod_perl will never reduce your server load (in fact it will increase it ) and specialy SSI+Modperl will bring you realy huge httpd procs . I think that you should read http://perl.apache.org/guide/performance.html http://perl.apache.org/guide/scenario.html best Constantin - Original Message - From: "Mike Hodson" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, August 18, 2000 5:12 AM Subject: using mod_perl with SSI-run perl scripts Hello there. I am currently looking for a way to reduce the server load on a very popular website. I must admit, I am not a whiz with perl, nor was I the designer of our current system. The web content designer (I myself am a server administrator) is using a set of small perl scripts run thru the SSI !--exec CGI="/cgi-bin/banner.pl"-- method to change advertizing banners on different pages. I personally want to convert them into some sort of embperl or PHP code embedded into the pages, however the current number of pages that require these scripts number in the thousands, and I can't justify changing everything over if there is another option. I need to know if mod_perl can execute the perl scripts called by the exec cgi SSI command, and if so, instructions on how to make this work properly. Right now our server (p3-550mhz, 768 megs ram, freebsd 4.0) load average is steady around 5, and spikes to over 20 when people request the SSI enabled pages. Thanks in advance for any help on this subject. Regards, Mike Hodson
Re: file download with mod_perl
Hi Pritesh, However, the same code is not working under mod_perl. The file content is the same as original file, but filename is populated as download.cgi instead of actual file name. I think mod_perl is putting its own headers, while sending the data. Are you using the PerlSendHeader On directive in your httpd.conf file? If not put this into your Location section (or whatever) and it should cure your problem, e.g. Location /perl SetHandler perl-script PerlHandlerApache::Registry PerlSendHeader On Options+ExecCgi /Location See also the online mod_perl guide http://perl.apache.org/guide/porting.html#Generating_correct_HTTP_Headers I hope this helps, Axel
UBB ?
Has anyone converted the Ultimate Bulletin Board / Madron Park Bulletin board to run under mod_perl ?
Adding values to Session file
Hi, We have a site where we create a session file on login and tie some values. After a few page visits we want to add more values to the session file again using tie. We find that only the first set of values get added. Subsequent values do not get added to this file. Can somebody tell us what the problem is ?? Regards, Murali Differentiated Software Solutions Pvt. Ltd.176, Ground Floor, 6th Main,2nd Block, RT NagarBangalore - 560032Phone : 91 80 3431470www.diffs-india.com
RE: Adding values to Session file
Not with so little information... Afew ideas though: I assume you are speaking of Apache::Session? Are you adding values lower than the top level? The man page clearly states no deep checking is done to determine if modifications have been made... Have you tried explicitly untie'ing? -Original Message-From: Differentiated Software Solutions Pvt. Ltd [mailto:[EMAIL PROTECTED]]Sent: Friday, August 18, 2000 9:04 AMTo: [EMAIL PROTECTED]Subject: Adding values to Session file Hi, We have a site where we create a session file on login and tie some values. After a few page visits we want to add more values to the session file again using tie. We find that only the first set of values get added. Subsequent values do not get added to this file. Can somebody tell us what the problem is ?? Regards, Murali Differentiated Software Solutions Pvt. Ltd.176, Ground Floor, 6th Main,2nd Block, RT NagarBangalore - 560032Phone : 91 80 3431470www.diffs-india.com
Re: Location Directive Problem
To close loop , I discovered I had redundant Location directives for /hello/world amongst my various *.conf files. Once I got rid of the extras I was good to go. Thanks for ideas ! Tony Tony Whyte wrote: Running apache-1.3.11, mod_perl-1.24, irix6.5.5 this works: (gets handled by mod_perl) Location /hello-world SetHandler perl-script PerlHandler Apache::Hello /Location this doesnt: Location /hello/world SetHandler perl-script PerlHandler Apache::Hello /Location Tried quoting "/hello/world" I still get "File does not exist: /usr/local/apache/htdocs/hello/world" in logs. Is there some other directive Ive missed or misconfigured. Thanks Tony
Re: Adding values to Session file
Hello , Your problem is an classic example of an incorrect implementation of tie function In fact the session acts like this : 1)You tie your hash (INDIRECTLY linket to the database) 2)You put your data in the hash but it still in memory because it is quite stupid and slow to put it directly in the database ( each time you acces the tied hash it doesn't make an SELECT from the database) So if you stop at this point you loose all your data in memory witch is normal So you need the step 3) 3) UNTIE you tied hash to ensure the syncronisation between your hash in memory and the database Under apache::registry there is an very usefull thing the register_cleanup method witch have an advantage it is executed after EACH request this is an equivalent to END block in plain cgi , this protect you against STOP ou RELOAD actions : Lets put it in shape: I suppose that you use Apache::Session module 1) eval {tie %session, 'Apache::Session::MySQL', $id, { DataSource = 'dbi:mysql:sessions',UserName = 'user',Password = 'password', LockDataSource = 'dbi:mysql:sessions', LockUserName = 'user', LockPassword = 'password'}}; #you can deal with exceptions at this point if you want #we have our hash tied 2) #lets put some data $session{data}='data'; 3) #syncronise the whole thing $r-register_cleanup( sub{ untie %session;#syncronise the session hash #put hereall close statements to your database handlers ( if you need that ) } ); - Original Message - From: Differentiated Software Solutions Pvt. Ltd To: [EMAIL PROTECTED] Sent: Friday, August 18, 2000 3:04 PM Subject: Adding values to Session file Hi, We have a site where we create a session file on login and tie some values. After a few page visits we want to add more values to the session file again using tie. We find that only the first set of values get added. Subsequent values do not get added to this file. Can somebody tell us what the problem is ?? Regards, Murali Differentiated Software Solutions Pvt. Ltd.176, Ground Floor, 6th Main,2nd Block, RT NagarBangalore - 560032Phone : 91 80 3431470www.diffs-india.com
Re: using mod_perl with SSI-run perl scripts
"MH" == Mike Hodson [EMAIL PROTECTED] writes: MH administrator) is using a set of small perl scripts run thru the MH SSI !--exec CGI="/cgi-bin/banner.pl"-- method to change MH advertizing banners on different pages. I personally want to MH convert them into some sort of embperl or PHP You should use !--#include virtual="/cgi-bin/banner.pl" -- in preference to exec cgi. If you configure mod_perl to run /cgi-bin/banner.pl and make it mod_perl safe (see the guide on how to do that) it will "just work" (tm). You probably also want to offload any images and other static content to another server (possibly on the same host, but not a virtual server. it needs to be a separate instance of httpd without mod_perl). The guide goes into many techniques on performance tuning as well. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Vivek Khera, Ph.D.Khera Communications, Inc. Internet: [EMAIL PROTECTED] Rockville, MD +1-301-545-6996 GPG MIME spoken herehttp://www.khera.org/~vivek/
Re: using mod_perl with SSI-run perl scripts
"BC" == Bogomolnyi Constantin [EMAIL PROTECTED] writes: BC mod_perl will never reduce your server load (in fact it will increase it ) This is an absolutely wrong statement. When I converted one site to mod_perl, the load dropped dramatically because it could handle the requests faster. This allowed me to avoid buying additional hardware. Using the tuning tips I collected during that transition (now found as the mod_perl_tuning docs that come with mod_perl) I was able to reduce the load even more. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Vivek Khera, Ph.D.Khera Communications, Inc. Internet: [EMAIL PROTECTED] Rockville, MD +1-301-545-6996 GPG MIME spoken herehttp://www.khera.org/~vivek/
Re: using mod_perl with SSI-run perl scripts
Vivek Khera [EMAIL PROTECTED] writes: "BC" == Bogomolnyi Constantin [EMAIL PROTECTED] writes: BC mod_perl will never reduce your server load (in fact it will increase it ) This is an absolutely wrong statement. Depends where you're coming from, surely? If you're purely SSI, then you're adding overhead, if you're already heavily perl then you're reducing the load (provided you play by the rules ;-). -- Dave Hodgkinson, http://www.hodgkinson.org Editor-in-chief, The Highway Star http://www.deep-purple.com Apache, mod_perl, MySQL, Sybase hired gun for, well, hire -
Ack: [ID 20000818.003] mod_perl Apache::Symbol::undef() is deprecated
Your e-mail has been received by the Perl Bug Squashing Team. A Bug ID (2818.003) has been assigned and is shown in the subject of this email. Please include this bug ID in the subject line of any followup messages. This is an automatic confirmation message. -- Perl Bug Squashing Team Message from the Perlbug squashing team at '[EMAIL PROTECTED]'
mod_perl Apache::Symbol::undef() is deprecated
This is a bug report for perl from [EMAIL PROTECTED], generated with the help of perlbug 1.28 running under perl v5.6.0. - Building mod_perl fails the following tests: modules/symbol..ok 1/2FAILED test 2 Failed 1/2 tests, 50.00% okay internal/apiok 6/76FAILED tests 7-76 Failed 70/76 tests, 7.89% okay The contents of the error_log file in t/logs (warnings omitted) is:- --- Constant subroutine WIN32 redefined at /.cpan/build/mod_perl-1.24/blib/lib/Apache/test.pm line 33. Use of inherited AUTOLOAD for non-method Apache::Symbol::undef() is deprecated at /.cpan/build/mod_perl-1.24/blib/lib/Apache/Symbol.pm line 50, fh1 chunk 1. [Thu Aug 17 20:23:37 2000] [error] Can't locate auto/Apache/Symbol/undef.al in @INC (@INC contains: /.cpan/build/mod_perl-1.24/blib/lib /.cpan/build/mod_perl-1.24/blib/arch /.cpan/build/mod_perl-1.24/t/docs /.cpan/build/mod_perl-1.24/blib/lib /.cpan/build/mod_perl-1.24/blib/arch blib/arch blib/lib /usr/local/lib/perl5/sun4-solaris/5.00404 /usr/local/lib/perl5 /usr/local/lib/perl5/site_perl/sun4-solaris /usr/local/lib/perl5/site_perl /.cpan/build/mod_perl-1.24/t/ /.cpan/build/mod_perl-1.24/t/lib/perl) at /.cpan/build/mod_perl-1.24/blib/lib/Apache/Symbol.pm line 50 [Thu Aug 17 20:23:52 2000] [error] Usage: Apache::the_request(r) at /.cpan/build/mod_perl-1.24/t/net/perl/api.pl line 74, fh1 chunk 1. --- Line 74 of api.pl is:- $r-the_request(join ' ', map { $r-$_() } qw(method uri protocol)); Ultimately I'm trying to build Apache::ASP, but need mod_perl to work properly first. mod_perl 1.21 was OK with perl 5.004_05, but Apache::ASP came up with run-time errors and perl core-dumps, so I decided to upgrade to perl 5.6.0 (which passed 100% tests) before reporting the problem. Now I can't get mod_perl to pass these tests, and though it might work anyway, I would not be comfortable with it in a production environment. :-( - --- Flags: category=core severity=high --- Site configuration information for perl v5.6.0: Configured by root at Thu Aug 17 14:12:04 BST 2000. Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration: Platform: osname=solaris, osvers=2.7, archname=sun4-solaris uname='sunos grayling 5.7 generic_106541-07 sun4m sparc sunw,sparcstation-5 ' config_args='-de' hint=previous, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=define Compiler: cc='gcc', optimize='-O', gccversion=2.95.1 19990816 (release) cppflags='-DSOCKS -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DSOCKS' ccflags ='-DSOCKS -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DSOCKS' stdchar='char', d_stdstdio=define, usevfork=false intsize=4, longsize=4, ptrsize=4, doublesize=8 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='gcc', ldflags =' -L/usr/local/lib ' libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -lgdbm -ldl -lm -lc -lcrypt -lsec -lsocks5 -lsocks5_sh 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' Locally applied patches: --- @INC for perl v5.6.0: /usr/local/lib/perl5/5.6.0/sun4-solaris /usr/local/lib/perl5/5.6.0 /usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris /usr/local/lib/perl5/site_perl/5.6.0 /usr/local/lib/perl5/site_perl . --- Environment for perl v5.6.0: HOME=/ LANG (unset) LANGUAGE (unset) LC_COLLATE=en_GB LC_CTYPE=en_GB LC_MESSAGES=C LC_MONETARY=en_GB LC_NUMERIC=en_GB LC_TIME=en_GB LC_TYPE=iso8859_1 LD_LIBRARY_PATH=/usr/lib:/usr/openwin/lib:/usr/dt/lib:/usr/local/lib:/usr/local/hpnp/lib LOGDIR (unset) PATH=/opt/FSFm4/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/ucb:/usr/lib/nis:/opt/gnu/bin:/usr/openwin/bin:/usr/dt/bin:/etc:/opt/SUNWxt/v2.1/bin:/usr/opt/SUNWmd/sbin:/opt/SUNWwabi/bin:/usr/local/hpnp/bin:/opt/SUNWsunpc/bin:/opt/SUNWfw/bin:/opt/SUNWsymon/sbin:/opt/SUNWsymon/bin:/opt/SoftWindows2/SoftWindows2/bin:/opt/SUNWremon/bin:/usr/sbin/nsr:/usr/bin/nsr:/opt/FSFautoc/bin PERL_BADLANG (unset) SHELL=/sbin/sh
Milage may vary comments
I the past 6 weeks I have been working on various problems with Apache/mod_perl/AutoIndex.pm. There needs to be a "Your Mileage May Vary" (YMMV) reference page that is easily accessible. For Example,after scratching at the mouse pad, I found the following URLs with practical information: http://www.perlreference.com/mod_perl/guide/warnings.html#Evil_things_might _happen_when_us http://www.perlreference.com/mod_perl/guide/control.html There are no doubt many more URLs, but, my point is "perspective"; Practical information about, "what works and what doesn't" (WWWDuh:-). I want to point out a couple of observations during my trouble shooting: !) 'Do not' load mod_perl as a DSO. 2) 'Do not': "PerlFreshRestart On" in httpd.conf. 3) Always put any httpd.conf module directives after the module is loaded. (Be careful about the load sequence of Perl modules from within your "startup.pl" file.) 4) Trouble shooting is a bag of worms, which includes error_log, gdb, strace, PERL_TRACE (on UNIX of course). Setting up a testing environment on a different port (I used port 81), and then "divide and concur" (core and all:-). Which points out, that a lot of details, change for the various platforms. . . . Does anyone know what happened to or how to contact GOZER (Philippe M. Chiasson)? Or perhaps who maintains AutoIndex.pm? I have some questions and thoughts to pursue. . .
Large Memory Sizes
Ok. I finally got mod_perl doing what I want it to do. Except for one problem. after anywhere from 10 minutes, to half an hour, on a server with 768megs of ram, it starts eating swap. How can I keep the processes small and not growing to ungodly sizes (13 megs per process, unsure of how much of that is shared)? I've looked at different documentation, but the methods they give only slow the use of swap, and the processes keep growing, yet slower.. Thanks in advance Mike
Re: Large Memory Sizes
"Mike Hodson" [EMAIL PROTECTED] writes: I've looked at different documentation, but the methods they give only slow the use of swap, and the processes keep growing, yet slower.. And that documentation included: http://perl.apache.org/guide ? From start to finish? -- Dave Hodgkinson, http://www.hodgkinson.org Editor-in-chief, The Highway Star http://www.deep-purple.com Apache, mod_perl, MySQL, Sybase hired gun for, well, hire -
PerlAuthenHandler -- doesn't get there...?
i canna get the PerlAuthenHandler to do ANYTHING. first line of code after $r = shift is $r-warn() but nothing shows up in the log. aaugh! i copied the sample code from 'illustrated security scenarios' at http://perl.apache.org/guide/security.html nearly verbatim, (cut paste + munge) changed '(*PASSED*)' to a simple test (moot, at this point) and inserted a few $r-warn("") for tracing and debugging purposes. access_handler() works fine. all its $r-warn output shows up in the logfile as it should. BUT i never see any incursion into the authen_handler() AT ALL! [my main site is serensoft.com; the virtual site is dontUthink.com and the url i'm trying to test is dontUthink.com/auth ... it lets me in, every time, without asking for any userid:password.] httpd.conf: PerlModule Serensoft::Auth Location /auth PerlAccessHandler Serensoft::Auth::access_handler PerlSetVar Intranet "this = that" PerlAuthenHandler Serensoft::Auth::authen_handler AuthName "dontUthink subscriber" AuthType Basic Require valid-user /Location Serensoft/Auth.pm: Package Serensoft::Auth; use strict; use Apache::Constants qw(:common); [snip] sub authen_handler { my $r = shift; $r-warn('authen_handler'); # == NEVER gets here!!! # get user's authentication credentials my ($res, $sent_pw) = $r-get_basic_auth_pw; return $res if $res != OK; my $user = $r-connection-user; # authenticate through DBI my $reason = authen_dbi ($r, $user, $sent_pw); # $level? eh? if ($reason) { $r-note_basic_auth_failure; $r-log_reason ($reason, $r-uri); return AUTH_REQUIRED; } return OK; } i even tried adding $r-set_handlers(PerlAuthenHandler = [\authen_handler]); right at the end of access_handler() (before returning OK) but alas, to no avail. what obvious dial have i forgotten to frob? -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Their is five errers in this sentance.
Re: PerlAuthenHandler -- doesn't get there...?
i canna get the PerlAuthenHandler to do ANYTHING. first line of code after $r = shift is $r-warn() but nothing shows up in the log. aaugh! i copied the sample code from 'illustrated security scenarios' at http://perl.apache.org/guide/security.html nearly verbatim, (cut paste + munge) changed '(*PASSED*)' to a simple test (moot, at this point) and inserted a few $r-warn("") for tracing and debugging purposes. access_handler() works fine. all its $r-warn output shows up in the logfile as it should. BUT i never see any incursion into the authen_handler() AT ALL! maybe you need "Order deny, allow" to trigger authentication [my main site is serensoft.com; the virtual site is dontUthink.com and the url i'm trying to test is dontUthink.com/auth ... it lets me in, every time, without asking for any userid:password.] httpd.conf: PerlModule Serensoft::Auth Location /auth PerlAccessHandler Serensoft::Auth::access_handler PerlSetVar Intranet "this = that" PerlAuthenHandler Serensoft::Auth::authen_handler AuthName "dontUthink subscriber" AuthType Basic Require valid-user /Location Serensoft/Auth.pm: Package Serensoft::Auth; use strict; use Apache::Constants qw(:common); [snip] sub authen_handler { my $r = shift; $r-warn('authen_handler'); # == NEVER gets here!!! # get user's authentication credentials my ($res, $sent_pw) = $r-get_basic_auth_pw; return $res if $res != OK; my $user = $r-connection-user; # authenticate through DBI my $reason = authen_dbi ($r, $user, $sent_pw); # $level? eh? if ($reason) { $r-note_basic_auth_failure; $r-log_reason ($reason, $r-uri); return AUTH_REQUIRED; } return OK; } i even tried adding $r-set_handlers(PerlAuthenHandler = [\authen_handler]); right at the end of access_handler() (before returning OK) but alas, to no avail. what obvious dial have i forgotten to frob? -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Their is five errers in this sentance.
Re: Milage may vary comments
!) 'Do not' load mod_perl as a DSO. 2) 'Do not': "PerlFreshRestart On" in httpd.conf. Curiously enough, "PerlFreshRestart On" has always worked for me, even on the production servers. It's pretty damn useful too, giving servers a graceful restart everytime you upload a module... it'd be a pain to have to fully restart the server every time, that would mean like 10 seconds of downtime for the whole site. 4) Trouble shooting is a bag of worms, No kidding it is! One thing that needs to be repeated too: unless you care about children doing cleanup-type things after their last request, you should really start Apache/mod_perl with PERL_DESTRUCT_LEVEL=-1. which includes error_log, gdb, strace, PERL_TRACE (on UNIX of course). I humbly bow to the Gods of Unix, in thankfulness for the strace command. -- Roger Espel Llima, [EMAIL PROTECTED] http://www.iagora.com/~espel/index.html
Re: PerlAuthenHandler -- doesn't get there...?
i canna get the PerlAuthenHandler to do ANYTHING. first line of code after $r = shift is $r-warn() but nothing shows up in the log. aaugh! [snip] Location /auth PerlAccessHandler Serensoft::Auth::access_handler PerlSetVar Intranet "this = that" PerlAuthenHandler Serensoft::Auth::authen_handler AuthName "dontUthink subscriber" AuthType Basic Require valid-user /Location [snip] After looking at my own configuration for Apache::AuthCookie, and snooping in the Apache source a bit, I think that your "AuthType Basic" needs to be changed to "AuthType Serensoft::Auth". ...Steve -- Steve van der Burg Information Services London Health Sciences Centre (519) 685-8300 ext 35559 [EMAIL PROTECTED]
JOB: Alameda, CA (entry-level)
Hi guys, My company, Tradiant, is looking for a Web Developer to work on our new Information Services portal. Below is the job posting and if you're still interested, read my take on the company: - Web Developer The candidate will work closely in developing Tradiant's Informational Services Portal. Specific responsibilities include: * Develop each project according to Product Marketing needs. * Work with the engineering team to integrate information services with other Tradiant applications. * Responsible for both back-end development and front-end GUI. Requirements: * 2-3 years experience in the following technologies: - HTML (should have a strong grasp of cross-platform, multi language capabilities). - Perl (mod_perl a PLUS!) - JavaScript - Relational databases (MySQL and/or MS SQL Server) * Must be able to work independently on large-scale projects. * JSP and/or Java experience Desired: * PHP * Experience with Linux (both user and administrative). * CVS * Graphical (Photoshop, Freehand) experience a plus. * Web site design experience * Experience with Web-based portals a plus. * BS in computer science or related experience. - Let me say first that this IS a Perl/mod_perl position. The inclusion of PHP/JSP are merely there because the rest of the shop is JSP and having that experience as well would be a plus. The department hiring is Internet Services. We're a 2 person team who are responsible for the corporate Web site and the Informational Services product which is our semi-new info portal off of our Marketplace. Although the Engineering team (who develops the MP) works in JSP with IIS, our group develops in Perl (mod_perl) and Apache on Linux. Although not stated in the Job Description, this position would be ideal for someone just starting out in mod_perl and willing to learn as he/she moves along. For more information on the company, see our Web site at: http://www.tradiant.com. If you are interested in the position send your resume to [EMAIL PROTECTED] and mention the Web Developer position. If you have general questions about the position or the work atmosphere don't hesitate to contact me offline. Regards, Jim -- Jim Serio - [EMAIL PROTECTED] Producer, World of Coasters
Re: Milage may vary comments
On Fri, 18 Aug 2000, Roger Espel Llima wrote: !) 'Do not' load mod_perl as a DSO. This should be a golden rule if you plan on HUPing your server with any regularity. 2) 'Do not': "PerlFreshRestart On" in httpd.conf. Curiously enough, "PerlFreshRestart On" has always worked for me, even on the production servers. It's pretty damn useful too, giving servers a graceful restart everytime you upload a module... it'd be a pain to have to fully restart the server every time, that would mean like 10 seconds of downtime for the whole site. It's even more useful if you want to cache a large quantity of data in ram with the root process and then periodically refresh that data. -- Douglas Leonard [EMAIL PROTECTED]
Re: PerlAuthenHandler -- doesn't get there...?
thanks for your posts, guys! Eric Cholet replied: i copied the sample code from 'illustrated security scenarios' at http://perl.apache.org/guide/security.html nearly verbatim, (cut paste + munge) changed '(*PASSED*)' to a simple test (moot, at this point) and inserted a few $r-warn("") for tracing and debugging purposes. access_handler() works fine. all its $r-warn output shows up in the logfile as it should. BUT i never see any incursion into the authen_handler() AT ALL! maybe you need "Order deny, allow" to trigger authentication Steve van der Burg replied: After looking at my own configuration for Apache::AuthCookie, and snooping in the Apache source a bit, I think that your "AuthType Basic" needs to be changed to "AuthType Serensoft::Auth". tried both... alas, still no entry into authen_handler. it's never executed at all. (Steve--docs for most of the standard auth modules [see your local http://localhost/doc/apache/manual/mod/] which seem to indicate 'AuthType Basic' not 'AuthType Mod::Path'...?) if Stas can get it to work using the framework on the guide page, what've i got missing? (can anybody confirm that it can/does run as expected?) what modules are required for this simple authenticator to work? there's gotta be something i'm missing. Doesn't look like 'AuthUserFile' or the like, would come into play, does it? -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Their is five errers in this sentance.
Anyone get Apache::PerlVINC to work?
I get the behaviour described in the BUGS section of the docs: server silently fails to start. However, I'm using the latest version of Apache::ExtUtils, as recommended. Also using mod_perl 1.22, Apache 1.3.12, Apache::ASP 2.03. Has anyone got PerlVINC to work with this combo? Tom
Re: Milage may vary comments
On Fri, 18 Aug 2000, George Sanderson wrote: I the past 6 weeks I have been working on various problems with Apache/mod_perl/AutoIndex.pm. There needs to be a "Your Mileage May Vary" (YMMV) reference page that is easily accessible. For Example,after scratching at the mouse pad, I found the following URLs with practical information: http://www.perlreference.com/mod_perl/guide/warnings.html#Evil_things_might _happen_when_us http://www.perlreference.com/mod_perl/guide/control.html Do not use this service!!! I've repeatedly asked the owners of this site either to update the Guide or remove it. I'm CC'ing them again, but I'm sure this request will go unanswered. They carry the version from Aug, 17 1999!!! It's one year old, completely outdate, incorrect and whatsoever... If you have links to this site, please do your users a favor and delete the links. The information online should be either kept up to date or deleted. Otherwise it misleads people. _ 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: PerlAuthenHandler -- doesn't get there...?
On Fri, 18 Aug 2000, will trillich wrote: thanks for your posts, guys! Eric Cholet replied: i copied the sample code from 'illustrated security scenarios' at http://perl.apache.org/guide/security.html nearly verbatim, (cut paste + munge) changed '(*PASSED*)' to a simple test (moot, at this point) and inserted a few $r-warn("") for tracing and debugging purposes. access_handler() works fine. all its $r-warn output shows up in the logfile as it should. BUT i never see any incursion into the authen_handler() AT ALL! maybe you need "Order deny, allow" to trigger authentication Steve van der Burg replied: After looking at my own configuration for Apache::AuthCookie, and snooping in the Apache source a bit, I think that your "AuthType Basic" needs to be changed to "AuthType Serensoft::Auth". tried both... alas, still no entry into authen_handler. it's never executed at all. (Steve--docs for most of the standard auth modules [see your local http://localhost/doc/apache/manual/mod/] which seem to indicate 'AuthType Basic' not 'AuthType Mod::Path'...?) if Stas can get it to work using the framework on the guide page, what've i got missing? (can anybody confirm that it can/does run as expected?) Argh, I wish I could always test every addition I have in the guide, some code goes untested as it was posted to the mod_perl or contributed by someone else. Then people come and use it, if something is wrong they send me a patch I fix it. I guess this is a similar scenario -- I admit that this code wasn't tested by me. If you find the problem and solve it, please send me the patch, so everybody could benefit from it. As for hints you want to read the Eagle book, I try hard not to duplicate information in the book, but sometimes I do. The book covers extensively the Authentication handler writing. You should start from the Basic one that works for you and then move on and add the extra, more complicated logic inside. I'm looking forward for the patch :) Thanks a lot! _ 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: Anyone get Apache::PerlVINC to work?
On Fri, 18 Aug 2000, Tom Lancaster wrote: I get the behaviour described in the BUGS section of the docs: server silently fails to start. However, I'm using the latest version of Apache::ExtUtils, as recommended. Also using mod_perl 1.22, Apache 1.3.12, Apache::ASP 2.03. Has anyone got PerlVINC to work with this combo? Use the latest version, it's not a part of the Apache::ExtUtils, but distributed in a separate package: Module id = Apache::PerlVINC CPAN_USERID DAVEM (Dave Moore [EMAIL PROTECTED]) CPAN_VERSION 0.02 CPAN_FILED/DA/DAVEM/Apache-PerlVINC-0.02.tar.gz MANPAGEApache::PerlVINC - Allows versioning of modules among directories or v-hosts. It's about a time to upgrade the mod_perl server as well :) _ 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: Anyone get Apache::PerlVINC to work?
That's the version I'm using, and it's in the docs for that module that the problem I'm having is described. It claims to be fixable by using the latest ExtUtils. I guess not :( I suppose I'd better update my mod_perl. Stas Bekman wrote: On Fri, 18 Aug 2000, Tom Lancaster wrote: I get the behaviour described in the BUGS section of the docs: server silently fails to start. However, I'm using the latest version of Apache::ExtUtils, as recommended. Also using mod_perl 1.22, Apache 1.3.12, Apache::ASP 2.03. Has anyone got PerlVINC to work with this combo? Use the latest version, it's not a part of the Apache::ExtUtils, but distributed in a separate package: Module id = Apache::PerlVINC CPAN_USERID DAVEM (Dave Moore [EMAIL PROTECTED]) CPAN_VERSION 0.02 CPAN_FILED/DA/DAVEM/Apache-PerlVINC-0.02.tar.gz MANPAGEApache::PerlVINC - Allows versioning of modules among directories or v-hosts. It's about a time to upgrade the mod_perl server as well :) _ 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: Anyone get Apache::PerlVINC to work?
On Fri, 18 Aug 2000, Tom Lancaster wrote: That's the version I'm using, and it's in the docs for that module that the problem I'm having is described. It claims to be fixable by using the latest ExtUtils. I guess not :( Oh, Ok. I thought I've been using an older version of it. I suppose I'd better update my mod_perl. Definitely worth to give it a try. Stas Bekman wrote: On Fri, 18 Aug 2000, Tom Lancaster wrote: I get the behaviour described in the BUGS section of the docs: server silently fails to start. However, I'm using the latest version of Apache::ExtUtils, as recommended. Also using mod_perl 1.22, Apache 1.3.12, Apache::ASP 2.03. Has anyone got PerlVINC to work with this combo? Use the latest version, it's not a part of the Apache::ExtUtils, but distributed in a separate package: Module id = Apache::PerlVINC CPAN_USERID DAVEM (Dave Moore [EMAIL PROTECTED]) CPAN_VERSION 0.02 CPAN_FILED/DA/DAVEM/Apache-PerlVINC-0.02.tar.gz MANPAGEApache::PerlVINC - Allows versioning of modules among directories or v-hosts. It's about a time to upgrade the mod_perl server as well :) _ 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 _ 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: Large Memory Sizes
Ok. I finally got mod_perl doing what I want it to do. Except for one problem. after anywhere from 10 minutes, to half an hour, on a server with 768megs of ram, it starts eating swap. How can I keep the processes small and not growing to ungodly sizes (13 megs per process, unsure of how much of that is shared)? I've looked at different documentation, but the methods they give only slow the use of swap, and the processes keep growing, yet slower.. Your processes will grow over time. You can prevent this from being a problem by fixing the things in your code that cause them to grow quickly, and by using something like Apache::SizeLimit to kill processes that get too big, replacing them with fresh, smaller processes. Both of these are documented in the mod_perl guide. Using up 768 MB in 10 minutes is pretty extreme, and probably means you either have something you can fix in your code or are allowing Apache to start too many processes. - Perrin
Connect the dots on Apache::Cookie
Hello: Is there any more documentation besides the perldoc on how to use Apache::Cookie (it's not enough for me :(, I need something a bit more tutorially oriented, and the Eagle Book doesn't cover it)? Thanks in advance. Christopher Everett
Re: using mod_perl with SSI-run perl scripts
Depends where you're coming from, surely? If you're purely SSI, then you're adding overhead, if you're already heavily perl then you're reducing the load (provided you play by the rules ;-). This guy already said he was trying to replace #exec calls to perl CGI scripts, so it should definitely help him reduce load. - Perrin
Re: Connect the dots on Apache::Cookie
On Fri, 18 Aug 2000, Christopher Louis Everett wrote: Hello: Is there any more documentation besides the perldoc on how to use Apache::Cookie (it's not enough for me :(, I need something a bit more tutorially oriented, and the Eagle Book doesn't cover it)? Thanks in advance. Christopher Everett I'm not sure how much this will be of a tutorial but try: http://thingy.kcilink.com/modperlguide/porting/Starting_with_mod_cgi_Compatible.html _ 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: Milage may vary comments
On Fri, 18 Aug 2000, Roger Espel Llima wrote: !) 'Do not' load mod_perl as a DSO. This should be a golden rule if you plan on HUPing your server with any regularity. 2) 'Do not': "PerlFreshRestart On" in httpd.conf. Curiously enough, "PerlFreshRestart On" has always worked for me, even on the production servers. It's pretty damn useful too, giving servers a graceful restart everytime you upload a module... it'd be a pain to have to fully restart the server every time, that would mean like 10 seconds of downtime for the whole site. It's even more useful if you want to cache a large quantity of data in ram with the root process and then periodically refresh that data. I agree! What was happening to me, was that with "PerlFreshRestart On", I would get a segmentation fault every time used AutoIndex.pm. I removed the directive and the problem went away. I have seen other references to memory leaks and such. If anyone has suggestions as to why the "PerlFreshRestart On" would aggervate segment faults, I would like to here them. -- Douglas Leonard [EMAIL PROTECTED]
Re: Connect the dots on Apache::Cookie
Stas Bekman wrote: snip I'm not sure how much this will be of a tutorial but try: http://thingy.kcilink.com/modperlguide/porting/Starting_with_mod_cgi_Compatible.html This is to say then, that one uses Apache::Cookie, just like one would use CGI::Cookie? Everett PS. Thanks for the mod_perl guide, I wouldn't be this far along without it.
Re: Connect the dots on Apache::Cookie
On Fri, 18 Aug 2000, Christopher Louis Everett wrote: Stas Bekman wrote: snip I'm not sure how much this will be of a tutorial but try: http://thingy.kcilink.com/modperlguide/porting/Starting_with_mod_cgi_Compatible.html This is to say then, that one uses Apache::Cookie, just like one would use CGI::Cookie? more or less, yes, but faster since its core is written in C/XS Everett PS. Thanks for the mod_perl guide, I wouldn't be this far along without it. You are very welcome :) _ 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
cvs commit: modperl-site/embperl Changes.pod.1.html
richter 00/08/18 02:21:05 Modified:embperl Changes.pod.1.html Log: Embperl Webpages - Changes Revision ChangesPath 1.165 +3 -1 modperl-site/embperl/Changes.pod.1.html Index: Changes.pod.1.html === RCS file: /home/cvs/modperl-site/embperl/Changes.pod.1.html,v retrieving revision 1.164 retrieving revision 1.165 diff -u -r1.164 -r1.165 --- Changes.pod.1.html2000/08/17 07:32:34 1.164 +++ Changes.pod.1.html2000/08/18 09:21:04 1.165 @@ -18,7 +18,7 @@ blockquote [a href="index.html"HOME/a]nbsp;nbsp; [a href="Changes.pod.cont.html"CONTENT/a]nbsp;nbsp; [a href="Changes.pod.cont.html"PREV (Revision History - Content)/a]nbsp;nbsp; [a href="Changes.pod.2.html"NEXT (1.3b4 (BETA) 17.07.2000)/a]nbsp;nbsp; brhr P -Last Update: Thu Aug 17 09:33:14 2000 (MET) +Last Update: Fri Aug 18 11:21:44 2000 (MET) P NOTE: This version is only available via A HREF="CVS.pod.1.html#INTRO""CVS"/A @@ -48,6 +48,8 @@ lt;a href=quot;foo.html?a=1amp;amp;b=gt;2quot;gt;. - EMBPERL_COOKIE_EXPIRES now also supports relativ times like: +30s +10m +1h -1d +3M +10y + - $req_rec -gt; pnotes ('EMBPERL_ERRORS') could be used to retrieve + error message inside a error document /PRE p[a href="index.html"HOME/a]nbsp;nbsp; [a href="Changes.pod.cont.html"CONTENT/a]nbsp;nbsp; [a href="Changes.pod.cont.html"PREV (Revision History - Content)/a]nbsp;nbsp; [a href="Changes.pod.2.html"NEXT (1.3b4 (BETA) 17.07.2000)/a]nbsp;nbsp; br font color="#808080"___br