使用Apache和Windows通过HTTP推送我的Mercurial存储库

时间:2011-06-07 14:20:34

标签: ssl mercurial apache2 windows-server-2003

所以我管理了它。我可以使用HTTP远程克隆mercurial-repositories到我的Windows Server 2003机器和该机器的ipaddress。虽然我确实停用了IIS6并且现在正在使用Apache 2.2.x.但现在并非一切都有效......真是太棒了!事情就是这样:

克隆顺利进行!但是,当我想将我的更改推送到原始存储库时,我收到消息“无法锁定静态http-repository”。在互联网上,我得到了几个解释,即Mercurial并非旨在推动HTTP连接。不过,在Mercurial网站上还有一些关于配置 hgrc文件的内容。

还有可能将Apache配置为通过HTTPS(或SSL)进行托管。为此,您必须加载模块以启用OpenSSL并生成密钥。

配置hgrc文件 只需在[web]行下添加“push_ssl = false”即可。但是在推送你的更改时把这个文件放在哪里?!因为我将它放在服务器的根目录中,所以在“.hg”目录中,没有任何作用。

在Apache中使用SSL / HTTPS 当我尝试访问“https:// myipaddress”时,它会失败,显示荷兰语消息,这意味着“服务器需要太长时间才能响应”。试图推送也给我一个荷兰语错误信息,这意味着大致相同。它无法通过https连接到我的服务器,但我完全遵循了this blog的步骤。

我不关心上述哪种解决方案对我有用。到目前为止,他们都没有工作。所以,请问,任何人都可以帮我解决上述解决方案之一吗?选择最简单的!非常感谢帮助,不仅仅是来自我。

摘要 -Windows Server 2003 -Apache 2.2与OpenSSL -Mercurial 1.8.2 - 我可以克隆,但不能推!

谢谢!

Maarten Baar(s)

1 个答案:

答案 0 :(得分:1)

似乎您可能会错误地配置apache以使其执行您想要的操作。基于您的问题,听起来您有一条指向您要服务的存储库的路径(可能是服务器的根目录)。

Mercurial附带了一个用于此目的的脚本,在最新版本中它是hgweb.cgi。设置on the mercurial site有相当不错的说明。它应该允许克隆和推送。如果您不配置https,还需要push_ssl=false行,这将允许某些用户或所有(*)推送到存储库,您将需要allow_push。但所有这些都应该是设置文档的一部分。