Re: apache and suexec breaks my cgi script
On Sat, Jun 08, 2002 at 12:20:27AM -0500, Derrick 'dman' Hudson wrote: | I've been beating my head into a wall trying to figure out why my | "hello world" cgi script won't run. It turns out that disabling | suexec (which is enabled by default in the apache package) makes the | problems vanish. Now I want to know what is causing the problem. The prize for identifying the cause of the problem goes to Simon Tneoh Chee-Boon. He mailed me off-list with this snippet (and the corresponding comment) from suexec.h : #ifndef USERDIR_SUFFIX #define USERDIR_SUFFIX "public_html" #endif Well, I had changed the user dir to ~/public/html in httpd.conf, but apparently suexec has the old path hard-wired in. That causes it to bomb. I also can't change the binary at all or else apache doesn't enable it. I could _probably_ rebuild the whole apache package and install that, but that seems like too much work. At least disabling suexec makes the problem go away. For those that are curious, I chose the ~/public/* organization to allow for other "public" stuff to be put in ~/public. Eg ~/public/samba, ~/public/ftp, ~/public/whatever-else-I-find-that-isn't-served-by-apache. -D -- Come to me, all you who are weary and burdened, and I will give you rest. Take my yoke upon you and learn from me, for I am gentle and humble in heart, and you will find rest for your souls. For my yoke is easy and my burden is light. Matthew 11:28-30 GnuPG key : http://dman.ddts.net/~dman/public_key.gpg pgpdvLjskb4wH.pgp Description: PGP signature
Re: apache and suexec breaks my cgi script
On Sat, Jun 08, 2002 at 01:03:19AM -0700, Vineet Kumar wrote: | * Derrick 'dman' Hudson ([EMAIL PROTECTED]) [020607 22:10]: | > [2002-06-07 23:55:40]: emerg: cannot get docroot information | > (/home/dman) | | > drwx--x--x 92 dman dman 4096 Jun 8 00:13 /home/dman | | These 2 lines seem to make me think the problem is somehow related to | not having +r on /home/dman. Does changing that permission alleviate the | problem? No, I've tried making it group and world readable, but I get the same error messages. | IIRC, it does something like traverse back up the directory tree to see | if the request is within a ~userdir, to see if it matches a Directory | directive, I think. Just a shot in the dark. A look at the source would | reveal exactly what the problem is (or at least where that error message | comes from). Here's the relevant source from suexec.c : if (userdir) { if (((chdir(target_homedir)) != 0) || ((chdir(USERDIR_SUFFIX)) != 0) || ((getcwd(dwd, AP_MAXPATH)) == NULL) || ((chdir(cwd)) != 0)) { log_err("emerg: cannot get docroot information (%s)\n", target_homedir); exit(112); } } else { if (((chdir(DOC_ROOT)) != 0) || ((getcwd(dwd, AP_MAXPATH)) == NULL) || ((chdir(cwd)) != 0)) { log_err("emerg: cannot get docroot information (%s)\n", DOC_ROOT); exit(113); } } (nice that both branches give the exact same error message =p) I tried adding some more logging into the source and rebuilt it, but apache won't enable suexec with that new binary. If it would, then I could figure out which check is failling. TIA, -D -- Q: What is the difference betwee open-source and commercial software? A: If you have a problem with commercial software you can call a phone number and they will tell you it might be solved in a future version. For open-source sofware there isn't a phone number to call, but you get the solution within a day. GnuPG key : http://dman.ddts.net/~dman/public_key.gpg pgpPxx7JcqyFR.pgp Description: PGP signature
Re: apache and suexec breaks my cgi script
Last Sat, Jun 08, 2002 at 01:03:19AM -0700, Vineet Kumar wrote: > * Derrick 'dman' Hudson ([EMAIL PROTECTED]) [020607 22:10]: > > [2002-06-07 23:55:40]: emerg: cannot get docroot information > > (/home/dman) > > > drwx--x--x 92 dman dman 4096 Jun 8 00:13 /home/dman > > These 2 lines seem to make me think the problem is somehow related to > not having +r on /home/dman. Does changing that permission alleviate the > problem? > > IIRC, it does something like traverse back up the directory tree to see > if the request is within a ~userdir, to see if it matches a Directory > directive, I think. Just a shot in the dark. A look at the source would > reveal exactly what the problem is (or at least where that error message > comes from). docroot info can't be read because of the missing read bit in the group permissions. Making the directory permissions to at least 0751 might solve the problem. -- -->paolo Paolo Alexis Falcone [EMAIL PROTECTED] GnuPG KeyID 0xEADFF6F4 ___ "I think ideology sucks. This world would be a much better place if people had less ideology, and a whole lot more "I do this because it's FUN and because others might find it useful, not because I got religion."" --> Linus Torvalds -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: apache and suexec breaks my cgi script
* Derrick 'dman' Hudson ([EMAIL PROTECTED]) [020607 22:10]: > [2002-06-07 23:55:40]: emerg: cannot get docroot information > (/home/dman) > drwx--x--x 92 dman dman 4096 Jun 8 00:13 /home/dman These 2 lines seem to make me think the problem is somehow related to not having +r on /home/dman. Does changing that permission alleviate the problem? IIRC, it does something like traverse back up the directory tree to see if the request is within a ~userdir, to see if it matches a Directory directive, I think. Just a shot in the dark. A look at the source would reveal exactly what the problem is (or at least where that error message comes from). good times, Vineet -- Currently seeking opportunities in the SF Bay Area Please see http://www.doorstop.net/resume.shtml pgp6ga4nE0UKm.pgp Description: PGP signature