[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: apache, perl, 403 forbidden, help?



On Wed, Nov 22, 2000 at 06:28:10AM -0600, Herbert Ho wrote:
> I've tried it both with and without the '+'. they both result in the
> same error (403 forbidden). i check my permissions again and as far as
> i can tell all parent directories are at least o+rx.
> 
> for some reason i can't understand apache is ignoring the Directory
> directives i use in the conf file... =(
> 
> thanks for your suggestion.
> 
> 
> herbert
> 
> On Tue, Nov 21, 2000 at 04:57:03PM -0600, Chris Feist wrote:
> > 
> > <SNIP>
> > > 1) i've added the handler and options directives to my srm.conf:
> > > 
> > >       AddHandler cgi-script .cgi .pl
> > >       <Directory "/">
> > >          Options +All +ExecCGI
> > >       </Directory>
> > 
> > You shouldn't have a "+" in front of All and ExecCGI.  I'm not sure if 
> > you're just doing it for empahsis, but that could be your problem.

au contraire.
	Options ExecCGI
sets options to be 'ExecCGI' only, regardless of what they were
before, whereas
	Options +ExecCGI
leaves current options as is, except for turning ExecCGI on.

as i understand it, anyhow.

> > Make sure your permissions are at least 755.

make sure the partition is mounted for executability
(as opposed to noexec) -- use command 'mount'

can you run the perl from the command line?

have you enabled mod_cgi?
	LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so
	# if you don't `apt-get install apache-perl` you'll need to:
	# LoadModule perl_module /usr/lib/apache/1.3/mod_perl.so
	AddHandler cgi-script .cgi

	# note that this will tell apache to run ANYthing
	# ending in *.cgi or *.pl, so beware!
	<FilesMatch "\.cgi">
		# these will need '#!' shebang path on first line
		SetHandler cgi-script
		Options +ExecCGI
	</FilesMatch>
	<FilesMatch "\.pl">
		Options +ExecCGI
		SetHandler perl-script
		PerlSendHeader Off
		PerlHandler Apache::PerlRun
		# or
		# PerlHandler Apache::Registry
	</FilesMatch>

> > > 2) i tried pointing the directory to the exact directory where i'm
> > >    executing the script (i.e. "/" -> "/home/herb/public_html/init", my
> > >    script resides in init/) to no avail.
> > > 
> > > 3) i tried replacing the <Directory> directive w/
> > > 
> > >       ScriptAlias ~herb/public_html/init /home/herb/public_html/init
> > > 
> > >    again, no effect.

	LoadModule userdir_module /usr/lib/apache/1.3/mod_userdir.so
	UserDir disabled root
	UserDir /home/*/public_html
	<DirectoryMatch ^/home/.*/public_html/cgi-bin>
		Options +ExecCGI
	</DirectoryMatch>

> > > 4) installing the 'apache' package instead of 'apache-perl'. it makes
> > >    me download the script.
> > > 
> > > 
> > > permissions look correct. all parents of the script directory are at
> > > least o+rx. i am able to execute scripts ok in /usr/lib/cgi-bin/
> > > (ScriptAlias'ed to cgi-bin/), but not elsewhere.
> > > 
> > > HELP? any is appreicated...

hopefully there's a pointer in the above hoo-hah to nudge
you over the top...? (and with luck, i've not left out
anything important -- there's lots!)

-- 
There are only two places in the world where time takes
precedence over the job to be done.  School and prison. 
					--William Glasser 

will@serensoft.com    ***    http://www.dontUthink.com/

volunteer to document your experience for next week's
newbies -- http://www.eGroups.com/messages/newbieDoc



Reply to: