Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Locally, my app runs fine on and writes to it's logs.

My production server is running CentOS with an Apache server running Passenger. When trying to debug, I noticed my log files were not being written to. First thing I did was chmod 0666 them, and when I found out that didn't work I looked at my apache log. I found this:

Rails Error: Unable to access log file. Please ensure that /var/www/vhosts/mysite.com/rails/exp/releases/20091124020342/log/production.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.

(Note: I am deploying with capistrano)

Anyway, I googled around and found people saying it's an SELinux issue, so I looked on passenger's doc's and found this: http://www.modrails.com/documentation/Users%20guide.html#%5Fmy%5Frails%5Fapplication%5F8217%5Fs%5Flog%5Ffile%5Fis%5Fnot%5Fbeing%5Fwritten%5Fto

which basically says do this: chcon -R -h -t httpd_sys_content_t /path/to/your/rails/app

However, when I fill in the proper path I get: Operation not supported.

Pretty stumped...any ideas?

share|improve this question

2 Answers 2

Check out using top which user the passenger processes are run as. IIRC it won't necessarily be the www-data/apache user.

share|improve this answer
    
ps aux | grep passenger might be simpler to interpret –  LapTop006 Jan 2 '10 at 14:13

I have no experience with passenger specifically, but one thing you may want to check is to make sure that the user running apache (or whatever daemon is responsible for writing to the log files) has the needed permissions to cd through that entire file path you gave.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.