gpt4 book ai didi

gitweb - 配置 GitWeb - 404 - 未找到项目

转载 作者:行者123 更新时间:2023-12-03 13:59:32 30 4
gpt4 key购买 nike

我正在通过 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 文件夹中添加了一个软链接(soft link)来链接 gitweb.cgi 和静态文件夹。 Apache 错误日志显示 gitweb.cgi: Can't opendir(/home/zhijian/gitweb): Permission denied ,但 gitweb 文件夹的权限已设置为 755。有人知道可能导致此问题的原因吗?

最佳答案

我在 OpenSuse 11.4 中也遇到了同样的问题。在我的情况下(我怀疑最初的发帖人就是这种情况,他也是一名 opensuse 用户),问题出在 AppArmor 上,我对此知之甚少。

以下是我注意到导致最终解决方案的一些要点:

  • 在 OpenSuse 中,安装了 git-web rpm 包,因此 $projectroot 默认为“/srv/git ”文件夹
  • 如果你在这个“/srv/git/... ”子文件夹中添加你的 git 存储库,那么一切正常
  • 如果您决定选择其他位置,例如“/home/myname/srv/git/”,那么它会失败,尽管按照其他帖子中的建议将所有者设置为 wwwrun:www
  • 这里的问题是 AppArmor ,这似乎对允许应用程序执行的操作设置了更严格的政策
  • 执行“ rpm -ql git-web ”将显示一个名为:“/etc/apparmor.d/usr.share.git-web.gitweb.cgi
  • 的文件
  • 用 su/sudo 打开这个文件,你可以编辑它
  • 在这里,你会看到这些行:

  • ...
    /srv/git/ r,
    /srv/git/** r,

    ...
  • 将这些更改为包含您的 git 存储库的父文件夹的路径,例如,如果您将它们存放在“/home/myname/srv/git/”中,则使用“”/home/myname/srv/ "父文件夹,例如:

  • ...
    /home/myname/srv r,
    /home/myname/srv/** r,

    ...
  • 将更改保存到文件
  • 我认为您还必须将此父文件夹的所有者更改为 wwwrun:www,例如“ sudo chown -R wwwrun:www srv/
  • 使用“ sudo rcapparmor 重启 ”重新启动 AppArmor

  • 现在一切都应该好了:)

    关于gitweb - 配置 GitWeb - 404 - 未找到项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10275536/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com