Re: mos_perl2 on Windows
[prev]
[thread]
[next]
[Date index for 2005/05/23]
On 5/23/05, Randy Kobes <randy@xxxxxxxx.xxxxxxxxx.xx> wrote:
> On Mon, 23 May 2005, Robert wrote:
>=20
> > I just installed it via PPM (for ActiveStates 5.8.6.811).
> > I had my site working under Apache1/CGI without problem.
> >
> > I upgraded to Apache2/mod_perl and I configured my site conf like so (p=
er
> > the docs):
> >
> > alias /reports "C:\path\to\reports"
> >
> > PerlModule ModPerl::PerlRun
> >
> > <Directory "path\to\reports">
> > SetHandler perl-script
> > PerlResponseHandler ModPerl::PerlRun
> > PerlOptions +ParseHeaders
> > Options +ExecCGI
> > </Directory>
> >
> > My httpd.conf looks like:
> >
> > #
> > # MOD_PERL 2.0
> > #
> > LoadFile "C:/Perl/bin/perl58.dll"
> > LoadModule perl_module modules/mod_perl.so
> > #PerlRequire "C:/Apache2/conf/extra.pl" <--- this errors out on APR.D=
LL
> > even though it is there...Apache won't start unless I comment this out
> >
> > Apache starts without errors but I get the following error when trying =
to
> > server up the page:
> >
> > [Mon May 23 11:46:57 2005] [error] [client 10.149.82.49] Attempt to ser=
ve
> > directory: C:/path/to/reports/
>=20
> I take it this is for a request of
> http://localhost/reports
> You probably do want Apache to refuse; for security reasons,
> you wouldn't want a user to get a listing of scripts in
> such a directory.
>=20
> Do requests for
> http://localhost/reports/some_script_that_does_exist
> succeed?
>=20
> --
> best regards,
> randy kobes
>=20
It does not:
Apache log:
[Mon May 23 14:05:47 2005] [error] [client 10.149.82.49] Options
ExecCGI is off in this directory: C:/Documents and Settings/BHicks/My
Documents/websites/LIVE/reports/test.cgi
403 Forbidden:
You don't have permission to access /reports/test.cgi on this server.
I do have the "AddHandler cgi-script .cgi" uncommented in the
httpd.conf and "Options +ExecCGI" is in my site conf.
I am using the example snippet from the perldocs for mod_perl as the
test script:
my $r =3D Apache2::RequestUtil->request;
$r->content_type("text/html");
$r->send_http_header;
$r->print("mod_perl rules!");
If I change the conf file to this:
SetHandler perl-script
PerlResponseHandler ModPerl::PerlRun
PerlOptions +ParseHeaders
Options +ExecCGI
Order allow,deny
Allow from all
I now get the following error in the Apache2 log file:
[Mon May 23 14:11:37 2005] [error] Can't locate object method
"send_http_header" via package "Apache2::RequestRec" at (eval 5) line
5.\n
Sorry if this is long, and I am so ignorant. : \
Robert