我如何配置gitweb和gitolite以便它们一起工作?

Jee*_*Jee 12 git gitweb gitolite

我试图让gitweb与gitolite一起工作......但到目前为止还不成功.
我正在使用RedHat Linux机器.一个名为gitexists 的用户.

gitolite安装在:/home/git
存储库位置:/home/git/repositories

请注意,gitweb与普通香草git一起工作正常.现在我正在尝试使用gitolite.

以下是我的文件的样子:

我错过了什么配置?我没有对Apache做过任何更改.

Web URL:http://MyHostName/git
这给出了404错误说 - 找不到存储库.

Ada*_*arp 13

我最近成立了gitolite和GitWeb里,发现/etc/gitweb.conf需要非常少的配置.你看起来对我来说是对的.有什么权限/home/git/repositories?您可能会发现它们限制性太强.试试这个:

$ chmod -R 775 /home/git/repositories
Run Code Online (Sandbox Code Playgroud)

这就是为我解决问题的方法,(虽然我认为有一种更安全的方式来设置权限).如果这样做,我建议只是看看给予Apache(或任何用户帐户gitweb正在执行)对存储库目录的更细粒度的权限.

我也有这个.gitolite.rc:

GIT_CONFIG_KEYS => 'gitweb\.(owner|description|category)',
Run Code Online (Sandbox Code Playgroud)

以下内容适用于<gitolite-admin>/conf/gitolite.conf:

config gitweb.owner         =   owner name
config gitweb.description   =   some description
config gitweb.category      =   some category
Run Code Online (Sandbox Code Playgroud)

  • 为了更加安全,你可以将apache/www-data用户添加到gitolite组`usermod -a -G gitolite apache`然后执行`chmod -R 750/home/git/repositories`以及设置gitolite变量` $ REPO_UMASK = 0027;` (4认同)

Von*_*onC 0

您需要在 的末尾添加Gitolitecontrib/gitweb.conf/etc/gitweb_config.perl
换句话说,您需要从gitweb.confperl 文件调用 Gitolite 函数,否则集成 GitWeb-Gitolite 将永远无法工作。

# check for (at least) "R" permission
    my ($perm, $creator) = &repo_rights($repo);
    return ($perm =~ /R/);
Run Code Online (Sandbox Code Playgroud)

(这是来自gitolite.pmrepo_rights的方法)

检查“帮助 gitweb ”部分。

您需要在末尾添加的最后几行是gitweb_config.perl

use lib (".");
require "gitweb.conf.pl";
Run Code Online (Sandbox Code Playgroud)

这样,您将避免任何“ 500 - Internal Server Error syntax error at /etc/gitweb.conf”错误消息。

如果您没有gitweb_config.perl在其中声明gitweb.conf.pl,而是直接声明“ gitweb.conf.pl”,则添加“ use lib (".");”作为该文件的第一行。