我正在尝试使用gitolite设置git服务器。 到目前为止,我有服务器使用ssh,我不是试图在它上面添加http支持(最终目标是使用LDAP进行身份验证)
我跟着 http://sitaramc.github.com/gitolite/ssh-and-http.html如何记录。
我以为我已经完成了所有设置,所以我尝试了:
git clone http://myServer/testing
结果是:
Cloning into 'testing'...
fatal: http://myServer/testing/info/refs not found: did you run git update-server-info on the server?
我尝试从实际的服务器测试存储库运行git update-server-info
,结果仍然相同。
testing.git存储库中有git-daemon-export-ok
。
有人可以帮我解决这个问题吗?我不知道我应该从哪里开始......
其他信息:
我正在使用Arch Linux(服务器端)
来自sudo suexec -V
的输出:
-D AP_DOC_ROOT="/srv/http"
-D AP_GID_MIN=99
-D AP_HTTPD_USER="http"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=99
-D AP_USERDIR_SUFFIX="public_html"
下面是我的/etc/httpd/conf/httpd.conf中的VirtualHost部分
在下面的部分中,servername是我从 hostname
命令获得的
<VirtualHost *:80>
ServerName servername
ServerAlias servername
ServerAdmin admin@server.com
DocumentRoot /srv/http/git
<Directory /srv/http/git>
Options None
AllowOverride none
Order allow,deny
Allow from all
</Directory>
SuexecUserGroup git git
ScriptAlias /git/ /srv/http/bin/gitolite-suexec-wrapper.sh/
ScriptAlias /gitmob/ /srv/http/bin/gitolite-suexec-wrapper.sh/
<Location /git>
AuthType Basic
AuthName "Git Access"
Require valid-user
AuthUserFile /etc/httpd/conf/extra/git.passwd
</Location>
</VirtualHost>
ls -l /srv/http/
drwxr-xr-x 2 git git 4096 Sep 6 22:02 bin
drwxr-xr-x 2 http http 4096 Sep 6 22:00 git
ls -l /srv/http/bin/gitolite-suexec-wrapper.sh
-rwx------ 1 git git 196 Sep 6 22:02 /srv/http/bin/gitolite-suexec-wrapper.sh
gitolite-suexec-wrapper.sh
的内容:
#!/bin/bash
#
# Suexec wrapper for gitolite-shell
#
export GIT_PROJECT_ROOT="/home/git/repositories"
export GITOLITE_HTTP_HOME="/home/git"
exec ${GITOLITE_HTTP_HOME}/gitolite/src/gitolite-shell
答案 0 :(得分:1)
您的配置定义了一个别名/ git /,它将调用您的gitolite包装器
这意味着它只会为yourServer/git/...
你至少应该尝试克隆:
git clone http://myServer/git/testing
作为OP hoistyler中的this answer引用,唯一剩下的问题是基于文件登录的身份验证问题。
答案 1 :(得分:1)
感谢VonC的指导,我现在已经解决了这个问题。
我已经尝试了git clone http://myServer/git/testing
并且它给了我
Cloning into 'testing'...
Username for 'http://myServer': git
Password for 'http://git@myServer':
fatal: Authentication failed
我查看了日志,并发现我的git.passwd文件格式错误(我忘了上次创建该文件的方式..)
我基本上不得不再次创建我的git.passwd文件:
htpasswd -c git.passwd git
现在它有效!再次感谢VonC