Deployment na Dreamhost e RailsPlayground

5 de julho de 2007 ~ Tags:, , ,

Minha aplicação Rails está pronta, mas, e agora? Como instalá-la no servidor?
Essa é uma dúvida muito comum entre desenvolvedores Rails. Fazer a configuração do ambiente de produção de uma aplicação é uma tarefa bem DIY (do it yourself, ou, faça você mesmo). Não existe uma fórmula certa ou errada para isso, mas sim diferentes soluções para essa questão. Esse artigo, portanto, mostra uma forma, que eu e o Nando usamos para rodarmos nossas aplicações. Ele na RailsPlayground e eu na Dreamhost. Vamos lá:


Mão na Massa

Faça uma conexão SSH com seu servidor. Para quem não sabe, basicamente, é uma conexão que permite você trabalhar num outro computador remotamente. Assim, você pode, copiar arquivos, deletar e gerenciar sua conta nesse host. Em sistemas *nix, como Mac e Linux, digite em um terminal: ssh usuario@meusite.com.br. Após a autenticação você estará no servidor. No Windows, instale o PuTTY, velho guerreiro para essas operações.

Nota: esse usuário deve ter, obviamente, acesso a shell. Caso tenha dúvida, verifique seus usuários.

Uma vez já logado no servidor, crie uma aplicação inicial (por exemplo: teste), apenas para gerar os arquivos certos de configuração (como o dispatch.* e .htaccess). No seu diretório principal (/home/meuusuario) crie:

rails teste

Feito isso, envie sua aplicação para sua pasta de usuário. Você pode fazer isso usando um programa de FTP mesmo. Lembre-se de que sua aplicação não deve estar dentro da pasta public_html ou meusite.com.br ou seja, a pasta que você informa no gerenciador de domínios da Dreamhost.

Com sua aplicação já no servidor, verifique se seu arquivo environment.rb está com a mesma versão do Rails que está instalada na máquina. Isso previne indesejáveis erros, como o "Rails application failed to start properly". Não esqueça também de descomentar a linha que coloca a aplicação em modo de produção. Não devemos nunca deixar uma aplicação ir para versão final em modo de desenvolvimento, porque nesse modo os logs gerados são enormes. Verificada versão do Rails e servidor configurado para produção, acerte a permissão dos arquivos.

chmod -R 755 ~/MinhaAppWeb2.0deSucesso

Acertada as permissões, copie o .htaccess e os dispatch.* da aplicação teste para sua aplicação.

cp ~/teste/public/dispatch.* ~/MinhaAppWeb2.0deSucesso/public/
cp ~/teste/public/.htaccess ~/MinhaAppWeb2.0deSucesso/public/

Nota: se você tinha feito uma alteração no .htaccess de sua aplicação, lembre de editar o novo arquivo copiado.

Falta agora fazer as migrações das tabelas de seu banco de dados. Rake neles!

rake migrate RAILS_ENV="production"

Se você preferir pode usar também o PHPMyAdmin da Dreamhost, para criar/exportar seu banco de dados.
Finalmente, vamos criar um link simbólico da sua aplicação para o lugar público.

ln -s /home/meuusuario/MinhaAppWeb2.0deSucesso/public /home/meuusuario/public_html

Nesse caso, a aplicação ficaria no diretório principal do domínio (desde que public_html tenha sido especificado como sua pasta raiz do domínio no gerenciador da Dreamhost)


Posts relacionados:


5 comentários


Deixe uma resposta






Últimos textos do blog

Tagcloud

abraweb acadêmico actionscript ajax apache apple arteccom asp autosimulado backup benchmark beta bh blogosfera bookmarklet bookmarklets brasil browser censura chucknorris cms codestacker concurso crítica css dashboard deployment desenvolvimento design dicas divinópolis dotmac download dreamhost economia empreendedorismo empreendorismo encontro estatísticas extreme programming feedburner firefox fireworks flash flickr ftp game git globo gmail golive google greasemonkey guerrilha hack host howto htaccess html humor ie inss internet banking iphone ipod is® javascript jquery layout leopard linux listas live locomotive mac meme microsoft miguxês minasonrails mod_rails mp3 msn mysql off tropic opensocial opera orkut oscommerce parser passenger pc personalidade pesquisa php plugin plugins pog portfolio produtividade publicidade rails refurbished regex resenha review ria rss ruby rádio safari sandbox screencast screensaver script.aculo.us seo shoutcast silverlight software spam startup stevejobs suporte swf switch são paulo teste textmate trabalho tumblelog tumblr tutorial twitter ui uml usabilidade validação viral wallop web2.0 webalizer webdesign webdevelopment webkit webmail webmobile webobjects webstandards windows wordpress xml yahoo youtube

Veja todos os textos →