Apache 阿帕奇&x2B;redmine 403-预选任务很好

Apache 阿帕奇&x2B;redmine 403-预选任务很好,apache,passenger,redmine,freebsd,http-status-code-403,Apache,Passenger,Redmine,Freebsd,Http Status Code 403,我搜索了很多关于这方面的东西,但解决方案没有太大帮助。我试图在我的FreeBSD上将redmine升级到2.6.5,但我有403个错误 apache错误日志: [自动索引:错误]AH01276:无法为目录提供服务 /usr/local/www/redmine/public/:没有匹配的目录索引(无) 已找到,并且服务器生成的目录索引被选项禁止 指示 我的httpd配置: <VirtualHost example.com:80> DocumentRoot "/usr/local/

我搜索了很多关于这方面的东西,但解决方案没有太大帮助。我试图在我的FreeBSD上将redmine升级到2.6.5,但我有403个错误

apache错误日志:

[自动索引:错误]AH01276:无法为目录提供服务 /usr/local/www/redmine/public/:没有匹配的目录索引(无) 已找到,并且服务器生成的目录索引被选项禁止 指示

我的httpd配置:

<VirtualHost example.com:80>
   DocumentRoot "/usr/local/www/redmine/public"
    ServerName example.com

      FastCgiServer /usr/local/www/redmine/public/dispatch.fcgi -idle-timeout 120 -initial-env RAILS_ENV=production -initial-env PATH=/usr/local/bin -processes 2

<Directory "/usr/local/www/redmine/public">
   AddHandler fastcgi-script fcgi
   Order allow,deny
   Allow from all
   AllowOverride all
   Options  +FollowSymLinks +ExecCGI
   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^(.*)$ dispatch.fcgi
</Directory>
    ErrorLog /logs/error.log
</Virtualhost>

DocumentRoot“/usr/local/www/redmine/public”
ServerName example.com
FastCgiServer/usr/local/www/redmine/public/dispatch.fcgi-idle timeout 120-initial env RAILS_env=production-initial env PATH=/usr/local/bin-processs 2
AddHandler fastcgi脚本fcgi
命令允许,拒绝
通融
允许超越所有
选项+FollowSymLinks+ExecCGI
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$dispatch.fcgi
ErrorLog/logs/error.log
我必须说:若我在选项中添加+索引,我会在浏览器中看到文件,所以我想预任务是好的。 有人能给我任何提示吗?
提前感谢您的帮助

我在安装Apache2.4和RedMine2.6.5的ArchLinux时遇到了同样的问题。我使用的不是fcgi,而是Phusion Passenger web应用程序服务器,但在访问服务器时,我总是像您一样出现在403禁止页面上

使用
+索引
选项,我还可以在浏览器上获得Redmine公共目录的内容

当使用webrick或乘客直接主持Redmine时,一切都很好。这就是你可以验证你的Redmine没有被破坏的方式。从Redmine根目录运行:

bundle exec ruby scripts/rails server -e production 
由于我使用RVM管理系统上的ruby版本和Gemset,我还可以告诉您,该行为与ruby无关(我尝试了从1.8.x到2.2.x的每个版本,没有任何更改)

最后,我用nginx1.8.0(稳定版)取代了Apache,让Redmine重新开始工作。因此,对于乘客来说,很容易启动。快跑

gem install passenger
所以你得到了乘客包。然后使用

passenger-install-nginx-module
您将获得一个自动对话框,下载nginx并使用适当的配置对其进行编译。默认情况下,它将安装到
/opt/nginx

在ArchLinux上,您更希望使用获取PKGBUILD并将以下内容添加到配置部分

--add-module=$(passenger-config --nginx-addon-dir) \
这样,您还可以启动和停止systemd单元文件
nginx.service

最后但并非最不重要的一点是我用来运行Redmine的nginx配置:

server {                                                                    
  listen 80;                                                              
  server_name redmine.example;                                        
  root /usr/share/webapps/redmine-2.6.5/public;                           
  passenger_base_uri /;                                                   
  passenger_app_root /usr/share/webapps/redmine-2.6.5;                    
  passenger_document_root /usr/share/webapps/redmine-2.6.5/public;        
  passenger_enabled on;                                                   

  passenger_ruby /usr/local/rvm/gems/ruby-1.9.3-p551@redmine/wrappers/ruby;
}

使用另一个Web服务器可能是一个令人望而生畏的步骤,但我花了不到2个小时的时间启动Redmine并使用nginx运行,而花了将近2天的时间才弄清楚为什么heck Apache不再为Web应用提供服务。

在我的情况下,问题是由Apache模块ModAutoIndex中的错误引起的。禁用模块成功了

禁用模块自动索引(这是错误行为的原因)将防止出现错误

#加载模块自动索引#u模块/mod#u自动索引。因此

在Apache2.5.0发布之前,Phusion将在Passenger 5.0.22的实现中解决这个问题


试图弄明白为什么将Fedora 21升级到22会破坏Redmine,这让我发疯。在找到这个页面之前,我几乎准备好将整个应用程序移植到php!非常感谢-这就解决了它。失去自动索引并不是什么大的牺牲。“Fedora测试页面”这个短语可能会帮助其他人找到这个解决方案。