我搜索了很多这个但是解决方案没有那么多帮助。我试图在我的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你的帮助
答案 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
所以你得到乘客包裹。然后使用
使用乘客模块编译nginxpassenger-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提供服务更多。