Pôr uma aplicação Ruby on Rails a rodar

Node.js, Python e Docker··· 729 visualizações· 4 min de leitura

O Ruby on Rails não está no instalador de aplicações do cPanel, porque aquele instalador é para aplicações em PHP. O Ruby tem ferramenta própria, no grupo Software do cPanel: o Setup Ruby App.

Essa página cria um ambiente Ruby só seu, escolhe a versão do interpretador e liga a aplicação a um endereço do seu domínio. As versões disponíveis no dia em que este artigo foi escrito vão da 2.2 até a 3.4.

Há uma coisa que tem de saber antes de começar: o comando rails não está instalado no servidor. Isto não é um defeito, é como o Ruby funciona: o Rails é uma biblioteca, e instala-se dentro do ambiente da sua aplicação, não no sistema. Enquanto não o instalar lá, escrever rails na linha de comandos não faz nada, e isso confunde todo mundo na primeira vez.

Criar o ambiente, passo a passo

1 Entre no My MozOut em https://www.my.mozout.com e abra o cPanel do plano.
2 No grupo Software, abra o Setup Ruby App e crie uma aplicação.
3 Escolha a versão do Ruby. Para um projeto novo, escolha das mais recentes da lista: é nelas que as bibliotecas ainda são publicadas.
4 Indique a pasta do código, que deve ficar fora da pasta pública do site, e o endereço onde a aplicação vai responder.
5 Crie. A página passa a mostrar-lhe o comando que ativa este ambiente na linha de comandos. Guarde-o.

A partir daqui, a aplicação é servida pelo Passenger, que é o que faz a ponte entre o servidor web e o Ruby. O Passenger procura um arquivo de inicialização na raiz do projeto, o config.ru, que qualquer projeto Rails já traz.

Instalar o Rails e as gemas

1 Confirme que a conta tem acesso SSH. Há contas com shell e contas sem: sem ele, este caminho não dá e o melhor é abrir um pedido em https://www.my.mozout.com/submitticket.php.
2 Ligue-se por SSH e execute primeiro o comando de ativação que a página do seletor lhe deu. Este passo é o que faz toda a diferença: sem ele, está usando o Ruby do sistema e não o da sua aplicação.
3 Instale o Rails como gema, dentro desse ambiente. Passa a existir o comando rails, mas só enquanto o ambiente estiver ativo.
4 Envie o projeto para a pasta que indicou, ou crie um projeto novo ali, e instale as gemas a partir do arquivo de dependências do projeto.
5 Crie o banco de dados no cPanel e aponte a configuração do Rails para ele: criar bancos de dados e usar o phpMyAdmin. Depois rode as migrações.
6 Reinicie a aplicação na página do seletor. Sem reiniciar, o Passenger continua servindo o que tinha em memória.
Se abrir uma sessão nova de SSH, tem de ativar o ambiente outra vez. Metade dos problemas de quem está começando resume-se a isto: instalou uma gema numa sessão em que se esqueceu de ativar, e a aplicação continua dizendo que não a encontra.

Antes de pôr no ar

Assunto O que fazer
Ambiente de produção Ponha a aplicação em modo de produção. Em desenvolvimento, o Rails recarrega código a cada pedido e mostra os erros ao visitante, com o código à volta.
Arquivos estáticos Compile os recursos antes de pôr no ar. Em produção o Rails espera encontrá-los já preparados, e uma página sem estilos nenhuns é quase sempre este passo esquecido.
Segredos A chave que decifra as credenciais do Rails não vive no repositório. Ponha-a nas variáveis de ambiente da aplicação, na página do seletor.
Tarefas periódicas Use as tarefas agendadas do cPanel, chamando o comando dentro do ambiente ativado: tarefas agendadas.
Registros Os registros do Rails crescem sem parar e enchem a conta em silêncio. Limpe-os por agenda, ou dá por eles quando o disco encher.
Trabalhadores de fila e processos permanentes não cabem num plano compartilhado. A aplicação web inicia a pedido e vive bem; um processo de tarefas de fundo a rodar sem parar bate no teto de processos da conta e é interrompido, sem aviso que se veja. Se a aplicação precisa disso, o lugar dela é um servidor próprio: VPS, Cloud ou Dedicado. Sobre os tetos, veja os limites da conta.

Para o panorama do que corre aqui, veja que tecnologias correm aqui. Se a aplicação é em outra linguagem, veja Django ou Laravel.

Ambiente criado e a aplicação não inicia? Diga-nos o domínio e a pasta, e lemos o registro do Passenger consigo.

Abrir um pedido de suporte

VEJA TAMBÉM

Planos de hospedagem e o que cada um inclui

Servidor VPS

Política de Suporte

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.