Mercurial:hgwebdi的权限被拒绝

2024-04-28 22:23:51 发布

您现在位置:Python中文网/ 问答频道 /正文

昨天,我设置了Apache来为我的Mercurial存储库提供服务,并使一切正常工作。然后,我测试了将更改推回到这个存储库中,结果显示了一个错误,现在我尝试的每一个操作都会弹出这个错误—甚至只是存储库的一个简单的GET请求!错误如下:

mod_wsgi (pid=1771): Target WSGI script '/var/hg/hgweb.wsgi' cannot be loaded as Python module.
mod_wsgi (pid=1771): Exception occurred processing WSGI script '/var/hg/hgweb.wsgi'.
Traceback (most recent call last):
  File "/var/hg/hgweb.wsgi", line 18, in ?
    application = hgwebdir(config)
  File "/usr/lib64/python2.4/site-packages/mercurial/hgweb/__init__.py", line 15, in hgwebdir
    return hgwebdir_mod.hgwebdir(*args, **kwargs)
  File "/usr/lib64/python2.4/site-packages/mercurial/hgweb/hgwebdir_mod.py", line 52, in __init__
    self.refresh()
  File "/usr/lib64/python2.4/site-packages/mercurial/hgweb/hgwebdir_mod.py", line 82, in refresh
    self.repos = findrepos(paths)
  File "/usr/lib64/python2.4/site-packages/mercurial/hgweb/hgwebdir_mod.py", line 36, in findrepos
    for path in util.walkrepos(roothead, followsym=True, recurse=recurse):
  File "/usr/lib64/python2.4/site-packages/mercurial/util.py", line 1164, in walkrepos
    for hgname in walkrepos(fname, True, seen_dirs):
  File "/usr/lib64/python2.4/site-packages/mercurial/util.py", line 1146, in walkrepos
    for root, dirs, files in os.walk(path, topdown=True, onerror=errhandler):
  File "/usr/lib64/python2.4/os.py", line 276, in walk
    onerror(err)
  File "/usr/lib64/python2.4/site-packages/mercurial/util.py", line 1127, in errhandler
    raise err
OSError: [Errno 13] Permission denied: './dev/fd'

我的存储库目录由运行apache的用户apache拥有。我也不知道为什么要对'/dev/fd'进行操作。我已经重新启动了服务器无数次,重新创建了存储库目录,但是不管发生什么,我还是会遇到这个错误!我没有重新启动机器的权限,所以这不是一个选项。但它似乎一直处于非常糟糕的持续状态,我不知道如何修复它。感谢任何帮助!在


Tags: inpymodwsgipackagesusr错误util
1条回答
网友
1楼 · 发布于 2024-04-28 22:23:51

这是我的一个配置错误,我不会删除这个问题,而是在这里发布解决方案,以防将来有人遇到这个问题。在

这是hgweb.config文件我用的是:

[paths]
/ = /var/hg/repos/*

#[web]
style = gitweb
allow_archive = bz2 gz zip
maxchanges = 200
allow_push = *
push_ssl = false

这里有两个问题,一个是显而易见的。我把[web]头注释掉了,我假设许多选项对[paths]部分无效。另外,在再次读取Hg文档之后,push峎ssl指令不属于hgweb.config文件,而是属于每个存储库的.hg/hgrc(或运行apache的用户的~/.hgrc)。修好这些后,一切都运转得很好!在

相关问题 更多 >