gitweb 在 Ubuntu 14.04.2 上报告 "404 - No projects found"

标签 git ubuntu gitolite gitweb

我在这里查看了一堆其他的 Qs & As,但还没有弄清楚……

使用 Ubuntu 14.04.2,我有 git + gitolite + gitweb 来自 apt-get .

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

我从 /etc/apache2/conf.d 移动了 gitweb conf 文件到较新的 /etc/apache2/conf-available启用了 conf 中的符号链接(symbolic link),在 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 我们以用户 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>

项目列表 :
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

我错过了什么?

在此先感谢您的帮助!

最佳答案

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

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

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

在 gitolite 目录中执行的这个命令应该可以解决问题:
find . -type d -exec chmod g+x {} \;

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

关于gitweb 在 Ubuntu 14.04.2 上报告 "404 - No projects found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29185733/

相关文章:

git - 我可以强制 git 仅使用 TLS 吗?

git - 通过 git stash apply 覆盖

推送到远程时 git push 卡住了

linux - Open vSwitch 无法在 Docker 上运行

git - 被 gitolite 锁定并且无法 gl-admin-push

git - 完全覆盖以前的 git 提交

python - Ubuntu 服务器上对 basehttpserver 的 get 请求延迟

Bash 脚本通过电子邮件发送特定文件夹中的所有 JPG 文件

linux - 如何更改 gitolite 上的存储库位置?

Gitolite 在推送 gitolite-admin : could not symlink 时给出错误信息