【问题标题】:Rails passenger /tmp/ folder permission deniedRails 乘客 /tmp/ 文件夹权限被拒绝
【发布时间】:2013-01-22 15:28:57
【问题描述】:

下午好,

试图让我的 Rails 应用程序在 Mac Apache MySql Ruby 设置和乘客目录上运行。当我尝试通过网络前端访问它时,我收到以下错误。

*** Exception Errno::EACCES in spawn manager (Permission denied - /tmp/passenger.1.0.54375/generation-0/spawn-server/socket.54643.70317578161560) (process 54643, thread #<Thread:0x007fe82c0519c0>):

此虚拟主机的 Apache 配置如下所示

<VirtualHost *:80>
  ServerName test.me
  DocumentRoot /Users/me/Projects/app/public
  <Directory /Users/me/Projects/app/public>
     AllowOverride all
     Options -MultiViews
  </Directory>

谁能看到我错过了什么? FWIW 它尝试访问的文件夹归 root 所有,这似乎有点奇怪

drwsr-xr-x   3 root        wheel   102 11 Oct 15:25 passenger.1.0.54375

【问题讨论】:

  • 如果这只是为了开发,最简单的方法可能是.. cd 到终端中的项目目录并执行passenger start
  • 如果你不想使用passenger start,这也可以帮助stackoverflow.com/questions/2055575/…

标签: ruby-on-rails apache passenger


【解决方案1】:

Passenger 假定为 config/environement.rb 的所有者(请参阅 http://www.modrails.com/documentation/Security%20of%20user%20switching%20support.html,重新启动 apache/passenger 以使更改生效)并且此用户需要 tmp 的写入和执行权限。

那么,找出谁拥有config/environement.rb

$> ls -lah config/environment.rb 
-rwxr-xr-x 1 www-data www-data 152 Jan 22 07:53 config/environment.rb

我在这里选择 www-data,因为这是我的 apache 使用的用户。我不推荐root。

$> chown www-data:www-data config/environment.rb

授予该用户对 tmp 文件夹及其内容的完全访问权限就足够了:

$> chmod -R 700 tmp

【讨论】:

    猜你喜欢
    • 2015-10-30
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 2013-10-22
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多