2015-10-19 158 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測試頁」這個短語可能會幫助其他人找到這個解決方案。 –