2015-10-19 155 views
2

我搜索了很多,但解决方案并没有太大的帮助。我尝试在我的FreeBSD上将redmine升级到2.6.5,但是我有403错误。apache + redmine 403 - 权限很好

Apache的错误日志:

[自动索引:错误] AH01276:不能充当目录 在/ usr /本地/网络/技术管理平台/公/:没有匹配的DirectoryIndex(无) 发现,和服务器生成目录索引通过选项禁止 指令

我的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您的帮助

回答

1

我在我的ArchLinux安装与Apache 2.4和Redmine 2.6.5遭受同样的问题。我使用Phusion Passenger Web应用程序服务器代替fcgi,但当访问服务器时,我总是在403 Forbidden页面上访问。

随着+Indexes选项我还得到了浏览器上的Redmine公共目录的内容。

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

bundle exec ruby scripts/rails server -e production 

由于我使用RVM管理系统上的Ruby版本和gemsets我也可以告诉你,红宝石的行为是没有关系(我想每一个版本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

最后但并非最不重要这里是我用来运行管理平台的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/[email protected]/wrappers/ruby; 
} 

使用其他网络服务器可能是一个令人生畏的步骤,但是花了不到2个小时的时间才将Redmine与nginx配合运行,而接近2天的浪费时间才算出为什么Apache不再为webapp提供服务。

+0

驱车我坚果试图找出为什么你pedding Fedora 21至22打破了Redmine。我几乎准备将整个应用程序移植到php中,直到找到这个页面! –

8

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

https://serverfault.com/a/731859

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

#LoadModule autoindex_module modules/mod_autoindex.so

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

+0

非常感谢 - 修复它。丢失autoindex并不是很大的牺牲。 “Fedora测试页”这个短语可能会帮助其他人找到这个解决方案。 –