apache + redmine 403 - 提交很好

时间:2015-10-19 19:36:26

标签: apache passenger redmine freebsd http-status-code-403

我搜索了很多这个但是解决方案没有那么多帮助。我试图在我的FreeBSD上将redmine升级到2.6.5,但我有403错误。

apache错误日志:

  

[autoindex:error] AH01276:无法提供目录服务   / usr / local / www / redmine / public /:没有匹配的DirectoryIndex(无)   找到,以及由Options禁止的服务器生成的目录索引   指令

我的httpd conf:

<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>

我不得不说:如果我在选项中添加+索引,我会在浏览器中看到文件,所以我觉得提交很好。 任何人都可以给我任何暗示? 在此先感谢4你的帮助

2 个答案:

答案 0 :(得分:8)

在我的情况下,问题是由apache模块ModAutoIndex中的错误引起的。禁用模块就可以了。

请参阅https://serverfault.com/a/731859

  

禁用模块自动索引(这是导致错误行为的原因,将阻止错误。

     

#LoadModule autoindex_module modules/mod_autoindex.so

     

Phusion将在Apache 2.5.0发布之前解决Passenger 5.0.22的问题。

答案 1 :(得分:1)

我在使用Apache 2.4和Redmine 2.6.5的ArchLinux安装上遇到了同样的问题。我没有使用fcgi来使用Phusion Passenger Web应用程序服务器,但在访问服务器时,我总是像你一样在403 Forbidden页面上。

使用+Indexes选项,我还在浏览器上获得了Redmine公共目录的内容。

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

bundle exec ruby scripts/rails server -e production 

由于我使用RVM来管理系统上的ruby版本和gemsets,我还可以告诉你这个行为与ruby没有关系(我尝试了从1.8.x到2.2.x的每个版本,没有任何改动)

最后,我用nginx 1.8.0(稳定版)取代Apache,让Redmine重新开始工作。所以对于乘客来说,它很容易滚动。跑吧

gem install passenger

所以你得到乘客包裹。然后使用

使用乘客模块编译nginx
passenger-install-nginx-module

您将获得一个自动对话框,可以下载nginx并使用相应的配置对其进行编译。默认情况下,它将安装到/opt/nginx

在ArchLinux上,您宁愿使用ABS获取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;
}

使用另一个网络服务器可能是一个令人生畏的步骤,但是花了不到两个小时才能让Redmine启动并运行nginx,相比之下,将近2天的浪费时间来弄清楚为什么Apache没有为webapp提供服务更多。