加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在Windows上使用Apache设置git-http-backend的步骤是什么?

发布时间:2020-12-14 00:07:46 所属栏目:Windows 来源:网络整理
导读:我想使用 “Smart-HTTP” approach设置一个Git服务器.但是,我很难在Windows中使用它,而且我是Apache的新手.我的httpd.conf,部分内容: SetEnv GIT_PROJECT_ROOT "d:/repositories"SetEnv GIT_HTTP_EXPORT_ALLScriptAlias /git/ "C:/Program Files/Git/libexe
我想使用 “Smart-HTTP” approach设置一个Git服务器.但是,我很难在Windows中使用它,而且我是Apache的新手.我的httpd.conf,部分内容:
SetEnv GIT_PROJECT_ROOT "d:/repositories"
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ "C:/Program Files/Git/libexec/git-core/git-http-backend.exe"

<VirtualHost 172.16.0.5:80>
    <LocationMatch "^/git/.*/git-receive-pack$">
            AuthType Basic
            AuthName "Git Access"
            Require group committers
    </LocationMatch>
</VirtualHost>

有人可以提供在Windows上使用git-http-backend设置Git服务器的步骤吗?

有一些小细节可以在Windows上运行,但我已经设法使用以下配置:
SetEnv GIT_PROJECT_ROOT d:/Export/GIT/
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ "C:/Progra~1/Git/libexec/git-core/git-http-backend.exe/"

<Directory "C:/Program Files/Git/libexec/git-core/">
  Options +ExecCGI
  Allow From All
</Directory>

我强烈建议您观看apache日志和事件查看器以查看出现了什么问题.

例如,

>找不到libiconv.dll.在Windows中,DLL文件需要存在于$PATH中,或者与.exe文件相同的文件夹中.最简单的修复方法是复制文件.
>在Apache中,需要设置权限以运行可执行文件(ExecCGI选项).

现在,继续调试,这里有几点建议.

监视apache日志的最简单方法是打开“Git bash”shell,然后运行以下命令:

tail -f /c/Program Files/Apache Software Foundation/Apache2.2/logs/{access,error}.log &

您可以使用TAB完成输入此命令和路径,然后按2x TAB获取建议列表. &最后将其变成后台进程.每次发出请求或重新启动apache时,新的日志行都会滚动显示在您的屏幕上.

可以使用以下任一方法停止尾部进程:

jobs         # See the background jobs
kill %1      # Kill the specific process

要么:

fg           # Bring the first job in the foreground
Ctrl+C       # Kill the foreground process

不要试图在浏览器中打开git URL,这将无效.相反,在同一个GIT Bash shell中,运行git clone命令.例如.:

git clone http://localhost/git/somefolder.git

…并且您将看到日志滚动指示出错的地方.

由于git-http-backend不提供任何HTML前端,我可以全心全意地推荐gitphp(注意有多个项目称为几乎相同).它易于设置,并且在构建时也考虑到了msysGit支持.这应该为您提供一个很好的Web界面来浏览所有可用的存储库.

我在git文件夹中遇到空格问题,最好避免这些问题.

如果你想记住密码,克隆HTTP网址至少需要msysGit 1.7.1.
密码可以存储在_netrc文件中,在您的配置文件夹(%USERPROFILE%)中,具有以下布局:

machine git.mydomain.com login MyAccount password MyPassword

或者,您可以在克隆URL中指定凭据,但这会破坏子模块.

脚注:当您的服务器也支持IIS 7和.NET 4时,您可能还需要查看http://www.jeremyskinner.co.uk/2010/06/25/hosting-a-git-server-under-iis7-on-windows/或http://github.com/yysun/Git-Web-Access这些项目为基于.NET的Git提供HTTP后端.我无法使用这些工具,因为服务器仍然运行Windows 2003.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读