Acabamos de lançar o suporte oficial à hospedagem compartilhada Linux com Ruby on Rails. A primeira grande pergunta para os novos clientes deve ser: ”E agora, como coloco minhas aplicações em produção?”
Partindo do pressuposto que você já contratou uma hospedagem compartilhada Linux, transfira suas aplicações para a pasta ”rails_app”. Isso pode ser feito via FTP, SFTP ou SCP, o que lhe for mais conveniente. Por exemplo digamos que você tenha as aplicações “site” e “loja”, elas ficariam assim:
~/rails_app/site
~/rails_app/loja
Acesse sua conta via SSH (se for no Windows, use o programa Putty para isso). Todas as contas Linux tem SSH por padrão.
Crie links simbólicos das pastas ’public’ de suas aplicações para dentro da pasta ’public_html’:
ln -s ~/rails_app/site/public ~/public_html/site
ln -s ~/rails_app/loja/public ~/public_html/loja
Finalmente, acesse o Gerenciador de Domínio através do Painel da Locaweb:
Através do Gerenciador de Domínio você pode configurar seu Site Principal, Site Adicional, Apontamentos e Redirecionamentos. Você pode cadastrar seu domínio, por exemplo, www.minhaloja.com.br e mapeá-la diretamente para /public_html/site e loja.minhaloja.com.br para /public_html/loja.
Feita a alteração da raíz do seu site (seja Site Principal ou Site Adicional), será necessário aguardar no máximo 2 horas para que o Apache recarregue sua nova configuração. Se você acabou de registrar seu domínio também existe o tempo de propagação do DNS que pode variar, mas costuma ser rápido.
Com esta organização você pode colocar uma ou mais aplicações na mesma conta. Claro, infelizmente alguma coisas não rodarão em ambiente compartilhado, como a gem Ferret ou outras que dependam de daemons (servidores) separados. Para esses casos a solução é um ambiente virtual/dedicado. Aguardem mais novidades nessa área, muito em breve teremos mais surpresas!
Dica importante: o Rails antes da versão 2.1 criava um arquivo public/.htaccess. Ele pode ser incompatível com a configuração do Passenger, portanto não se esqueça de apagá-lo para sua aplicação funcionar corretamente. Ele era necessário quando você queria subir a aplicação com FastCGI, mas o Passenger é muito melhor que FastCGI agora.
Outro detalhe: se quiser fazer alterações no seu site que já foi instalado como mostrei acima, não basta apenas sobrescrever os arquivos do seu projeto Rails. Isso porque o Passenger mantém instâncias persistentes em memória para garantir performance.
Para que suas alterações reflitam no seu site, é necessário reiniciar esses Rails. Isso é feito simplesmente criando um arquivo texto vazio chamado restart.txt. Por exemplo, se quiser reiniciar o Rails da loja, faça assim:
touch ~/rails_app/loja/tmp/restart.txt
Pronto, basta reiniciar o browser e tudo estará atualizado corretamente!








