Instalando sua aplicação Rails/RestfulX (e as gems) na DreamHost

Apesar dos muitos comentários negativos que ouvi por aí sobre a DreamHost, até hoje não tive problemas: mantenho este blog hospedado lá há quase um ano e não tenho do que reclamar.

Esses dias resolvi colocar uma aplicação em Flex/Rails (com RestfulX) para rodar no servidor e não tive problemas. A única “pequena dificuldade” que tive foi para entender como funciona a instalação das gems no servidor deles, o que é muito simples.

Primeiro criei um subdomínio com suporte a Passenger (o que exigia que o diretório web terminasse com “public/”), conforme screenshot a seguir:

Depois basta você fazer o upload das pastas app e public, e o arquivo config/routes.rb, além das migrations. Pronto! A sua aplicação em Rails está funcionando.

Maaaasss… existe um porém: como eu disse antes, minha aplicação foi feita com o RestfulX, e ele exige que a sua gem esteja instalada. Por falta dela, a aplicação não funcionava e a seguinte mensagem aparecia no log:

NameError (uninitialized constant Mime::FXML)

Para resolver isso, basta acessar seu servidor através do seu cliente SSH preferido (eu usei o Git Bash, com o comando ssh seuusuario@teste.exemplo.com) e instalar a gem do RestfulX com o seguinte comando:

gem install restfulx

Maaaasss… aí existe mais um porém: como você não tem permissão de escrita no diretório das gems do servidor, ele vai instalá-las no seu diretório home. Só que para que sua gem funcionasse você precisaria configurar o PATH e … bom, já vai ficando complicado, não?!

Ao invés disso, acesse o diretório vendor/plugins da sua aplicação e execute:

gem unpack restfulx

Esse comando vai colocar a gem do RestfulX dentro do diretório de plugins. Agora é só pedir para que o Passenger reinicie sua aplicação criando um arquivo vazio chamado restart.txt no diretório tmp, assim (considerando que você está no diretório raiz da sua aplicação):

touch tmp/restart.txt

Pronto. Agora sim sua apliação Rails/RestfulX estará funcionando.

Vale lembrar que esse procedimento vale para qualquer gem que o seu projeto precise.


Poderia avaliar este artigo, por favor?

1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (Nenhum voto)
Loading ... Loading ...

Posts relacionados

  • http://www.facebook.com/luizinho Luiz M Neto

    Olá Elvis, primeiramente parabéns pelo Blog. Uma perguntinha sobre o DreamHost: Ele permite várias aplicações RoR/Passenger com sub-domínios na mesma hospedagem? É que como trabalho com eventos, preciso sempre fazer pequenas aplicações que ficam no ar por tempo limitado, por isso não vale a pena contratar várias hospedagens para isso. Já uso um provedor nacional que me permite isso, mas não estou satisfeito. Grato.

    • Anônimo

      Olá, Luiz!

      Ele permite várias aplicações sim, uma em cada domínio / subdomínio.