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

Пассажир жалуется на разрешения Apache, несмотря на 777

Я установил Redmine на Fedora 18. Установка работает при тестировании с помощью webrick, как описано в официальный HowTo.

Теперь я хочу использовать Passenger и Apache для размещения Redmine. Что я получаю:

Ошибка пассажира № 2 Произошла ошибка при попытке доступа к '/var/www/redmine/config/environment.rb': не удалось выполнить статистику '/var/www/redmine/config/environment.rb': отказано в доступе (errno = 13)

У Apache нет прав на чтение этого файла. Исправьте соответствующие разрешения для файлов.

После нескольких безуспешных попыток решить проблему, я передал право собственности на все /var/www/redmine каталог, содержащий содержимое для пользователя apache и рекурсивно изменил разрешения на 777. Я обратился к пользователю apache и смог открыть и просмотреть файл environment.rb без каких-либо проблем. Поэтому я думаю, что это не проблема с разрешением, но, столкнувшись с этим явным сообщением об ошибке, у меня нет идей.

В чем может быть проблема и есть идеи, как ее исправить (желательно решение, которое позволяет мне вернуть разрешения на разумное значение)?

сноски:

Я забыл, что в Fedora по умолчанию включен SELinux. Выключение SELinux устранило ошибку.

Как указал Давуд, отключение SELinux не следует рассматривать как решение - скорее, SELinux следует настроить так, чтобы разрешить Apache использовать файлы.

Быстрое решение - запустить restorecon в указанном каталоге. Это устанавливает контекст безопасности к типу, ожидаемому от родительского каталога. Мои файлы находятся в подкаталоге / var / www, для них установлено значение httpd_sys_content_t, и Apache может получить к ним доступ. Если бы они были где-то еще, мне пришлось бы изменить тип вручную.

После решения проблемы SELinux права доступа к файлам можно изменить обратно на обычный уровень без дальнейших проблем.