2012-05-02 35 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