Joey K Tuttle wrote:
> Last June, I puzzled out how to get j602 to run for Apache users on 
> one of my web servers. Then I forgot what the trouble was and when I 
> recently wanted to move to j602 on my main server, I struggled for 
> several hours before figuring it out again.
> 
> Basically, the problem comes about because j602 wants to create a 
> folder (by default j602-user) in the user's home directory. This is 
> done early on in the profile.ijs script, in the lines:
> 
> home=.    >(systype-5){(2!:5'HOME');(2!:5'USERPROFILE');'\My Documents'
> userx=.   '\j',('64-'#~16={:$3!:3[2),'602-user'
> user=.    home,userx
> 
> The problem is that because the "user" Apache doesn't have a home 
> directory or even the ability to login as a shell user, (2!:5'HOME') 
> returns a NUMERIC 0. Then the line trying to do home,userx gets a 
> domain error and that appears as quite a mysterious error in the 
> browser window calling the CGI... Is there some reason a numeric is 
> returned instead of a character string (or empty)?
> 
> One workaround is to modify profile.ijs to put a valid "home 
> directory" in the case where a 0 is returned. Another (and the one I 
> am using) does a
> 
> SetEnv HOME /tmp   # or some other usable directory
> 
> in the /etc/httpd/conf/httpd.conf configuration file. I used to have 
> to put JPATH information into the Apache environment, and that 
> changed with each release - so j602 was a great step forward, but 
> does still require Apache knowing about it.

I prefer to fix profile.ijs, as in:

  home=. >(home-:0){home;'/temp'

since this fixes the problem for other users.

A good place to document this is in wiki page
http://www.jsoftware.com/jwiki/Guides/CGI , which needs updating for
j602 anyway.

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to