Назад | Перейти на главную страницу

Корень документа Gitweb с gitolite

Я использую Mac OsX, пытаюсь разместить свой собственный сервер git. У меня гитолит работает отлично.

Однако у меня есть папка с названием "git" в моем Sites каталог, так что посещение http://git.example.com указывает на этот каталог.

Как я могу заставить корень документа Gitweb указывать на мой гитолит "repositories"папка в /Users/me/repositories/?

Вам нужно добавить gitweb.conf.pl файл (как этот) который:

  • будет вызываться gitweb (если этот файл существует и определяет export_auth_hook суб, gitweb.cgi называет это)
  • укажет, где находятся репозитории git
  • вызовет гитолит

Это будет включать:

$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 сценарий как в этом.

Поскольку мне не хватало моего project.list, я создал его сам. Затем я chmod -r 755 отредактировал весь каталог репозиториев. Работает в настоящее время!