Corey Smith wrote: > BTW: I'm using mrtg-rrd 0.5. Latest version is probably very similar... > > Create a directory under the site_perl library path and copy the script > there Ex. > > /usr/local/lib/perl5/site_perl/5.8.0/ModPerl/mrtg-rrd.pm >
<snip> > > Make an entry in your httpd.conf like: > > PerlModule ModPerl::mrtg-rrd > <Location /mrtg-rrd/> > SetHandler perl-script > PerlHandler ModPerl::mrtg-rrd > PerlSendHeader On > </Location> > > In your html refer to the CGI like: > > <a href="/mrtg-rrd/TARGET.html"> > <IMG VSPACE=10 WIDTH=500 HEIGHT=135 ALIGN=TOP > SRC="/mrtg-rrd/TARGET-day.png" ALT="day"> > </a> If my understanding is correct then the approach above is to turn the CGI script into a perl handler and create some html for each target. I didn't want to do this; my understanding was that the cgi would read the mrtg config file and present a series of targets (with a summary graph) that one can connect to. What I'd imagined was to have something like: <Directory "/opt/mrtg/cgi-bin/"> SetHandler perl-script PerlHandler Apache::Registry #PerlSendHeader On AllowOverride AuthConfig Options +ExecCGI Order allow,deny Allow from all </Directory> And make an alteration in the CGI to allow it to work under mod_perl. If I use the suggest configuration for a CGI I get the following errors in Apache's error log: mrtg-rrd.cgi: Variable "$percent_h" will not stay shared at /opt/mrtg/cgi-bin/mrtg-rrd.cgi line 400. mrtg-rrd.cgi: Prototype mismatch: sub apache::ROOTmanagement_2eexponential_2de_2enet::mrtg::cgi_2dbin::mrtg_2drrd_2ecgi::handler ($)vs none at /opt/mrtg/cgi-bin/mrtg-rrd.cgi line 1068. mrtg-rrd.cgi: Subroutine handler redefined at /opt/mrtg/cgi-bin/mrtg-rrd.cgi line 1. null: Deep recursion on subroutine "Apache::ROOTmanagement_2eexponential_2de_2enet::mrtg::cgi_2dbin::mrtg_2drrd_2ecgi::handler" at /opt/mrtg/cgi-bin/mrtg-rrd.cgi line 1064. I assume I have to change: use CGI; my $q = new CGI; # thttpd fix up by Akihiro Sagawa if ($q->server_software() =~ m|^thttpd/|) { my $path = $q->path_info(); $path .= '/' if ($q->script_name=~ m|/$|); $q->path_info($path); } handler($q); To something that mod_perl will accept, the mrtg-rrd faq suggests "just create the $q object with the path_info() method, and then call a handler($q) subroutine". Its this bit that I think I need, but don't know enough about mod_perl. Jim Mozley -- Unsubscribe mailto:[EMAIL PROTECTED] Archive http://www.ee.ethz.ch/~slist/mrtg FAQ http://faq.mrtg.org Homepage http://www.mrtg.org WebAdmin http://www.ee.ethz.ch/~slist/lsg2.cgi