suEXEC, Joomla, and permissions



Hi all,

New to dreamhost, coming from bluehost, trying to transfer two Joomla 1.5 installs. I’ve got the sites up and running on DreamHost, but I can’t, for the life of me, figure out why Joomla refuses to see any part of its file structure as writable. (Unfortunately, no, this is not a new-to-chmod issue.)

According to everything I’ve read on the wiki and forums, Joomla should work right out of the box, and apache uses suEXEC to run CGI as the user who owns the domain. However, I can’t get Joomla to write to its config file or any of its directories unless I chmod to 777 (which is obviously not an acceptable solution.) 755 and 775 don’t work, much less the nominal 644 (for configuration.php). Since the files and directories are all owned by the correct user and default group, it seems to me that the only logical explanation is that its NOT being executed by the domain user. Unfortunately, beyond chmod, I don’t have many tools with which to verify – I can’t add configuration.php to the dhapache group or anything like that.

I tried doing a one-click install of Joomla under the domain, but it refused to install in the domain root (/home/user/, complaining that “the directory is not empty” – I rm -R 'd and tried again, but same error. The one-click install succeeded in a subdirectory (/home/user/, but still complained that its config file was not writable and that I’d have to upload manually.)

I’ve played with everything I can think of, including disabling mod_security, etc… but the only thing that works is chmoding to 777.

I’m at my wits end. If it were just the config file, I’d hand-edit it. But both components I use (JoomlaFCK and Akeeba Backup) are throwing errors for the same reasons. Any ideas?



So after a ridiculous amount of playing around and testing, I managed to narrow down the problem to my .htaccess file. I couldn’t tell you exactly WHAT in my .htaccess file was screwing things up, but it was definitely what was causing everything to appear unwritable to Joomla. I copied the default htaccess.txt file included with 1.5.20 over the existing .htaccess, added the “DirectoryIndex index.php” clause, and I’m good to go.