0

我正在使用 apache httpd 服务器运行 CKAN。所以,当我在 ckan 中启用 saml2 扩展时。我的 apache 日志中出现以下错误,并在网页上看到“内部服务器错误”。

    [Sun Jun 18 20:08:35.073897 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035] mod_wsgi (pid=2604): Target WSGI script '/etc/ckan/default/apache.wsgi' cannot be loaded as Python module.
    [Sun Jun 18 20:08:35.073908 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035] mod_wsgi (pid=2604): Exception occurred processing WSGI script '/etc/ckan/default/apache.wsgi'.
    [Sun Jun 18 20:08:35.073922 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035] Traceback (most recent call last):
    [Sun Jun 18 20:08:35.073934 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/etc/ckan/default/apache.wsgi", line 11, in <module>
    [Sun Jun 18 20:08:35.073954 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     application = loadapp('config:%s' % config_filepath)
    [Sun Jun 18 20:08:35.073961 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
    [Sun Jun 18 20:08:35.073974 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     return loadobj(APP, uri, name=name, **kw)
    [Sun Jun 18 20:08:35.073979 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
    [Sun Jun 18 20:08:35.073987 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     return context.create()
    [Sun Jun 18 20:08:35.073992 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
    [Sun Jun 18 20:08:35.074012 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     return self.object_type.invoke(self)
    [Sun Jun 18 20:08:35.074017 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 146, in invoke
    [Sun Jun 18 20:08:35.074025 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     return fix_call(context.object, context.global_conf, **context.local_conf)
    [Sun Jun 18 20:08:35.074030 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
    [Sun Jun 18 20:08:35.074039 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     val = callable(*args, **kw)
    [Sun Jun 18 20:08:35.074043 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/root/ckan/lib/default/src/ckan/ckan/config/middleware/__init__.py", line 48, in make_app
[Sun Jun 18 20:08:35.074052 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     **app_conf)
[Sun Jun 18 20:08:35.074057 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/root/ckan/lib/default/src/ckan/ckan/config/middleware/pylons_app.py", line 113, in make_pylons_stack
[Sun Jun 18 20:08:35.074065 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     who_parser.parse(open(app_conf['who.config_file']))
[Sun Jun 18 20:08:35.074069 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib/ckan/default/lib/python2.7/site-packages/repoze/who/config.py", line 86, in parse
[Sun Jun 18 20:08:35.074079 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     obj = self._makePlugin(name, IPlugin, options)
[Sun Jun 18 20:08:35.074090 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib/ckan/default/lib/python2.7/site-packages/repoze/who/config.py", line 42, in _makePlugin
[Sun Jun 18 20:08:35.074118 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     obj = obj(**options)
[Sun Jun 18 20:08:35.074127 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/root/ckan/lib/default/src/pysaml2/src/saml2/s2repoze/plugins/sp.py", line 663, in make_plugin
[Sun Jun 18 20:08:35.074137 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     virtual_organization=virtual_organization)
[Sun Jun 18 20:08:35.074142 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/root/ckan/lib/default/src/pysaml2/src/saml2/client_base.py", line 102, in __init__
[Sun Jun 18 20:08:35.074149 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     self.users = Population(identity_cache)
[Sun Jun 18 20:08:35.074154 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/root/ckan/lib/default/src/pysaml2/src/saml2/population.py", line 12, in __init__
[Sun Jun 18 20:08:35.074162 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     self.cache = Cache(cache)
[Sun Jun 18 20:08:35.074166 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/root/ckan/lib/default/src/pysaml2/src/saml2/cache.py", line 26, in __init__
[Sun Jun 18 20:08:35.074174 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     self._db = shelve.open(filename, writeback=True, protocol=2)
[Sun Jun 18 20:08:35.074178 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib64/python2.7/shelve.py", line 239, in open
[Sun Jun 18 20:08:35.074186 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     return DbfilenameShelf(filename, flag, protocol, writeback)
[Sun Jun 18 20:08:35.074190 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib64/python2.7/shelve.py", line 223, in __init__
[Sun Jun 18 20:08:35.074196 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback)
[Sun Jun 18 20:08:35.074201 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib64/python2.7/anydbm.py", line 85, in open
[Sun Jun 18 20:08:35.074207 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     return mod.open(file, flag, mode)
[Sun Jun 18 20:08:35.074211 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib64/python2.7/dbhash.py", line 19, in open
[Sun Jun 18 20:08:35.074218 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     return bsddb.hashopen(file, flag, mode)
[Sun Jun 18 20:08:35.074223 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]   File "/usr/lib64/python2.7/bsddb/__init__.py", line 366, in hashopen
[Sun Jun 18 20:08:35.074230 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035]     d.open(file, db.DB_HASH, flags, mode)
[Sun Jun 18 20:08:35.074246 2017] [wsgi:error] [pid 2604] [client 10.164.136.102:16035] DBAccessError: (13, 'Permission denied')
4

1 回答 1

1

看起来用户 httpd 正在运行,因为没有权限读取或写入 who.ini 中 sid_store 或 identity_cache 指定的位置。我怀疑是后者,但如果不检查代码我不确定。

于 2017-06-19T06:29:12.357 回答