gitweb在Ubuntu 14.04.2上报告“404 - 没有找到项目”

时间:2015-03-21 17:26:29

标签: git ubuntu gitolite gitweb

我看了很多其他的Q&就像这里一样,还没有弄明白......

使用Ubuntu 14.04.2,我从apt-get开始使用git + gitolite + gitweb。

当我通过浏览器访问/ gitweb时,它正在运行,但它显示404 - No projects found

我将gitweb conf文件从/etc/apache2/conf.d移动到较新的/etc/apache2/conf-available,并且在启用conf的情况下使用符号链接,在FollowSymLinks前面进行了微小的更改以添加+。

/etc/apache2/conf-available/gitweb.conf

Alias /gitweb /usr/share/gitweb

<Directory /usr/share/gitweb>
  Options +FollowSymLinks +ExecCGI
  AddHandler cgi-script .cgi
</Directory>

/etc/gitweb.conf

<snip>
$projectroot = "/home/git/repositories/";
<snip>
$projects_list = "/home/git/projects.list";
<snip>

gitolite.conf

repo    gitolite-admin
        RW+     =   tyrel

repo    testing
        RW+     =   @all

repo    myrepo
        RW+     =   tyrel
        R       =   gitweb daemon
gitolite我们使用group git作为用户git运行。 www-data在组git中。

/home/git$ ls -l
total 8
-rw-r----- 1 git git   16 Mar 21 09:50 projects.list
drwxr----- 5 git git 4096 Mar 19 22:04 repositories

.gitolite.rc

<snip>
$WEB_INTERFACE = "gitweb";
$REPO_UMASK = 0027;
<snip>

projects.list

myrepo

存储库中有什么:

/home/git$ sudo ls -l repositories
total 12
drwxr----- 7 git git 4096 Mar 21 09:50 myrepo.git
drwxr----- 8 git git 4096 Mar 21 09:50 gitolite-admin.git
drwxr----- 7 git git 4096 Mar 21 09:50 testing.git

我错过了什么?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我认为问题可能是您的所有目录(存储库,testing.git,myrepo.git)也应具有执行组权限,例如

drwxr-x--- 5 git git 4096 Mar 19 22:04 repositories

安装gitweb时遇到了类似的问题。由于现有的gitolite repos是在更新.gitolite.rc中的UMASK之前创建的,因此它们没有获得正确的访问权限,必须手动调整。这就是我找到你问题的原因。

在gitolite目录中执行的这个命令可以解决问题:

find . -type d -exec chmod g+x {} \;

你可能已经以某种方式解决了这个问题,因为问题有点陈旧,但也许其他人可以使用答案。