Rails 3.1 Apache开发环境中的Passenger当我去访问路由的索引(即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: 3: 4:CrbAgendas 5: <%= stylesheet_link_tag "application" %> 6: <%= javascript_include_tag "application" %> 7: <%= csrf_meta_tags %> 8: Rails.root: /var/www/crbagenda
当我进入提到的路径(/ var/www/crbagenda/tmp/cache/assets/E2C)时,没有E2C文件夹和root(运行的是什么apache)拥有资产目录...不确定我做错了什么在这....或者我可以展示什么来帮助.
更新:是的,这个答案来自无知,然后似乎获得牵引力.无论如何,真正的答案可以在Austen Tomek的答案中找到
通过在tmp目录上执行chmod 777来解决这个问题所以我猜这是我对用户/权限设置的无知.
我发现这个职位时,我遇到了这个错误并运行chmod 777
是不是这里的解决方案.
您需要对如何启用组权限和适当配置apach设置进行一些研究.这是一个Stack Exchange线程,它详细说明了这一点,并包含有用的链接.确保apache具有对相应目录的读取,写入和执行访问权限,但不要简单地让ANYONE修改目录.找到您的系统apache组并运行chown
,chmod -g+[What permissions apache needs goes here]
我建议不要使用该-R
选项运行它,并主动查看apache对特定目录所需的权限.链接到Stack Exchange线程一般关于apache权限和权限
我完全删除了tmp文件夹,这对我有用.它只是由Web服务器重新生成.
对我来说这很有用:
sudo chown -R username app_path