我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服务了。