2012-04-05 70 views
4

我想用apache和乘客将我的应用程序部署到我的本地服务器。我安装了所有的前提条件,如开发库和乘客宝石。然后我将这些行包含到我的/etc/apache2/httpd.conf文件中;现在与乘客部署导轨

PassengerRoot /home/insane-36/.rvm/gems/ruby-1.9.3-p125/gems/passenger-3.0.11 
PassengerRuby /home/insane-36/.rvm/wrappers/ruby-1.9.3-p125/ruby 

,我创建了一个文件中的/ etc/apache2的/站点可用的名称为sampleapp并把下面的内容进去;

<VirtualHost *:80> 
ServerName sampleapp 
RailsEnv development 
DocumentRoot /home/insane-36/Documents/Web/Rails/sampleapp/public 
<Directory /home/insane-36/Documents/Web/Rails/sampleapp/public> 
    AllowOverride all 
    Options MultiViews 
    Order allow,deny 
    Allow from all 
</Directory> 
</VirtualHost> 

我启用了该站点,然后将主机名添加到/ etc/hosts文件中。但是,当我尝试使用其ServerName浏览网站时,它会将权限拒绝错误视为;

Forbidden 

You don't have permission to access/on this server. 

Apache/2.2.20 (Ubuntu) Server at sampleapp Port 80 

我不知道这里出了什么问题。我试图多次编辑相同的文件,禁用网站,启用网站,重新加载Apache。请向我建议这件事背后的问题和解决方案。提前谢谢你的帮助。

回答

1

这是目录中的权限问题,而不是deamon本身; DocumentRoot/home/insane-36/Documents/Web/Rails/sampleapp/public中有索引文件吗?谁拥有它? Apache运行的是什么?

+1

我设置整个Rails应用程序到www数据,虚拟用户运行Apache的许可。但是,我仍然无法做到。 – Sandeep 2012-04-18 15:44:01

+2

那么这个答案是如何呢?这个怎么用?我现在遇到同样的问题。谢谢 – iGbanam 2012-06-27 23:11:04

+0

将权限设置为777甚至不会修复我的错误。 – Adi 2012-11-25 10:35:13

1

我知道这是一个老问题,仍然是谷歌搜索该错误的最佳结果。

解决方案是增加要求所有授予最后一行内

<Directory /home/insane-36/Documents/Web/Rails/sampleapp/public> 
    AllowOverride all 
    Options MultiViews 
    Order allow,deny 
    Allow from all 
    Require all granted 
</Directory>