Apache / Passenger权限错误-已通过rvm为Redmine安装了Ruby

问题描述

我通过RVM对Ruby进行了多用户安装,如下所示:-

https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/aws/apache/oss/install_language_runtime.html

赞:

curl -sSL https://get.rvm.io | sudo bash -s stable 
sudo usermod -a -G rvm `whoami`
if sudo grep -q secure_path /etc/sudoers; then sudo sh -c "echo export rvmsudo_secure_path=1 >> /etc/profile.d/rvm_secure_path.sh" && echo Environment variable installed; fi

以上操作是作为特定用户完成的。 whoami是红宝石用户。

Apache以用户www-data的身份运行,并给出了此错误。

App 15064 output:   Current user: admin (id=1)
App 15064 output:   Rendering my/account.html.erb within layouts/base
App 15064 output:   Rendered my/account.html.erb within layouts/base (23.7ms)
App 15064 output: Completed 500 Internal Server Error in 42ms (ActiveRecord: 10.5ms)
App 15064 output:   
App 15064 output: ActionView::Template::Error (Permission denied @ dir_s_mkdir - /srv/redmine-4.1.1/tmp/cache/D38):
App 15064 output:     23:   <p><%= f.text_field :lastname,:required => true %></p>
App 15064 output:     24:   <p><%= f.text_field :mail,:required => true %></p>
App 15064 output:     25:   <% unless @user.force_default_language? %>
App 15064 output:     26:   <p><%= f.select :language,lang_options_for_select %></p>
App 15064 output:     27:   <% end %>

注意:/srv/redmine-4.1.1由ruby-user拥有,某些特定的文件夹(包括tmp文件夹)由www-data拥有。

stat -c "%A %a" tmp
drwxr-xr-x 755

stat -c "%A %a" tmp/cache/
drwxrwxr-x 775

我将ruby-user添加到了www-data组中,错误消失了。当我在/ tmp / cache文件夹中检查时,确实用户/组是ruby-user。

我想知道我是否做对了。有人可以向我解释为什么在多用户rvm安装中需要此用户吗? Apache / Passenger不能通过www-data调用ruby吗?也许如果将www-data添加到rvm组中,将不需要该用户?我不了解复杂性,因此无法查询。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...