Can't access log files in production

2019-02-21 02:01发布

问题:

I was trying to run my application and check for some output on the production.log. However Ruby on Rails throws this error. Apache log

Rails Error: Unable to access log file. Please ensure that /var/www/somefolder/someapp/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.

I have performed the necessary chmod 666 production.log to make it work but I realized that the file is under root access.

So my file permissions are

-rw-rw-rw- 1 root root 20845 2010-03-18 01:18 production.log

I'm not sure how to allow Ruby on Rails to access this file. I'm fairly new to managing a Linux production environment so I request you to excuse my ignorance.

回答1:

I think you need to change the user and group of production.log to whatever user and group Rails (i.e. Passenger or Mongrel or whatever you are using) runs under.



回答2:

Okay I just figured it out.

First need to update Apache.conf passenger configurations:

PassengerDefaultUser username

The assign ownership using chown:

chown -R username:username <folder>

I don't know if this is the right way but it worked for me.