1

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?

LapTop006
  • 6,496
  • 20
  • 26

2 Answers2

3

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

ptman
  • 28,394
  • 2
  • 30
  • 45
0

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.

EEAA
  • 109,363
  • 18
  • 175
  • 245