apache + redmine 403 – premissions是好的

我search了很多,但解决scheme并没有太大的帮助。我试图升级Redmine 2.6.5在我的FreeBSD,但我有403错误。

apache错误日志:

[autoindex:error] AH01276:无法提供目录/ usr / local / www / redmine / public /:找不到与DirectoryIndex(none)相匹配的服务器生成的目录索引

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

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

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

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

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

#Loadmodulee autoindex_module modules/mod_autoindex.so

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

我在使用Apache 2.4和Redmine 2.6.5的ArchLinux上遇到同样的问题。 我使用Phusion Passenger Web应用程序服务器,而不是使用fcgi,但是当访问服务器时,我总是在403 Forbidden页面上进行访问。

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

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

 bundle exec ruby scripts/rails server -e production 

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

最后,我用nginx 1.8.0(stable release)替换了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; } 

使用另一个网络服务器可能是一个艰巨的步骤,但是花了不到2个小时的时间让我们用nginx运行Redmine,而不是花了将近2天的时间来弄清楚为什么Apache没有再为webapp服务了。