【发布时间】:2011-04-26 06:30:02
【问题描述】:
我正在使用 Phusion Passenger 在 CentOS 5.5 上使用 apache2 部署 Rails 应用程序。出于某种原因,我在启动 apache 时不断收到此消息:
> service start httpd
Starting httpd: Warning: DocumentRoot [/home/deploy/my_app/public] does not exist
[ OK ]
该目录肯定存在。以下是我的配置中的一些重要文件:
/etc/httpd/conf/httpd.conf
...
用户部署
组部署
...
/etc/httpd/conf.d/my_app.conf
< VirtualHost *:80>
ServerName my_app.com
DocumentRoot /home/deploy/my_app/public
< Directory /home/deploy/my_app/public>
Allow from all
Options -MultiViews
< /Directory>
< /VirtualHost>
目录 /home/deploy、/home/deploy/my_app 和 /home/deploy/my_app/public 都属于部署用户。
【问题讨论】:
-
目录的权限是什么?我不是专家,但首先想到的是,即使您在 httpd.conf 中指定了正确的用户,也不一定是 那个 用户来检查目录是否存在。 ..
-
我将所有内容设置为 rwxrwxrwx 或 rwxrw-rw-。 root 拥有 /home,deploy 拥有通往 /home/deploy/my_app/public 的所有其他东西。不过,谢谢。
-
对另一个问题的回答可能会帮助未来的发现者遇到这个问题;它调查了一些与 Web 服务器和 SELinux 相关的事情:serverfault.com/a/551801/101931
标签: ruby-on-rails apache2 passenger