使用 gitolite 的 Gitweb 文档根目录

使用 gitolite 的 Gitweb 文档根目录

我在 Mac OsX 上尝试托管自己的 git 服务器。gitolite 运行正常。

git但是,我的目录中有一个名为“ ”的文件夹Sites,因此访问http://git.example.com指向该目录。

我怎样才能让 Gitweb 的文档根目录指向我的 gitolite“ repositories”文件夹/Users/me/repositories/

答案1

您需要添加一个gitweb.conf.pl文件(像这样)哪个:

  • 将被 gitweb 调用(如果该文件存在并定义了一个export_auth_hook子文件,gitweb.cgi则调用它)
  • 将指定 git 存储库的位置
  • 将调用 gitolite

其中包括:

$ENV{GL_REPO_BASE_ABS} = "$ENV{HOME}/repositories";
$export_auth_hook = sub {
    my $repo = shift;
    my $user = $ENV{GL_USER};
    # gitweb passes us the full repo path; so we strip the beginning
    # and the end, to get the repo name as it is specified in gitolite conf
    return unless $repo =~ s/^\Q$projectroot\E\/?(.+)\.git$/$1/;

    # check for (at least) "R" permission
    my $ret = &access( $repo, $user, 'R', 'any' );
    my $res = $ret !~ /DENIED/;
    return ($ret !~ /DENIED/);
};

access()是……的函数gitolite/src/lib/Gitolite/Conf/Load.pm

然后你httpd.conf将调用gitweb.cgi脚本就像这个

答案2

由于缺少 project.list,所以我自己创建了它。然后我使用 chmod -r 755 修改了整个存储库目录。现在可以正常工作了!

相关内容