2012-09-29 125 views
0

我尝试部署一个Rails应用程序。我使用apache与sqlite3数据库。通过乘客和卡皮斯特拉诺的配置效果很好。部署Rails应用程序后SQLite3 :: CantOpenException:

但是当我启动服务器,并试图修改我得到以下错误数据库:SQLite3::CantOpenException: unable to open database file

我已经CHMOD 777'ing的production.sqlite3。 我把production.sqlite3foofoo/foo/shared和配置database.yml

production: 
adapter: sqlite3 
database: /foofoo/foo/shared/production.sqlite3 
pool: 5 
timeout: 5000 

(PS导轨3.2.3,1.9.3红宝石,SQLite的3.7.9)

+0

你有机会成为每一个子目录(/ foofoo /富/共享/)? – Bohdan

+0

是的,访问所有子目录,所有者是www-data – Huehnermelker

+0

您运行过'rake db:create'吗? – Bohdan

回答

0

这是因为nginx的创建www数据的用户,而这用户没有previlegues读取sqlite3的文件和你的应用程序...

你需要运行这个命令:

  1. sudo chown -R www-data:www-data rails_project/
  2. sudo chmod -R 777 rails_project/