Назад | Перейти на главную страницу

Доступ пассажира запрещен для доступа к .htaccess

Я только что закончил перенос своей установки Redmine, и после тестирования ее с помощью webrick все прошло нормально, и сайт действительно хорошо работал с http://localhost:3000

Затем я установил и настроил mod_passenger, добавил отдельный виртуальный хост и просто скопировал конфигурацию с предыдущего сервера. Поскольку абсолютный путь приложения не изменился, я предположил, что оно будет работать сразу же, но это было неправдой, и, по-видимому, пассажир не получает доступ к нужному каталогу. Вот что появляется в журнале ошибок для этого виртуального хоста:

Permission denied: /srv/redmine/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

Вот файлы конфигурации:

Виртуальный хост

<VirtualHost *:80>
        ServerName redmine
        DocumentRoot /srv/redmine/public
        ErrorLog /var/log/apache2/redmine_error.log
        RailsEnv production
        PassengerRoot /srv/redmine/public

        <Directory /srv/redmine/public>
                Options Indexes FollowSymLinks
                AllowOverride all
                Order allow,deny
                allow from all

                RailsBaseURI /
                PassengerResolveSymlinksInDocumentRoot on
        </Directory>
</VirtualHost>

Файл конфигурации пассажира

<IfModule mod_passenger.c>
  PassengerRoot /usr
  PassengerRuby /usr/bin/ruby

  PassengerDefaultUser www-data
  # Below are some lines to tweak mod-passenger.
  # This keeps some Ruby processes running,
  # but the average response time is a lot lower
  # on low-traffic sites.
  RailsSpawnMethod smart
  PassengerPoolIdleTime 3000
  RailsAppSpawnerIdleTime 0
  PassengerMaxRequests 1000
</IfModule>

Любые идеи, почему (согласно ошибке) Пассажир пытается найти .htaccess в /srv/redmine/ тогда как он должен был искать /srv/redmine/public/ ?

Я также должен отметить, что каталог public / ниже был рекурсивно изменен с помощью chmodded 755

Заранее спасибо!

Это не только проверка /srv/redmine/.htaccess, это также проверка /srv/.htaccess и /.htaccess. Apache будет регистрировать эти местоположения для каждого запроса, если AllowOverride включен - он просто регистрирует только тот, поскольку он существует, но недоступен для пользователя, от имени которого запущен Apache. Видеть Вот.

Тот факт, что он пытается открыть .htaccess файл, который он не может открыть, не должен иметь никакого отношения к работе приложения. Какие проблемы возникают у приложения, кроме этого предупреждения?