2013-04-17 58 views
1

我一直在試圖在最初用於多個php應用程序的框中安裝rails應用程序。我安裝了乘客並創建了一個conf文件,但我對它是如何一起工作感到困惑。Rails 3 +乘客conf文件

如果我想要訪問Rails應用程序,我的ServerName應該是什麼?這個盒子是安裝了乘客模塊的debian squeeze,運行apache2。下面是我的conf文件。我目前必須轉到xxx.xxx.xxx.xxx/leoadmin/public才能使應用程序正常運行。我在公共目錄中有以下htaccess。如果我的conf文件配置正確,我認爲這是不必要的。

我認爲我的主要問題是配置文件的配置錯誤。我相信conf文件正在加載,但我不明白爲什麼我仍然需要htaccess來查看任何操作。

的.htaccess

#PassengerEnabled On 
PassengerAppRoot /var/www/leoadmin/ 
#Options -MultiViews 
#PassengerResolveSymlinksInDocumentRoot on 
#Set this to whatever environment you'll be running in 
RailsEnv production 
#RackBaseURI /var/www/leoadmin 

虛擬主機配置

<VirtualHost *> 

    ServerName leoadmin 

    DocumentRoot /var/www/leoadmin/public 
    <Directory /var/www/leoadmin/public> 
      Allow from all 
    </Directory> 
    Alias /leoadmin /var/www/leoadmin/public 
    <Location /leoadmin> 
      SetEnv RAILS_RELATIVE_URL_ROOT "/leoadmin" 
      PassengerAppRoot /var/www/leoadmin 
    </Location> 

    ErrorLog /var/log/apache2/leoadmin-error.log 

    # Possible values include: debug, info, notice, warn, error, crit, 
    # alert, emerg. 
    LogLevel warn 

    CustomLog /var/log/apache2/leoadmin-access.log combined 

</VirtualHost> 

回答

0

我無關,但疼痛和痛苦試圖讓這個排序的幾個月前,我的配置讓我做子的URI,所以我不確定這是你想要的,但它會沿着這些線。我從來沒有需要一個.htaccess文件中查找該設置:

NameVirtualHost *:80 <VirtualHost *:80> 
ServerName www.test.co.uk 
DocumentRoot /web/rails 
<Directory /web/rails> 
    Allow from all 
</Directory> 

RailsBaseURI /test 
RailsEnv development 
<Directory /web/rails_projects/test/> 
    Options -MultiViews 
</Directory> 

對我來說/web/rails是根目錄,從那裏我有很多的符號鏈接到我的/home/目錄,我存儲我的項目。 ServerName是您將要識別的計算機使用的任何限定名稱。

(以防萬一,我跑客運3.0.9,和Rails 3.2.11)

+0

感謝尼古拉,我看到你有你的服務器名稱設置爲公開通俗易懂域。如果我的方框不公開可訪問,我的服務器名稱會是什麼?有關係嗎? – user2108258

+0

我已經從我爲博客文章撰寫的示例中複製了該內容,我想如果服務器將響應域,則可以使用leoadmin或leoadmin.local逃脫。 –