Подтвердить что ты не робот

Rails 3.1 Errno:: Разрешение EACCES запрещено

Rails 3.1 Пассажир в среде разработки Apache Когда я иду для доступа к индексу (т.е. GET) для маршрута, я получаю:

Errno::EACCES in Crb_agendas#index

Showing /var/www/crbagenda/app/views/layouts/application.html.erb where line #5 raised:

Permission denied - /var/www/crbagenda/tmp/cache/assets/E2C

Extracted source (around line #5):

2: <html>
3: <head>
4:   <title>CrbAgendas</title>
5:   <%= stylesheet_link_tag "application" %>
6:   <%= javascript_include_tag "application" %>
7:   <%= csrf_meta_tags %>
8: </head>

Rails.root: /var/www/crbagenda

Когда я перехожу к указанному пути (/var/www/crbagenda/tmp/cache/assets/E2C), нет папки E2C и root (то, что работает apache) владеет ресурсами dir... не уверен, что Я здесь ошибся... или что еще я мог показать, чтобы помочь.

4b9b3361

Ответ 1

Я нашел этот пост, когда столкнулся с этой ошибкой, и запуск chmod 777 здесь не является решением.

Вам нужно провести некоторое исследование того, как разрешить групповые разрешения и настроить параметры апача соответствующим образом. Вот поток Stack Exchange, который подробно описывает это и содержит полезные ссылки. Убедитесь, что apache выполнил чтение, запись и выполнение доступа к соответствующим каталогам, но не просто позволяет ANYONE изменить каталог. Найдите свою группу апачей систем и запустите chown и chmod -g+[What permissions apache needs goes here] Я бы предложил не запускать это с помощью параметра -R и активно изучать, какое разрешение apache необходимо для определенных каталогов. Ссылка на поток Stack Exchange, относящийся к разрешениям и разрешениям apache в целом

Ответ 2

Обновление: Да, этот ответ пришел из-за невежества, а затем, похоже, приобрел тягу. В любом случае, реальный ответ можно найти в Остин Томек ответить

Взломали это, сделав chmod 777 в каталоге tmp, поэтому я предполагаю, что это мое незнание настроек пользователя/разрешений.

Ответ 3

Я полностью удалил папку tmp, которая сработала для меня. Он просто восстанавливается веб-сервером.

Ответ 4

Просто запустите chown в папке проекта

chown -R www-data /var/www/

Ответ 5

Для меня это было полезно:

sudo chown -R username app_path

Ответ 6

Благодаря вышеприведенным сообщениям я тоже решил решить свою проблему. Лично важную папку обозначили "Скрытый" (следуйте по пути ERROR Ошибка: Permission denied -.../_ netrc (Errno:: EACCES) Как только я щелкнул правой кнопкой мыши и установил параметры своей папки NOT HIDDEN, тогда все сработало отлично!

Ответ 7

В моем случае изменение прав и права собственности на каталог не помогло (ну это было необходимо). Оказалось, что Selinux запустил (по умолчанию включен в Fedora), а отключением было лечение:

$ sudo setenforce 0

Чтобы сделать изменение постоянным, необходимо изменить настройки в файле /etc/selinux/config:

SELINUX=disabled