在IIS 6下托管Mercurial

2024-04-28 20:24:33 发布

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

我正在尝试将Mercurial存储库设置为在windowsserver2003下由IIS托管。在this post之后,我安装了python2.5.4.4和Mercurial 1.3,设置virtualdir,提取图书馆.zip创造了hgwebdir.config文件. 在

但是,当我试图打开http://hostname/hg/hgwebdir.cgi时,我得到了一个错误“指定的CGI应用程序行为不当,没有返回一组完整的HTTP报头。”我尽力做到了:

  1. 已检查到.py和.cgi扩展名的IIS映射。我甚至尝试使用FastCGI,但没有成功。在
  2. 在同一个目录下创建了“Hello World”,并检查它是否正常工作。在
  3. 已检查IUSR、IWAM和NETWORK SERVICE对Python、IIS和repos目录的读/执行权限。在
  4. 尝试从Mercurial mailing list应用两个不同的修补程序。既然他们都老了,我就没有成功过。在
  5. 安装了Sysinternals的procmon,并在请求期间检查文件系统错误。我在Python的进程中发现了很多缓冲区溢出的结果。在
  6. 尝试将“Content-type:text/html”添加到脚本中。在

还有一件事是当我请求不存在的脚本文件时(例如/hg/不精确.cgi)我也有同样的错误。什么也帮不了你!在


Tags: 文件目录脚本图书馆错误iiszipthis
3条回答

最后,我得到了任何python脚本错误返回的“no headers”错误,所以我用控制台解释器检查了脚本,并修复了配置文件中的错误。当然,我应该在ServerFault而不是StackOverflow上问这个问题——睡眠不足造成了这个问题:)

http://vampirebasic.blogspot.com/2009/06/running-mercurial-on-windows.html上有一篇很好的文章可以让你开始,但是如果你需要更多的细节或者比作者更进一步的话,我有一篇4部分的博文,涵盖了在IIS上安装和运行所需了解的所有内容,包括Active Directory集成、拉/推权限、UI的自定义:

http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html

值得一读。。。在

我还需要解决一些问题:

  • 当各种howto说使用c:\whatever\Python26\python.exe -u "%s" "%s"而使用c:\whatever\Python26\python.exe -u -O -B "%s" "%s"-O会导致它也查找.pyo文件(不仅仅是.py或.pyc,至少在我的版本中没有)。-B导致它不尝试将找到的.py文件编译成.pyo文件(由于缺少写入权限而失败)
  • 我安装了Python2.7。Mercurial 1.6.2的.pyo文件是用python2.6编译的。这导致了一个幻数错误。卸载2.7和安装2.6.5解决了这个问题。(如果您在将来的某个时间阅读此文章,那么这一点可能不再相关-请检查Mercurial的目录或TortoiseHg目录中的DLL名称,具体取决于您的位置图书馆.zip从)
  • 在hgwebdir.cgi现在只是hgweb.cgi网站-webdir被整合到其中

相关问题 更多 >