我在这里查看了一堆其他的 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/