Jor*_*dan 6 windows http httpd.conf git apache-2.2
我想使用“Smart-HTTP”方法设置 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>
Run Code Online (Sandbox Code Playgroud)
有人可以提供在 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>
Run Code Online (Sandbox Code Playgroud)
我强烈建议您查看 apache 日志和事件查看器,看看出了什么问题。
例如,
libiconv.dll
找不到。在 Windows 中,DLL 文件需要存在于$PATH
或与文件相同的文件夹中.exe
。最简单的解决方法是复制文件。ExecCGI
选项)。现在,要继续调试,这里有一些提示。
监控 apache 日志的最简单方法是打开“Git bash”shell,并运行以下命令:
tail -f /c/Program\ Files/Apache\ Software\ Foundation/Apache2.2/logs/{access,error}.log &
Run Code Online (Sandbox Code Playgroud)
您可以使用 TAB 补全输入此命令和路径,然后按 2x TAB 以获取建议列表。所述&
在端把它变成一个后台进程。每次您发出请求或重新启动 apache 时,新的日志行都会在您的屏幕上滚动。
tail
可以使用以下任一方法停止该过程:
jobs # See the background jobs
kill %1 # Kill the specific process
Run Code Online (Sandbox Code Playgroud)
或者:
fg # Bring the first job in the foreground
Ctrl+C # Kill the foreground process
Run Code Online (Sandbox Code Playgroud)
不要尝试在浏览器中打开 git URL,那是行不通的。相反,在同一个 GIT Bash shell 中,运行该git clone
命令。例如:
git clone http://localhost/git/somefolder.git
Run Code Online (Sandbox Code Playgroud)
...您将看到日志滚动显示出错的地方。
由于git-http-backend
不提供任何 HTML 前端,我可以全心全意地为此推荐gitphp(注意有多个项目调用几乎相同)。它很容易设置,并且在构建时也考虑了 msysGit 支持。这应该会给你一个很好的 Web 界面来浏览所有可用的存储库。
我在 git 文件夹中遇到空格问题,最好避免这些问题。
如果您想记住密码,克隆 HTTP url 至少需要 msysGit 1.7.1。密码可以存储在_netrc
配置文件文件夹 ( %USERPROFILE%
)中的文件中,布局如下:
machine git.mydomain.com login MyAccount password MyPassword
Run Code Online (Sandbox Code Playgroud)
或者,您可以在克隆 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这些项目为 Git 提供了一个基于 .NET 的 HTTP 后端。我一直无法使用这些工具,因为服务器仍然运行 Windows 2003。
归档时间: |
|
查看次数: |
13379 次 |
最近记录: |