下午所有,
尝试让我的Rails应用程序在Mac Apache MySql Ruby设置和乘客目录上运行。当我尝试通过Web前端访问它时,我收到以下错误。
*** 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>):
此vhost的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
答案 0 :(得分:2)
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