我正在通过OpenSUSE(非虚拟主机)中的Apache在系统中配置gitweb。但是,出现以下错误:404 - No projects found
。
/etc/gitweb.conf
# path to git projects (<project>.git)
$projectroot = "/home/zhijian/gitweb";
# directory to use for temp files
$git_temp = "/tmp";
# target of the home link on top of all pages
#$home_link = $my_uri || "/";
# html text to include at home page
$home_text = "/gitweb/static/indextext.html";
# file with project list; by default, simply scan the projectroot dir.
$projects_list = $projectroot;
# stylesheet to use
$stylesheet = "/gitweb/static/gitweb.css";
# logo to use
$logo = "/gitweb/static/git-logo.png";
# the 'favicon'
$favicon = "/gitweb/static/git-favicon.png";
/etc/apache2/conf.d/gitweb.conf
Alias /gitweb "/home/zhijian/gitweb"
<Directory "/home/zhijian/gitweb">
Options +Indexes +ExecCGI +FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
</Directory>
我在gitweb文件夹中添加了一个软链接,以链接gitweb.cgi和静态文件夹。 Apache错误日志显示
gitweb.cgi: Can't opendir(/home/zhijian/gitweb): Permission denied
,但是gitweb文件夹的权限已设置为755。有人知道导致此问题的原因吗? 最佳答案
gitweb cgi必须与您要扫描的存储库具有相同的所有者。也就是说,如果您的$ projectroot是www-data:www-data,那么gitweb.cgi也必须是www-data:www-data。
此外,$ projectroot下的目录也必须具有相同的权限。您应该可以执行chown -R www-data:www-data .
这应该有所帮助。您将要查看权限以及所有权,但这比较棘手,并且您将要确保正确并没有打开任何安全漏洞。