Instalar Discourse no Oracle Cloud Free Tier

--- A Oracle oferece um plano gratuito que inclui duas máquinas virtuais de baixa especificação capazes de executar o Discourse. Este teste não tem limite de tempo.

:warning: Estas máquinas virtuais são muito lentas e aconselho a não as usar para hospedar uma comunidade.
Dito isto, pode ser suficiente para hospedar uma comunidade muito pequena que não se importa com a lentidão, ou para projetos/testes pessoais.


Requisitos

  • Um número de cartão de crédito - não será cobrado nada, mas é necessário para registar a conta gratuita
  • Um nome de domínio
  • Um provedor de e-mail
  • A instalação do Discourse será idêntica ao guia oficial, mas este tutorial irá guiá-lo através da interface e configuração da Oracle.

Para este tutorial, consideraremos que você está usando o Windows 10 e usaremos o PuTTY para nos conectarmos ao seu servidor via SSH.

Crie seu teste gratuito

Primeiro, crie uma conta de teste em Oracle Cloud Free Tier | Oracle
A criação da sua conta não é instantânea e pode ter de esperar alguns minutos ou horas (ou dias, em alguns casos) para que a sua conta seja validada.

Quando a sua conta for criada, vá para https://cloud.oracle.com e faça login.

Crie seu servidor

Clique em “Criar uma Instância de VM” (VM significa “Máquina Virtual”):

Configure seu servidor

(Opcional) renomeie sua instância para algo significativo, para que você saiba a que ela se refere em sua lista de máquinas virtuais:

Eu vou nomear a minha com o mesmo nome do domínio que usarei: “Canapin.win”:
image

Em Imagem e formato, altere o sistema operacional padrão para Ubuntu clicando em editar:

Escolha Canonical Ubuntu e, em seguida, clique em Selecionar Imagem na parte inferior da página:

Em Adicionar chaves SSH, várias opções estão disponíveis:

Clique em Salvar Chave Privada e Salvar Chave Pública.
Isso fará o download de uma chave pública .pub e uma chave privada .key. Armazene-as em alguma pasta.

Converta a chave privada para o PuTTY

:raised_hand: Vamos parar de navegar na interface da Oracle por enquanto e voltaremos a ela mais tarde.

Neste tutorial, nos conectaremos ao nosso servidor com o PuTTY. Como a chave privada gerada é incompatível com o PuTTY, usaremos uma ferramenta chamada PuTTYgen para converter a chave para que seja compatível com o PuTTY.

Instale o PuTTY no site oficial: Download PuTTY: latest release (0.83)

Após instalar o PuTTY, você deverá conseguir procurar o PuTTYgen na pesquisa do Windows:


Se não aparecer aqui, você pode localizá-lo aqui: C:\Program Files\PuTTY\puttygen.exe

Inicie o PuTTYgen.
Selecione Conversões → Importar chave:
Localize seu arquivo .key baixado da interface da Oracle e clique em Abrir para validar a seleção do arquivo.

Alguns campos aparecerão e serão preenchidos automaticamente. Não os modifique, a menos que saiba o que está fazendo.

(Opcional) adicione uma frase secreta à sua chave. Pense nisso como uma senha para aumentar a segurança, que será solicitada toda vez que você fizer login no seu servidor.
Em seguida, clique em Salvar chave privada e armazene-a em uma pasta:

Finalize a criação do servidor

:point_right: Hora de voltar à interface da Oracle.

Role até o final da página e clique no botão Criar:

Aguarde cerca de um minuto para que o servidor seja criado. A página e suas informações serão atualizadas em tempo real. Não é necessário atualizar:

Certifique-se de que seu domínio aponte para o IP do seu servidor recém-criado

Faça seu domínio apontar para o endereço IP do servidor e aguarde a propagação do DNS.
:information_source: Isso não será explicado neste tutorial e deve ser feito na configuração de DNS do provedor do seu nome de domínio.

Anote o nome de usuário do servidor criado

Anote o nome de usuário que o servidor criou automaticamente. Aqui, o nome de usuário é ubuntu.

Configure o firewall da Oracle

Agora, aqui vai uma seção de configuração muito específica da Oracle para fazer o Discourse funcionar. Abrimos algumas portas em um firewall.
Clique em Sub-rede Pública na seção VNIC Principal:

Clique no link Lista de Segurança na seção Listas de Segurança:

Clique em Adicionar Regras de Entrada na seção Regras de Entrada:

Preencha as regras da seguinte forma:

  • Defina SOURCE CIDR para 0.0.0.0/0
  • Defina DESTINATION PORT RANGE para 80, 443
    Clique em “Adicionar Regras de Entrada”:

Verifique se suas regras foram adicionadas corretamente:

Conecte-se ao seu servidor via SSH com PuTTY

Inicie o PuTTY e preencha o Nome do Host (ou endereço IP) com o endereço IP do seu servidor recém-criado:

No menu de árvore à esquerda, vá para ConexãoSSHAuth.
Nos “Parâmetros de autenticação”, localize sua chave privada (o arquivo com a extensão .ppk que você gerou com o PuTTYgen) clicando em Procurar…:

Clique em Abrir:

Clique em Aceitar:
image

Faça login digitando seu nome de usuário (ubuntu) e pressione Enter:


Digite a frase secreta, se você escolheu uma no PuTTYgen.

O PuTTY verificará sua chave privada e você deverá estar logado:

Configure o firewall do Ubuntu (iptables)

Neste ponto, ainda não podemos instalar o Discourse. Precisamos abrir algumas portas diretamente no Ubuntu.

Faça login como root digitando sudo su e pressione Enter.

Adicione estas regras ao iptables digitando:

iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

Nota: o " 5 " significa que ambas as regras serão adicionadas a partir da linha 5, logo antes da regra de firewall de entrada DENY ALL. O número da linha pode ter que ser alterado no futuro se a Oracle alterar a configuração padrão do iptables em sua imagem Ubuntu no futuro

image

Salve as regras atualizadas com:

netfilter-persistent save

image

Instale o Discourse

Agora, seu servidor deve estar pronto para instalar o Discourse.
Basta seguir os passos oficiais: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

(40 minutos de tempo de compilação depois… :snail:)


:warning: Novamente, os servidores gratuitos da Oracle são lentos. A instalação e a reconstrução levam uma eternidade.
Mesmo a instalação de temas ou componentes pela interface pode, às vezes, expirar o tempo limite.
Esteja avisado… E seja paciente. :person_in_lotus_position:


Discussão relacionada com várias informações e recursos: Self hosting for free (with caveats!) with Oracle Cloud

9 curtidas