我正在尝试使用 gitolite 设置一个 git 服务器。到目前为止,我的服务器正在使用 ssh,我并没有尝试在其之上添加 http 支持(最终目标是使用 LDAP 进行身份验证)
我已经关注 了http://sitaramc.github.com/gitolite/ssh-and-http.html how-to 文档。
我以为我已经完成了所有设置,所以我尝试了:
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
从实际的服务器测试存储库运行,结果仍然相同。
在git-daemon-export-ok
testing.git 存储库中有。
有人可以帮我解决这个问题吗?我不知道我应该从哪里开始..
附加信息:
我正在使用 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 部分
在下面的部分中,服务器名是我从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