Apache的配置如下:
Alias /git /var/www/gitweb
Alias /gitweb /var/www/gitweb
<Directory "/var/www/gitweb">
AllowOverride None
Options +ExecCGI +Indexes
Order allow,deny
Allow from all
DirectoryIndex gitweb.cgi
AddHandler cgi-script .cgi
SetEnv GITWEB_CONFIG /var/www/gitweb/gitweb.conf
</Directory>我正在尝试设置Gitweb,但我一直得到可怕的404 - No projects found问题。通常这是一个权限错误,所以我想看看perl是否打印了没有权限的东西,所以我使用下面的命令从终端运行它。
sudo -u apache GITWEB_CONFIG=/var/www/gitweb/gitweb.conf perl gitweb.cgi脚本与所有正确列出的存储库(即,没有404)呼应HTML。
问题是:为什么相同的脚本会从Apache和终端运行不同的行为呢?
发布于 2012-12-06 23:30:00
问题是SELinux。我的存储库位于/home/git目录中。默认情况下,httpd服务无法访问该目录。
运行setsebool -P httpd_enable_homedirs=1并解决了该问题。
https://stackoverflow.com/questions/13753829
复制相似问题