数据存储上的Flask、Apache、CentOS和权限被拒绝

数据存储上的Flask、Apache、CentOS和权限被拒绝,apache,flask,file-permissions,permission-denied,berkeley-db,Apache,Flask,File Permissions,Permission Denied,Berkeley Db,我已经在CentOS 6.4机器上设置了一个flask项目,使用python 2.7.6和mod_wsgi 3.x,我自己构建在这个机器上 该应用程序使用一个基于文件的数据库来存储RDF数据,我在包含数据存储的文件夹中发现了一个错误13 from genometry import app as application File "/opt/genometry/software/genometry.py", line 125, in <module> db, classes, user

我已经在CentOS 6.4机器上设置了一个flask项目,使用python 2.7.6和mod_wsgi 3.x,我自己构建在这个机器上

该应用程序使用一个基于文件的数据库来存储RDF数据,我在包含数据存储的文件夹中发现了一个错误13

from genometry import app as application
File "/opt/genometry/software/genometry.py", line 125, in <module>
db, classes, user_datastore, security = create_db(app)
File "/opt/genometry/software/genometry.py", line 101, in create_db
db.store.open(app.config['db'])
"build/bdist.linux-x86_64/egg/rdflib/plugins/sleepycat.py", line 89, in open
db_env = self._init_db_environment(homeDir, create)
File "build/bdist.linux-x86_64/egg/rdflib/plugins/sleepycat.py", line 66, in     _init_db_environment
mkdir(homeDir)
OSError: [Errno 13] Permission denied: 'store.kb'
从genometry导入应用程序作为应用程序
文件“/opt/genometry/software/genometry.py”,第125行,in
数据库,类,用户数据存储,安全性=创建数据库(应用程序)
创建数据库中的文件“/opt/genometry/software/genometry.py”,第101行
db.store.open(app.config['db'])
“build/bdist.linux-x86_64/egg/rdflib/plugins/sleepycat.py”,第89行,打开
db_env=self._init_db_环境(homeDir,create)
文件“build/bdist.linux-x86_64/egg/rdflib/plugins/sleepycat.py”,第66行,在_init_db_环境中
mkdir(homeDir)
OSError:[Errno 13]权限被拒绝:“store.kb”

我已经尝试了我能想到的一切。将/opt及其下的所有内容更改为apache:apache所有。已将/opt及其下的所有内容更改为777,但仍然存在权限错误。这怎么可能?设置文件夹“store.kb”权限的最佳方法是什么?问题是,由于rdfalchemy db uri,Apache正在/var/www中查找store.kb。我将其更新为:

app.config['rdfalchemy_dburi'] = 'sleepycat:////{0}/store.kb'.format(PROJECT_ROOT)

现在一切正常

strace-f
启动pdb。这将显示所有系统调用。可能还有其他原因抛出了“权限被拒绝”错误。@MichelMüller应用程序正在使用wsgi脚本和mod_wsgi运行。如何启动pdb?我找到了这个你有权访问服务器的控制台吗?如果不是,对不起,我对mod_wsgi了解不够。如果是,请使用python-mpdb[PATH-TO-APP].py