user3048402
user3048402

Reputation: 1369

Ruby on Rails unicorn throws errors

I setup a droplet with Ruby on Rails on digitalocean and I removed the rails directory (App) and replaced it with the one I had locally. It is working fine, if I connect with ssh and go to the IP with the port 3000. However whenever I try to go to port 80, then it throws me an error: http://prntscr.com/2qoljb

I have checked the logs and it says the following:

Rails Error: Unable to access log file. Please ensure that /home/rails/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.
Rails Error: Unable to access log file. Please ensure that /home/rails/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, [2014-02-08T18:40:59.192086 #735]  INFO -- : worker=1 ready
I, [2014-02-08T18:40:59.198211 #731]  INFO -- : worker=0 ready
Started GET "/" for 188.193.201.119 at 2014-02-08 18:41:00 +0000
Processing by QuestionsController#index as HTML
Completed 500 Internal Server Error in 43ms

ActiveRecord::StatementInvalid (Could not find table 'users'):
  app/controllers/application_controller.rb:18:in `current_user'
  app/controllers/application_controller.rb:10:in `require_login'


Started GET "/" for 188.193.201.119 at 2014-02-08 18:41:01 +0000
Processing by QuestionsController#index as HTML
Completed 500 Internal Server Error in 47ms

ActiveRecord::StatementInvalid (Could not find table 'users'):
  app/controllers/application_controller.rb:18:in `current_user'
  app/controllers/application_controller.rb:10:in `require_login'


Started GET "/" for 188.193.201.119 at 2014-02-08 18:41:02 +0000
Processing by QuestionsController#index as HTML
Completed 500 Internal Server Error in 2ms

ActiveRecord::StatementInvalid (Could not find table 'users'):
  app/controllers/application_controller.rb:18:in `current_user'
  app/controllers/application_controller.rb:10:in `require_login'


Started GET "/" for 188.193.201.119 at 2014-02-08 18:41:02 +0000
Processing by QuestionsController#index as HTML
Completed 500 Internal Server Error in 2ms

ActiveRecord::StatementInvalid (Could not find table 'users'):
  app/controllers/application_controller.rb:18:in `current_user'
  app/controllers/application_controller.rb:10:in `require_login'

The tables should exist, as everything is working completely fine, if I manually type in the IP with port 3000...

Thanks for your help in advance

EDIT After setting permissions and the owner I am getting the following error instead:

/usr/local/rvm/gems/ruby-2.0.0-p353/gems/bundler-1.3.5/lib/bundler/runtime.rb:216: warning: Insecure world writable dir /home/rails in PATH, mode 040777
/usr/local/rvm/gems/ruby-2.0.0-p353/gems/bundler-1.3.5/lib/bundler/runtime.rb:216: warning: Insecure world writable dir /home/rails in PATH, mode 040777
I, [2014-02-08T19:27:30.231141 #1984]  INFO -- : worker=1 ready
I, [2014-02-08T19:27:30.292714 #1981]  INFO -- : worker=0 ready

Upvotes: 0

Views: 472

Answers (2)

spickermann
spickermann

Reputation: 106782

I would not care about the problem with the log file in the moment. I do not think that is the root cause.

What catches my eye is Could not find table 'users'. The app does not find a table users in the database or does not find the database at all. Did check your credentials to the production database in config/database.yml? Did you run migrations on the database? Perhaps connect to the production database and check if the schema looks like you expect it to be.

Upvotes: 0

Anatoly
Anatoly

Reputation: 15530

First two lines explicitly talk about wrong file permissions but the Unicorn process shoud run under the same user as log file created by. I guess the capistrano and Unicorn run under different users.

If you are not sure what users should be and you have no problems with security just run:

$ chmod 0666 /home/rails/log/production.log

Once you restart the Unicorn the issue should gone.

Upvotes: 1

Related Questions