【问题标题】:DatabaseError unable to open database fileDatabaseError 无法打开数据库文件
【发布时间】:2012-06-04 08:16:04
【问题描述】:

我的 sqlite db 文件是这样的:unable to open database file 我 chowned 所有文​​件夹,直到我的 dbfile 到 root。但我仍然收到此错误。但我记得在服务器上创建我的 django 项目时,我创建了一个超级用户,现在如果我这样做 ls -l 我看到用户就是那个超级用户。怎么可能告诉 apache 这个超级用户应该有写/读 db 文件的权限?或者如何解决问题,我不是 apache/linux 大师..

【问题讨论】:

    标签: database django apache permissions


    【解决方案1】:

    在您希望 apache 能够写入的目录上执行 chown www-data:www-data directory

    【讨论】:

    • 是的,但它是说:无效组 www-data。我必须先创建它吗?
    • 查看我上面的最后一条评论,但仍然无法打开数据库文件。
    • cat /etc/group | grep www-data 输入此以查看组是否存在。
    • 哦,是的,该组存在。它是组还是用户?因为它在用户列表中。
    • 它是一个组。在您的项目根目录中尝试此操作。 sudo chown -Rf www-data *
    【解决方案2】:

    您应该能够将文件保留为超级用户所有,只需更改组,以便 apache 也可以读取/写入它。

    更改 sqlite 文件和包含目录的组。试试这个:

    cd <directory with sqlite file>
    sudo chgrp www-data . <sqlitefile>
    

    【讨论】:

    • 它说,无效组 www-data。 :(。我必须先创建它吗?
    • 好吧,不是 chgrp 而是 chown,因为 www-data 不是一个组,对吧?但仍然是说,无法打开数据库文件..
    【解决方案3】:

    您可以找到写入组和 www 用户并更改权限。 说: cat /etc/passwd - 用于查找正确的用户,它可能是 apache 或 http 或 www。 对终端说: cat /etc/group -for 找到正确的组。 在我的系统组=apache,用户=apache。

    【讨论】:

      猜你喜欢
      • 2019-10-14
      • 1970-01-01
      • 1970-01-01
      • 2014-11-11
      • 2014-08-30
      • 2011-03-17
      • 2012-06-08
      • 2017-04-18
      相关资源
      最近更新 更多