<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Klaus Paiva &#187; Dreamhost</title>
	<atom:link href="http://blog.klaus.pro.br/tags/dreamhost/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.klaus.pro.br</link>
	<description>Idéias e desventuras de Klaus Paiva</description>
	<lastBuildDate>Thu, 05 Aug 2010 22:55:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Ruby on Rails na Dreamhost &#8211; Agora com Passenger</title>
		<link>http://blog.klaus.pro.br/2008/ler/ruby-on-rails-na-dreamhost-agora-com-passenger/index.html</link>
		<comments>http://blog.klaus.pro.br/2008/ler/ruby-on-rails-na-dreamhost-agora-com-passenger/index.html#comments</comments>
		<pubDate>Thu, 10 Jul 2008 23:22:02 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[Dreamhost]]></category>
		<category><![CDATA[Hospedagem]]></category>
		<category><![CDATA[Passenger]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://blog.klaus.pro.br/?p=85</guid>
		<description><![CDATA[Já faz mais de um ano que eu escrevi um texto sobre como rodar aplicações em Ruby on Rails na Dreamhost. Fico feliz ao poder dizer hoje que as instruções naquele texto não são mais, totalmente, necessárias. =) Semana passada criei uma aplicação bem simples, para testes, e resolvi tentar colocá-la na Dreamhost. Ok, já [...]]]></description>
			<content:encoded><![CDATA[<p>Já faz mais de um ano que eu escrevi um texto sobre <a href="http://blog.klaus.pro.br/2007/ler/ruby-on-rails-na-dreamhost/index.html">como rodar aplicações em Ruby on Rails na Dreamhost</a>. Fico feliz ao poder dizer hoje que as instruções naquele texto não são mais, totalmente, necessárias. =)</p>
<p>Semana passada criei uma aplicação bem simples, para testes, e resolvi tentar colocá-la na Dreamhost. Ok, já faz um tempinho que eles anunciaram o <a href="http://blog.dreamhost.com/2008/05/13/passenger-for-ruby-on-rails/">suporte a Ruby on Rails</a> nos planos de hospedagem mas, só agora eu tive tempo hábil de testar.</p>
<p>Minha aplicação de testes usa o Rails 2.1 (congelado) e o excelente plugin <a href="http://activescaffold.com/">active_scaffold</a>,. O processo foi bem simples e prático.</p>
<p>Criei o meu domínio pelo painel e deixei selecionada a opção &#8220;Ruby on Rails Passenger (mod_rails)?&#8221;. Copiei meus arquivos e foi só alterar o <em>environment.rb</em> para deixar o Rails em produção. <strong>Só isso!</strong></p>
<p>No <a href="http://wiki.dreamhost.com/Passenger">wiki da Dreamhost</a> (sempre bem atualizado, diga-se de passagem) há mais informações, inclusive ali você encontra a forma de reiniciar sua aplicação, quando você alterar os seus arquivos.</p>
<p>E se você ainda não usa a Dreamhost e quer conhecer essa ótima hospedagem, <a href="http://www.dreamhost.com/r.cgi?178238">siga por aqui para fazer o seu cadastro</a>. Esse <em>link</em> te dá um <strong>desconto de $50</strong> e um domínio grátis!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2008/ler/ruby-on-rails-na-dreamhost-agora-com-passenger/index.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails na Dreamhost</title>
		<link>http://blog.klaus.pro.br/2007/ler/ruby-on-rails-na-dreamhost/index.html</link>
		<comments>http://blog.klaus.pro.br/2007/ler/ruby-on-rails-na-dreamhost/index.html#comments</comments>
		<pubDate>Sat, 20 Jan 2007 17:04:02 +0000</pubDate>
		<dc:creator>Klaus Paiva</dc:creator>
				<category><![CDATA[Textos]]></category>
		<category><![CDATA[dispatch.fcgi]]></category>
		<category><![CDATA[Dreamhost]]></category>
		<category><![CDATA[Hospedagem]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[WEBrick]]></category>

		<guid isPermaLink="false">http://wp.blog.klaus.pro.br/2007/ler/ruby-on-rails-na-dreamhost/index.html</guid>
		<description><![CDATA[Certamente você já conhece ou ouvir falar da Dreamhost. Este é um dos melhores lugares para hospedar seu site, sem sombra de dúvidas. Em termos de números, você tem aproximadamente 200 GB de espaço em disco, aproximadamente 2 TB de transferência mensal, tudo isso em servidores de alta disponibilidade. Suporte a PHP, mySQL, mod_rewrite do [...]]]></description>
			<content:encoded><![CDATA[<p>Certamente você já conhece ou ouvir falar da <a href="http://www.dreamhost.com/r.cgi?178238">Dreamhost</a>. Este é um dos melhores lugares para hospedar seu site, sem sombra de dúvidas.</p>
<p>Em termos de números, você tem aproximadamente <strong>200 GB de espaço em disco</strong>, aproximadamente <strong>2 TB de transferência mensal</strong>, tudo isso em servidores de alta disponibilidade. Suporte a <a href="http://www.php.net/">PHP</a>, <a href="http://www.mysql.com/">mySQL</a>, <a href="http://wiki.dreamhost.com/index.php/Mod_rewrite">mod_rewrite</a> do <a href="http://httpd.apache.org">Apache</a> e muito mais!</p>
<p>Encerrando a propaganda, o mais importante de tudo é que é possível rodar aplicações feitas em <a href="http://www.rubyonrails.org/">Ruby on Rails</a>! Se depois de ler este post, você resolver fazer sua assinatura, use o código promocional &#8220;<strong>KLAUSPAIVA</strong>&#8221; e obtenha um <strong>desconto de $50</strong>! <a href="http://www.dreamhost.com/r.cgi?178238/hosting.html|KLAUSPAIVA">Veja mais sobre os planos de hospedagem aqui</a>.</p>
<h3 id="consideracoes" class="subtitles">Antes de começar</h3>
<p>Antes de continuar, quero salientar que este post é baseado na <a href="http://wiki.dreamhost.com/index.php/Ruby_on_Rails">página sobre Rails</a> do <a href="http://wiki.dreamhost.com">Wiki da Dreamhost</a>.</p>
<p>Não se trata de uma tradução direta. Basicamente é um resumo funcional e comentado. =)</p>
<p><strong>Nota:</strong> todos os comandos devem ser digitados sem as aspas&#8230;</p>
<h3 id="sua-aplicacao" class="subtitles">Desenvolvendo sua aplicação</h3>
<p>Você pode desenvolver sua aplicação naturalmente na sua máquina, usando o tradicional <a href="http://www.webrick.org/">WEBrick</a> ou o que achar melhor. Com a aplicação pronta (pelo menos para testes) é hora de fazer a criação do domínio e o <em>upload</em> de seus arquivos.</p>
<h3 id="dominio" class="subtitles">Criando seu (sub)domínio</h3>
<p>Para esta explicação, estou supondo que você está criando sua aplicação para funcionar diretamente abaixo de um domínio (ou subdomínio) qualquer.</p>
<p>Vá até a tela de criação de domínios e faça as seguintes configurações:</p>
<ul class="lists">
<li> Marque a opção <strong><em>FastCGI Support?</em></strong> (marcada em vermelho na imagem abaixo &#8211;clique para ampliar);</li>
<li> Em <strong><em>Web Directory</em></strong> adicione um <var>/public</var> ao final do caminho. Exemplo:<br />
/home/seuusuario/seudominio.com<strong>/public</strong></li>
</ul>
<p>As demais opções você pode configurar como achar melhor. Veja uma imagem de exemplo:</p>
<dl class="images">
<dt> <a href="http://blog.i.klaus.pro.br/configure-domain-new.png"><br />
<img src="http://blog.i.klaus.pro.br/configure-domain-new-thumb.jpg" alt="" /><br />
</a> </dt>
<dd> Exemplo de configuração de um domínio para trabalhar com Rails na Dreamhost </dd>
</dl>
<h3 id="login-via-ssh" class="subtitles">Login via SSH</h3>
<p>Para criar sua aplicação você precisará fazer login via <a href="http://en.wikipedia.org/wiki/SSH">SSH</a> na Dreamhost.</p>
<p>Se você usa um sistema operacional <a href="http://en.wikipedia.org/wiki/Unix-like">Unix-like</a>, ótimo! Basta executar o seguinte comando em uma janela do terminal:</p>
<p><code>ssh seuusuario@seudominio.com</code></p>
<p>Em seguida, você receberá o pedido da sua senha. Basta fornecê-la e pronto, você está dentro! =)</p>
<h3 id="ssh-no-windows" class="subtitles">Estou no Windows, e agora?</h3>
<p>Se você está no Windows, pode ficar tranquilo, você não está perdido. Pelo menos não no quesito <em>login via SSH</em>. ;P</p>
<p>Basta fazer o <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">download do PuTTy</a>. Baixe o primeiro arquivo da lista, o executável.</p>
<p>Quando terminar de baixar e abrir ele, você vai ver uma tela onde você pode inserir alguns dados. Basta preencher da seguinte forma:</p>
<ul class="lists">
<li> Em <strong><em>Host Name</em></strong>, preencha com o nome do seu domínio;</li>
<li> Selecione <strong>SSH</strong> dentre as opções de <strong><em>Protocol</em></strong>;</li>
<li> A porta é 22, ela já deve estar configurada assim.</li>
</ul>
<p>Agora é só clicar em <strong><em>Open</em></strong>. Preencha seu usuário e senha quando for pedido e pronto. Agora você também tem um terminal para ser usado no Windows. =)</p>
<h3 id="usuario-ssh" class="subtitles">Não consigo fazer o login</h3>
<p>Mesmo você digitando seus dados corretamente, pode ser que você ainda assim não consiga fazer o <em>login</em>.</p>
<p>Se isto acontecer com você, seu usuário provavelmente não está configurado para fazer conexões via SSH. Ajustar isso é bem simples.</p>
<p>Vá até a área de gerenciamento de usuários do <a href="https://panel.dreamhost.com/">painel administrativo da Dreamhost</a> e selecione seu usuário para editá-lo.</p>
<p>Agora é só deixar marcada a opção <strong><em>Enable ssh/telnet?</em></strong> e salvar as alterações. A alteração pode levar alguns minutos para ser efetivada.</p>
<h3 id="criar-aplicacao" class="subtitles">Criando sua aplicação</h3>
<p>Se você seguiu as instruções até aqui, seu domínio estará configurado no seguinte caminho:</p>
<p><code>/home/seuusuario/seudominio.com/public</code></p>
<p>Vamos acessá-lo e criar nossa aplicação Rails. Na tela do terminal, execute o seguinte comando:</p>
<p><code>cd</code></p>
<p>Não se esqueça de pressionar <em>Enter</em> após digitar o comando. Só a título didático, o comando anterior acessa a pasta particular (sua <em>home</em>) do seu usuário.</p>
<p>Agora vamos criar a aplicação tradicional de Rails:</p>
<p><code>rails seudominio.com</code></p>
<p>O nome da aplicação tem de ser <strong>exatamente</strong> o mesmo nome do domínio que você criou anteriormente.</p>
<p>Pronto, a aplicação está criada. Agora vamos fazer algumas configurações necessárias para o correto funcionamento na Dreamhost.</p>
<h3 id="htaccess" class="subtitles">Configurando o .htaccess</h3>
<p><strong>Atenção:</strong> as instruções a seguir requerem um conhecimento mínimo sobre edição de arquivos remotamente. Se esta é a sua primeira vez (hehe), leia <strong>todas</strong> as instruções antes de começar.</p>
<p>Vamos acessar a pasta <em>public</em> da sua aplicação. Use os seguintes comandos:</p>
<p><code>cd<br />
cd seudominio.com/public</code></p>
<p>Agora vamos editar um arquivo diretamente pela linha de comando. É simples, basta prestar atenção.</p>
<p><strong>Nota:</strong> meu objetivo aqui está longe de explicar como o <a href="http://www.vim.org/">VIM</a> trabalha e/ou funciona. Apenas vou passar a sequência mínima necessária para você concluir a tarefa.</p>
<p>Vamos editar o arquivo &#8220;<em>.htaccess</em>&#8221; no VIM:</p>
<p><code>vim .htaccess</code></p>
<p>O VIM será carregado com o arquivo pronto para edição. Vamos editá-lo! Siga as instruções abaixo com atenção:</p>
<ul class="lists">
<li> Desça até a linha 32 do arquivo (a indicação da linha atual aparece no canto inferior direito do editor);</li>
<li> Perto do final da linha mencionada você vai ver o texto &#8220;<strong>dispatch.cgi</strong>&#8220;. Posicione o cursor exatamente sobre a segunda letra &#8220;<strong>c</strong>&#8220;;</li>
<li> Pressione a tecla &#8220;<strong>i</strong>&#8221; do seu teclado. Isso ativa o modo de inserção de textos no VIM;</li>
<li> Agora pressione a tecla &#8220;<strong>f</strong>&#8221; e veja que o caracter &#8220;f&#8221; aparecerá antes do &#8220;c&#8221;. O texto ficará assim: &#8220;dispatch.<strong>f</strong>cgi&#8221;;</li>
<li> Estando tudo certo, pressione <em>Esc</em> duas vezes (a segunda é só pra garantir) e digite: &#8220;<strong> <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> </strong>&#8221; e confirme com <em>Enter</em>;</li>
<li> O arquivo será salvo, fechado e você voltará à linha de comando.</li>
</ul>
<p id="saindo-do-vim-sem-salvar">Se algo sair fora do esperado durante a edição de algum arquivo, faça o seguinte:</p>
<ul class="lists">
<li> Pressione <em>Esc</em> ao menos uma três vezes;</li>
<li> Digite &#8220;<strong>:q!</strong>&#8221; e pressione <em>Enter</em>;</li>
<li> Você sairá da edição do arquivo sem salvar qualquer alteração.</li>
</ul>
<h3 id="dispatch" class="subtitles">Configurando o dispatch.fcgi</h3>
<p>Agora vamos configurar o arquivo &#8220;<em>dispatch.fcgi</em>&#8220;. Desta vez vou facilitar sua vida. =)</p>
<p>Execute os seguintes comandos, na ordem, e pronto:</p>
<p><code>cd<br />
cd seudominio.com/public<br />
mv dispatch.fcgi dispatch.fcgi.default<br />
wget http://downloads.klaus.pro.br/dispatch.fcgi</code></p>
<p>O que foi feito acima, de forma resumida: movemos o arquivo original &#8220;<em>dispatch.fcgi</em>&#8221; para &#8220;<em>dispatch.fcgi.original</em>&#8221; e em seguida baixamos uma nova versão, com o nome do arquivo original, para seu lugar.</p>
<p><strong id="update-20070711">Update @ 11/07/2007</strong> : Agora que você baixou o arquivo e moveu o original, você precisa acertar as permissões de execução deste novo arquivo. É simples:</p>
<p><code>chmod 0755 dispatch.fcgi</code></p>
<h3 id="environment" class="subtitles">Configurando o environment.rb</h3>
<p>Abrindo o arquivo para edição:</p>
<p><code>cd<br />
cd seudominio.com/config<br />
vim environment.rb</code></p>
<p>Com o arquivo aberto, execute os seguintes passos:</p>
<ul class="lists">
<li> Desça até a linha 5;</li>
<li> Deixe o cursor sobre o primeiro caracter, &#8220;#&#8221;, e pressione a tecla &#8220;<strong>x</strong>&#8220;;</li>
<li> Pressione <em>Esc</em> duas vezes (a segunda é só pra garantir) e digite: &#8220;<strong> <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> </strong>&#8221; e confirme com <em>Enter</em>;</li>
</ul>
<p>Pronto, configuramos o Rails para trabalhar no ambiente de produção. (<a href="#saindo-do-vim-sem-salvar">algo deu errado?</a>)</p>
<h3 id="permissoes" class="subtitles">Ajustando permissões para os arquivos de log</h3>
<p>Uma sequência de comandos resolve:</p>
<p><code>cd<br />
cd seudominio.com<br />
chmod -R u+rwX,go-w public log</code></p>
<h3 id="banco-de-dados" class="subtitles">Configurando o banco de dados</h3>
<p>Estamos quase lá! =) Vamos agora configurar o nosso arquivo com as informações sobre o banco de dados. Primeiro vamos abrí-lo:</p>
<p><code>cd<br />
cd seudominio.com/config<br />
vim database.yml</code></p>
<p>Com o arquivo aberto, pressione &#8220;<strong>i</strong>&#8221; para entrar no modo de edição. Os comandos, agora, são praticamente os mesmos de um editor de textos comum. Modifique os valores que precisar e quando terminar, pressione <em>Esc</em> duas vezes (a segunda é só pra garantir) e digite: &#8220;<strong> <img src='http://blog.klaus.pro.br/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> </strong>&#8221; e confirme com <em>Enter</em>. (<a href="#saindo-do-vim-sem-salvar">algo deu errado?</a>)</p>
<p>Sua aplicação em Rails já deve estar funcional neste momento! Acesse seu domínio e veja a tela de boas-vindas do Rails.</p>
<h3 id="upload" class="subtitles">Subindo os arquivos</h3>
<p>Finalmente é a hora de fazer o <em>upload</em> de seus arquivos. Você provavelmente irá querer subir os seguintes arquivos:</p>
<ul class="lists">
<li> A pasta <em>app</em> inteira;</li>
<li> As pastas <em>images</em>, <em>javascripts</em> e <em>stylesheets</em>;</li>
<li> O arquivo <em>config/routes.rb</em>.</li>
</ul>
<p>O mais importante é você não sobreescrever os arquivos que editamos há pouco.</p>
<p>Talvez você queira remover o (ou subir a sua versão do) arquivo <em>public/index.html</em>.</p>
<h3 id="rails-application-error" class="subtitles">Mantendo sua aplicação viva e ativa</h3>
<p>Se sua aplicação não possui acessos constantes, o gerenciador de recursos da Dreamhost pode derrubar sua aplicação por inatividade. Uma forma simples de contornar isso é adicionar uma tarefa que fica sendo executada de tempos em tempos e mantém sua aplicação ativa.</p>
<p>Uma <a href="http://en.wikipedia.org/wiki/Cron"><em>cron job</em></a> resolve nosso problema. Vamos adicionar uma! Siga os passos:</p>
<ul class="lists">
<li> Faça o <a href="#login-via-ssh">login via SSH</a> na Dreamhost, caso ainda não tenha feito;</li>
<li> Execute o comando: &#8220;crontab -e&#8221; para abrir o arquivo de tarefas do seu usuário para edição;</li>
<li> Vá até a última e pressione &#8220;<strong>o</strong>&#8220;;</li>
<li> Adicione a seguinte linha (eu quebrei em duas linhas para facilitar a visualização, digite tudo direto, sem forçar uma quebra de linha):</li>
</ul>
<p><code>0,5,10,15,20,25,30,35,40,45,50,55 * * * *<br />
curl -s "http://seudominio.com/?`date +%s`"</code></p>
<p>Preste atenção e use o comando <strong>exatamente</strong> como mostrado acima. (<a href="#saindo-do-vim-sem-salvar">algo deu errado?</a>)</p>
<p>O segredo do truque acima está no final, aonde usamos a data atual para gerar um número diferente a cada requisição.</p>
<p>Como a URL é sempre diferente não há <em>cache</em>, o que vai manter sua aplicação sempre ativa.</p>
<p>Se você quiser, você poderá usar uma URL especial ali. Uma página simples que se mostre a data e hora, por exemplo.</p>
<p>A <a href="http://wiki.dreamhost.com/index.php/Ruby_on_Rails#cron-keep-alive">solução original</a>.</p>
<h3 id="resumindo" class="subtitles">Resumindo</h3>
<p>A Dreamhost é uma excelente empresa de hospedagem. Com uma série de vantagens agressivas, é certamente uma excelente opção para muitos desenvolvedores.</p>
<p>Configurar o Rails é uma tarefa que exige alguns truques. Eu levei algum tempo para entender e aplicar a dica final, de forma a manter a minha aplicação viva.</p>
<p>Agora, com a adição deste pequeno truque, tudo fica muito bom, simples e funcional! =)</p>
<dl id="refencias" class="references">
<dt>Referências</dt>
<dd> <a href="http://www.dreamhost.com/r.cgi?178238/hosting.html|KLAUSPAIVA">Dreamhost</a> &#8211; Use o código &#8220;<strong>KLAUSPAIVA</strong>&#8221; e obtenha um <strong>desconto de $50</strong> </dd>
<dd> <a href="http://www.rubyonrails.org/">Ruby on Rails</a> </dd>
<dd> <a href="http://wiki.dreamhost.com/index.php/Mod_rewrite">mod_rewrite do Apache</a> </dd>
<dd> <a href="http://wiki.dreamhost.com/index.php/Ruby_on_Rails">Instalando o Rails segundo o wiki da Dreamhost</a> </dd>
<dd> <a href="http://en.wikipedia.org/wiki/SSH">SSH</a> </dd>
<dd> <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">PuTTY (SSH pelo Windows)</a> </dd>
<dd> <a href="http://en.wikipedia.org/wiki/Cron">Cron jobs</a> </dd>
<dd> <a href="http://wiki.dreamhost.com/index.php/Ruby_on_Rails#cron-keep-alive">Cron job para manter viva a aplicação</a> </dd>
<dd> <a href="http://www.apmaths.uwo.ca/~xli/vim/quickstart.html">Conheça melhor o VIM</a> </dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://blog.klaus.pro.br/2007/ler/ruby-on-rails-na-dreamhost/index.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
