apache + redmine 403 - представления хороши

Я много об этом искал, но решения не очень помогают. Я пытался обновить Redmine до версии 2.6.5 на моем FreeBSD, но у меня ошибка 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>

я должен сказать: если я добавляю + индексы в Option, я вижу файлы в своем браузере, так что я думаю, что предпочтения хорошие. Кто-нибудь может дать мне любую подсказку? заранее спасибо 4 ваша помощь

2 ответа

В моей ситуации проблема была вызвана ошибкой в ​​модуле apache ModAutoIndex. Отключение модуля сделало свое дело.

См. https://serverfault.com/a/731859

Отключение автоматического индексации модуля (которое является причиной неправильного поведения, предотвратит ошибку).

#LoadModule autoindex_module modules/mod_autoindex.so

Phusion решит эту проблему в версии Passenger 5.0.22 до выпуска Apache 2.5.0.

Я столкнулся с той же проблемой при установке ArchLinux с Apache 2.4 и Redmine 2.6.5. Вместо fcgi я использую сервер веб-приложений Phusion Passenger, но при доступе к серверу я всегда попадал на страницу 403 Forbidden.

С +Indexes Я также получил содержимое общедоступного каталога Redmine в браузере.

При использовании webrick или пассажира непосредственно для размещения Redmine все было хорошо. Вот как вы можете убедиться, что ваш Redmine не поврежден. Из корневого каталога Redmine запустите:

bundle exec ruby scripts/rails server -e production 

Поскольку я использую RVM для управления версиями ruby ​​и наборами гемов в системе, я также могу сказать, что поведение не связано с ruby ​​(я пробовал каждую версию с 1.8.x до 2.2.x без каких-либо изменений).

В конце концов я заменил Apache на nginx 1.8.0 (стабильный выпуск) и вернул Redmine к работе. Так что с пассажиром довольно легко прокатиться. Просто беги

gem install passenger

так что вы получите пассажирский пакет. А затем скомпилируйте nginx с пассажирским модулем, используя

passenger-install-nginx-module

Вы получите автоматический диалог, который загружает nginx и компилирует его с соответствующей конфигурацией. По умолчанию он будет установлен в /opt/nginx

В ArchLinux вы бы предпочли использовать ABS для получения PKGBUILD и добавить следующее в часть конфигурации

--add-module=$(passenger-config --nginx-addon-dir) \

Таким образом, вы также получаете системный файл для запуска и остановки nginx.service

И последнее, но не менее важное: вот конфигурация nginx, которую я использую для запуска Redmine:

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 часов, чтобы запустить Redmine и запустить его с nginx по сравнению с почти 2 днями потраченного впустую времени, чтобы выяснить, почему, черт возьми, Apache больше не обслуживает веб-приложение.

Другие вопросы по тегам