2012-05-02 44 views
2

我想部署Rails 3.2.3應用程序到共享主機服務(1and1)與Postgres作爲我的數據庫。我通過FTP將我的文件夾上傳到網站目錄,並將域名指向控制面板中的我的rails文件夾,但是當我訪問網站主頁時,我收到「您無權訪問/在此服務器上。」我試過使用乘客,但我不確定是否需要或者它是否工作。我很新,所以一步一步的說明會很棒。部署Rails應用程序共享主機服務給出權限錯誤

我正在使用Mac OSX Snow Leopard,如果需要更多信息,請告訴我。任何更多的背景文章閱讀也將不勝感激,我一直在尋找的東西,可以很好地解釋這是如何工作,但我還沒有找到一個好的。

+0

部署一個Rails應用程序並不像你在這裏所做的那樣簡單和乾燥。當你說共享主機,你的意思是VPS或使用CPanel的東西?你打算使用什麼Web服務器(通常是Apache或Nginex)?你有殼牌嗎? 您將創建一個從web根目錄到應用程序目錄中的公共/文件夾的符號鏈接,確保設置目錄權限。如果這是一個VPS,我會建議您按照安裝像Redmine或Teambox這樣的應用程序中列出的步驟進行操作,如果您可以安裝這些應用程序,則可以更好地瞭解您必須在此處執行的操作。 – saneshark

+0

這是我很難理解的東西。我會研究它。 – Anoel

回答

1

首先,您需要將虛擬主機指向公用目錄,而不是根路徑。

第二:我建議你運行rake資源:在本地機器上進行預編譯,然後將public/assets文件夾加載到主機上。

第三:看看你上傳的文件和文件夾的權限,網絡服務器應該能夠讀取並執行它們。

第四:如果主機運行Apache作爲網絡服務器,你需要安裝mod_passenger。

+0

現在我們已經決定現在使用Heroku,但是謝謝。 – Anoel

0

對我來說聽起來像你之前沒有部署Rails項目,它實際上不適用於心靈的懦弱,並不像「安裝Apache」並啓動它那麼簡單 - 而且你真的很喜歡如果你試圖讓它在OSX上運行,它非常奇怪地配置apache(特別是在Lion上,eesh)

所以, 1)只要不打擾在你的Snow Leopard盒子上運行RoR,使用包含的Rails服務器(rails s --debugger),無論如何你都希望調試器可用。

2)使用一個大的端到端教程,讓您的1and1機器上運行的回報率,最好是在Ubuntu的(它只是更容易)Classic Slicehost Tutorial

3)一旦你完成了#2,讓我們知道你怎麼已經上了。

+0

一個問題是當你ssh到1and1服務器 'sudo:command not found' – Arcolye

+0

好吧,如果它是一個共享主機sudo可能無法訪問常規用戶的安全。 – Almaron

+0

這意味着沒有安裝寶石或任何東西,對吧? – Arcolye