Git 无法通过智能http推送目录
我已经连续两天在做这件事了,现在我放弃了独自寻找解决方案。 我正在尝试在服务器上设置Redmine-这部分进行得很顺利。我也在尝试安装git存储库,但尽管我已经能够通过SSH很好地克隆和拉取,但我在HTTP上也很难做到这一点 首先,这里是详细的git推送错误: ================================================================ $GIT\u CURL\u VERBOSE=1 GIT推送主机 *在_netrc文件中找不到主机192.168.0.13;使用默认值 *即将连接()到192.168.0.13端口80(#0) *正在尝试192.168.0.13…*0x20ab4f0位于发送管头处! *连接到192.168.0.13(192.168.0.13)端口80(#0) GET/gitweb/Project/info/refs?service=git接收包HTTP/1.1 用户代理:git/1.7.4.3282.g844cb 主机:192.168.0.13 接受:/ Pragma:没有缓存Git 无法通过智能http推送目录,git,redmine,smart-http,Git,Redmine,Smart Http,我已经连续两天在做这件事了,现在我放弃了独自寻找解决方案。 我正在尝试在服务器上设置Redmine-这部分进行得很顺利。我也在尝试安装git存储库,但尽管我已经能够通过SSH很好地克隆和拉取,但我在HTTP上也很难做到这一点 首先,这里是详细的git推送错误: ================================================================ $GIT\u CURL\u VERBOSE=1 GIT推送主机 *在_netrc文件中找不到主机192.16
- 请求的URL返回错误:403
- 过期清除
- 正在关闭连接#0
- 在_netrc文件中找不到主机192.168.0.13;使用默认值
- 即将连接()到192.168.0.13端口80(#0)
- 正在尝试192.168.0.13…*0x20ab4f0位于发送管头处李>
- 连接到192.168.0.13(192.168.0.13)端口80(#0) GET/gitweb/Project/info/refs HTTP/1.1 用户代理:git/1.7.4.3282.g844cb 主机:192.168.0.13 接受:/ Pragma:没有缓存
- 请求的URL返回错误:403
- 正在关闭连接#0 错误:访问时请求的URL返回错误:403 /gitweb/Project/info/refs
[...snip...]
PerlLoadModule Apache::Redmine
SetEnv GIT_PROJECT_ROOT /var/cache/git/
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
<Location "/git/">
DAV on
AuthType Basic
AuthName "Git Repository"
Require valid-user
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN "DBI:mysql:database=redmine;host=localhost"
RedmineDbUser "redmine"
RedmineDbPass "XXXXXXX"
RedmineGitSmartHttp yes
</Location>
Alias /gitweb/ "/var/cache/git/public/"
<Location "/gitweb/">
Order deny,allow
Deny from all
<Limit GET PROPFIND OPTIONS REPORT>
Options Indexes FollowSymLinks MultiViews
Allow from 127.0.0.1
Allow from localhost
</Limit>
</Location>
[…剪断…]
PerllodModule Apache::Redmine
SetEnv GIT_PROJECT_ROOT/var/cache/GIT/
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias/git//usr/lib/git-core/git-http后端/
达文
AuthType Basic
AuthName“Git存储库”
需要有效用户
PerlAccessHandler Apache::Authn::Redmine::access\u处理程序
PerlAuthenHandler Apache::Authn::Redmine::authen\u处理程序
RedmineDSN“DBI:mysql:database=redmine;host=localhost”
RedmineDbUser“redmine”
红色通道“XXXXXXX”
RedmineGitSmartHttp是
别名/gitweb/“/var/cache/git/public/”
命令拒绝,允许
全盘否定
选项索引跟随符号链接多视图
允许从127.0.0.1开始
允许从本地主机
================================================================
所以,如果有人能给我一个提示,告诉我该做什么,我会非常感激。提前谢谢 您似乎没有使用任何身份验证。默认情况下,git只允许在使用身份验证时通过智能http推送 您应该能够向正在使用的url添加用户名并提示您输入密码,或者您可以在_netrc文件中设置用户名和密码。好的,问题解决:)这是要严格遵循的教程: 在我的例子中,最终条目如下所示:
PerlLoadModule Apache::Redmine
Alias /git/ "/var/cache/git/public/"
<Directory "/git/">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Location "/git/">
DAV on
AuthType Basic
AuthName "My Git Repository"
Require valid-user
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN "DBI:mysql:database=redmine;host=localhost"
RedmineDbUser "redmine"
RedmineDbPass "XXXXXXX"
RedmineGitSmartHttp yes
</Location>
PerlLoadModule Apache::Redmine
别名/git/“/var/cache/git/public/”
选项无
不允许超限
命令允许,拒绝
通融
达文
AuthType Basic
AuthName“我的Git存储库”
需要有效用户
PerlAccessHandler Apache::Authn::Redmine::access\u处理程序
PerlAuthenHandler Apache::Authn::Redmine::authen\u处理程序
RedmineDSN“DBI:mysql:database=redmine;host=localhost”
RedmineDbUser“redmine”
红色通道“XXXXXXX”
RedmineGitSmartHttp是
重点是使用Redmine的内置身份验证系统——这就是PerlAccessHandler的作用所在。我同意应该提示我输入密码。netrc文件是客户端,用于告诉curl要发送到服务器的用户名和密码。