ColdFusion and Virtual Directories

Probably out of the scope of support for Virtualmin but here is the problem I am having.

I have installed Virtualmin an RHEL 4 ES and have it working OK.

I installed CFMX 7.O2 and have it working half way. By halfway I mean that it will process pages in the /var/www/html folder but it will not process the files in the virtual directories. It gives me a CF File Not Found error, not an Apache error.

Does anybody know of a solution?

I thought of maybe having the virtual directories in the /var/www/html folder but I don’t know if that is possible.

Hey Kenneth,

Not sure what to make of that. It is possible to move things back to /var/www, but I dunno if that will solve your problem. Homes still have to end up in their own space (it would just be a subdirectory of /var/www instead of /home, which will conflict with SELinux policy later on, once we have figured out the policy changes needed to run with SELinux enabled) and will be owned by the user rather than apache (we use SuExec for everything except PHP, and even that’ll be changing in a few days).

If you do decide to try it, you’ll have to remove our httpd packages and replace them with the RHEL standard package (ours have been recompiled to have suexec docroot in /home).

You could also experiment a bit to try to isolate the problem (for example, by creating a domain that does not use SuExec and the home directory is owned by Apache), or possibly consult with a Cold Fusion related resource. We don’t do anything particularly odd in our Apache configuration, so this isn’t going to be specific to Virtualmin. If anything, I expect it is permissions problems related to SuExec.

If it does turn out to be permissions issues, then just remember that anything that runs with SuExec runs as the user that owns the domain home. Cold Fusion might be running as a user that does not have permission to access those directories. Also, don’t do frightfully common practice of “chmod 777” on your problem home directory. Apache running with SuExec will refuse to do anything with those permissions–so it not only won’t prove that permissions aren’t a problem, it’ll probably fool you into thinking that they aren’t when they are. Ok, that was a longwinded way around that sentence…just don’t chmod 777 to try to find out if permissions are a problem! Executable files cannot be writable by anyone other than the owner, or SuExec will refuse to run your scripts at all.

Anyway, point is, this is a Cold Fusion thing and it’s probably fixable. I’m sure the Cold Fusion folks want it to be useable in a virtual hosting environment, which ours is a very standard configuration of, so it seems likely there is a way to make it all spin.

It is not a SELinux issue because I have it disabled right now.

I think it is a user/group issue but I am too new to Linux to troubleshoot it.

A few posts on a blog might interest you.

It was a user issue!!!

When you install CF you choose which user to run it as.

I chose the default of nobody.

When I added nobody to the virtual websites group the pages serve up fine.