Vinod Kurup

Hospitalist/programmer in search of the meaning of life

AOLserver CGI Errors

Scenario: You’re trying to run a CGI program under AOLserver and you see this in your error log:

19/Jul/2003:00:00:23     Error: exec /home/vinod/cgi-bin/mt: execve() failed: Permission denied
19/Jul/2003:00:00:23     Error: waitpid(-3) failed: No child processes
19/Jul/2003:00:00:23     Error: nscgi: wait for /home/vinod/cgi-bin/mt failed: No child processes

I’m trying to run /home/vinod/cgi-bin/mt/mt.cgi. Why isn’t this working? Because I need to tell AOLserver about each and every directory which might contain CGI programs.

So I need to change my nsd.tcl from:

ns_section "ns/server/${server}/module/nscgi"
ns_param   map "GET  /cgi-bin /home/${user_account}/cgi-bin/" 
ns_param   map "POST /cgi-bin /home/${user_account}/cgi-bin/" 
ns_param   Interps CGIinterps

to

ns_section "ns/server/${server}/module/nscgi"
ns_param   map "GET  /cgi-bin /home/${user_account}/cgi-bin/"
ns_param   map "POST /cgi-bin /home/${user_account}/cgi-bin/"
ns_param   map "GET  /cgi-bin/mt /home/${user_account}/cgi-bin/mt" 
ns_param   map "POST /cgi-bin/mt /home/${user_account}/cgi-bin/mt" 
ns_param   Interps CGIinterps

Problem solved. Further reading: http://jongriffin.com/static/consultant/nscgi - sure wish I had read that before I started messing with ns_cgi.