Criando um servidor linux de graça

Passo a passo de como criar eu servidor Linux na nuvem, de graça, para sempre, com a Oracle Cloud Always Free.

Cabeçalho

Título: Criando um servidor Linux de Graça.

Premissas: O usuário a seguir com esse tutorial possui acesso a um computador com acesso a internet e um endereço de correio eletrônico.

Proposta: Mostrar em detalhes como criar um servidor linux, de acesso público, utilizando a nuvem da Oracle e sua oferta ‘always free’, sem custo ao usuário.

Objetivo final: Ao final desse tutorial, você terá um servidor linux (Ubuntu) instalado linux e rodando na núvem Oracle, com acesso remoto ao mesmo.

Autor: Castilho

Data de postagem: 24/11/2020

Última Revisão: 24/11/2020

Revisão por: Castilho

Classificação de Complexidade: Médio, como andar de bicicleta com apenas 1 das mãos.

Pré-requisitos

Antes de criar a sua instância virtual na nuvem da Oracle, você precisa criar uma conta nos serviços deles, caso ainda não tenha. Para isso, acesse https://oracle.com/cloud/ e clique no botão escrito “Try Oracle Cloud Free Tier”

Imagem mostrando o botão 'Try Oracle Cloud Free Tier' no site da Oracle Cloud.

Depois é só clicar em “Start for Free”.

Preencha o cadastro, leia os termos e, se estiver de acordo,crie sua conta.

A Oracle oferece os seguintes serviços ‘Always-Free’, ou seja, sempre de graça:

  • Banco de Dados Autônomo;
  • Maquinas Virtuais;
  • Armazenamento de Objetos;

Nesse tutorial exploraremos apenas o serviço de máquinas virtuais. O Plano ‘Always-Free’ limita em 2 o número máximo de máquinas virtuais que você pode ter.

Caso você utilize Windows, pode ser preciso habilitar o OpenSSH para que você consiga acessar a sua máquina virtual a partir do prompt de comando.

1 Para isso, habilite-o nos serviços adicionais do Windows. Aperte o botão no seu teclado e (1) faça uma busca por "aplicativos e recursos" e (2) selecione a configuração do sistema, conforme
2 Com a janela de configuração aberta, selecione "Recursos opcionais", conforme
3 Nesse próximo passo você deve "Adicionar um recurso" e adiconar o "Cliente OpenSSH", caso ele ainda não esteja habilitado.

Criando a máquina virtual

Ao se logar com sua conta Oracle no Oracle Cloud (https://oracle.com/cloud/) será apresentado a você um ‘Dashboard’ com ‘Ações Rápidas’.

Para criar o servidor, você deve clicar em ‘Criar uma instância de VM’. Atentar para a marca ‘Always Free Elegível’

Imagem mostra o painel do Oracle Cloud, com um quadro vermelho em volta da opção 'Criar uma instância de VM', há também um quadro vermelho demarcando a opção 'Always Free Elegível'

Após clicar na opção acima, o Assistente iniciará para que você configure a sua máquina virtual.

Preencha com o nome como você quer chamá-la. Pode ser como preferir.

Na seção “Configure placement and hardware” clique em ‘Expandir’ para que você possa confirmar o domínio de disponibilidade (atentar ao ‘Always Free Elegível’ - não queremos ser cobrados por esse servidor).

Mais abaixo, você poderá também escolher a imagem do seu sistema operacional.

Imagem mostra um número 1 apontando para o campo 'nome', o número 2 indicando o 'compartimento', o número 3 indicando 'Expandir' e o número 4 a opção 'alterar imagem'

Nesse tutorial alteramos para o Ubuntu 20.04 Minimal.

 Imagem mostra a seleção do Sistema Operacional Canonical Ubuntu 20.04 Minimal na janela de seleção de sistemas do Oracle Cloud. Mais abaixo um quadrado azul aponta para o botão 'Selecionar Imagem'

Na escolha de ‘Forma’ devemos nos atentar que selecionamos uma máquina virtual também marcada como ‘Always Free Elegível’.

Imagem mostra um quadrado azul demarcando o texto 'Always Free Elegível' na escolha da máquina virtual Oracle Cloud

Como pode notar, é um servidor bem simples, mas serve para que você possa começar seus estudos e até mesmo hospedar seu próprio blog ou serviço.

Chegou a hora de configurar a rede do seu servidor. Clique em ‘Expandir’ na seção ‘Configurar Rede’.

Como a sua conta é nova, você não possui nenhuma rede criada, portanto marque a opção “Create a New Virtual Cloud Network”.

Imagem mostra a tela de 'configurar rede' da etapa de criação de instância no Oracle Cloud, bem como a marcação do campo 'Create New Vitual Cloud Network', adição do nome em 'New Virtual Cloud Network Name', adição do nome de subrede, IPs de subrede e a marcação da caixa 'Não designar um endereço IP público'

Em ‘New Virtual Cloud Network Name’ coloque como você quer chamar sua rede virtual e em subnet name, como quer chamar sua subnet.

O endereço no bloco CIDR você pode colocar qualquer ‘range’ de IP privado, como por exemplo 10.0.0.0/24.

Na parte de ‘Endereço IP Público’ você terá 2 opções: Atribuir um IP público, ou não atribuir.

O próximo passo será salvar as chaves SSH para acesso do seu servidor.

Para isso, marque ‘Gerar Par de chaves SSH’ e clique em ‘Salvar Chave Privada’. Posteriormente salve a chave pública também.

Imagem mostra a tela de 'Adicionar chaves SSH' da etapa de criação de instância Oracle Cloud, a caixa 'Gerar Par de chaves SSH' está marcada e é demarcado o botão 'Salvar Chave Privada'

Após finalizar essas etapas, clique em ‘Criar’.

Imagem mostra o campo 'Criar' destacado em vermelho

Em alguns minutos a sua máquina virtual, rodando um servidor linux será criada.

Para acompanhar o processo, clique no Menu da Oracle Cloud -> Computação -> Instâncias.

Imagem mostra o painel da Oracle Cloud destacando o acesso a parte superior esquerda, demarcada por 3 traços, em seguida o campo 'Computação' e posteriormente 'Instâncias'

De primeiro momento pode aparecer a informação de que a máquina ainda está sendo construída. Isso será sinalizado com o ‘Estado’ em ‘Provisionando’.

Imagem mostra a tela de instâncias do Oracle Cloud demarcando o texto 'Always Free' e o estado em 'Provisionando' na cor laranja

Assim que a máquina estiver operacional, você a verá no estado ‘Executando’.

Imagem mostra a tela de instâncias do Oracle Cloud com o campo estado em 'Executando' na cor verde

Chegou agora o momento de configurarmos o IP público e reservado para a sua máquina. Clique na instância para entrar nos detalhes da mesma.

Imagem mostra a seção 'Detalhes da Instância' no estado 'Executando'

Desça a página até encontrar, do seu lado esquerdo, o menu de ‘Recursos’. Escolha ‘VNICs Anexadas’ e posteriormente clique na VNIC criada.

Imagem mostra a seção 'Detalhes da Instância' na seção 'Recursos' selecionando 'VNICs Anexadas' e indica o nome da VNIC principal

Desça a página até encontrar, do seu lado esquerdo, o menu de ‘Recursos’. Escolha ‘Endereços IP’ e no lado direito da tela verá um menu sinalizado por 3 pontos horizontais. Clique e escolha ‘Editar’, conforme figura abaixo.

Imagem mostra a seção 'Recursos' apontando para o link 'Endereços IP'. Indicação também para os 3 pontos horizontais e a opção 'Editar'

Nessa tela, você deverá escolher dentre as opções disponíveis.

  • Nenhum IP público: Essa opção não nos cabe, pois queremos, nesse tutorial, que a máquina seja acessível publicamente.
  • IP Público Efêmero: Essa opção funciona, mas é impostante saber que a vida deste IP está vinculada ao tempo de vida do IP privado, ou seja, se você precisar destruir sua máquina e contruir outra, o IP será perdido.
  • IP Público Reservado: Nessa opção você controla a vida útil do IP. Ou seja, você ‘reserva’ um IP que pode ser atribuido a essa máquina e se a mesma for reconstruida você pode atribuir o mesmo IP a nova máquina.

Nesse tutorial escolhemos por ‘Criar NOVO endereço IP reservado’ porém ambas as opções (Efêmero ou Reservado) funcionam. Imagem mostra a seção 'Editar Endereço IP Privado' e caixa selecionada 'IP Público Reservado', bem como a caixa selecionada 'Criar Novo endereço IP Reservado'. O nome IP Publico é dermarcado e também o botão 'Atualizar'

Atribua um nome ao seu IP e clique em ‘Atualizar’.

Após concluir você verá que um IP público foi adicionado ao seu servidor. É por esse IP que você fará o acesso ao seu servidor, portanto, saiba onde encontrá-lo.

Imagem mostra a seção 'Endereços IP' mostrando que um IP Público foi alocado.

Acessando o servidor

Chegou o momento de acessar o servidor que você criou e fazer o que quiser com ele. A capacidade computacional, memória RAM, largura de banda e o céu são os limites.

Se você utiliza Windows, no começo desse tutorial, em 'Pré Requisitos' há uma nota no qual ensina como habilitar o OpenSSH no Windows. O acesso ao servidor será via SSH, portanto ele precisa ser habilitado.

Se você utiliza Linux, o SSH normalmente já vem habilitado e você pode utilizar o console.

Nas imagens desse tutorial os acessos foram realizados a partir do Linux.

O primeiro passo é navegar até onde você salvou a chave privada SSH que foi disponibilizada na etapa de criação do servidor.

Para acessar o servidor, como comentado anteriormente, você utilizará o SSH. Então o acesso as chaves deve ser feito via console ou command prompt do Windows. Há ferramentas gráficas em ambos sistemas, porém por ser algo simples, talvez seja mais fácil utilizar o prompt de comando.

Para navegar até a pasta onde você salvou as chaves:

No Windows, por exemplo:

 cd C:\Usuarios\seu_usuario\Documentos\chaves_oracle\

No Linux, por exemplo:

cd \home\seu_usuario\Documentos\chaves_oracle\

O comando para acessar o seu servidor é:


ssh ubuntu@XXX.YYY.ZZZ.WWW -i chaveprivada.key

XXX.YYY.ZZZ.WWW é o seu IP público.

chaveprivada.key é o nome da chave que você salvou.

Ao solicitar a aceitação do certificado, digite ‘yes’

Imagem mostra a execução do comando SSH para acessar o servidor e mostrando a mensagem: 'Are you sure you want to continue connection (yes/no)? com a entrada 'yes'

Caso você receba um falha de permissão, é provável que o seu arquivo esteja muito ‘aberto’ e é preciso restringir as permissões dele.

Imagem mostra falha 'Permission denied' ao tentar se conectar via SSH.

Para ajustar a permissão.

No Windows:

Usando o Windows Explorer, navegue até a pasta onde a sua chave está. Clique com o botão direito na mesma e clique em ‘Propriedades’

Imagem mostra o clique com o botão direito sob o arquivo da chave privada e selecionando 'Propriedades'

Na Aba ‘Segurança’ clique em ‘Avançadas’. Na janela que abrir clique em ‘Alterar’ e ‘Desabilitar Herança’.

Imagem mostra as propriedades do arquivo, passo 1 remete a clicar em 'Avançadas'. Nova janela é disponibilizada indicando o passo 2 ao clicar em 'Alterar'. Passo 3 indica o botão 'Desabilitar Herança'

Ao ser solicitado, remova todas as permissões herdadas do objeto.

Imagem mostra opção de segurança do Windows e indicando a opção 'Remover todas as permissões herdadas do objeto'

No Linux:
chmod 600 chaveprivada.key

Após concluído o acerto de permissões, você deve ter acesso ao seu servidor, tentando novamente acessá-lo via SSH.


ssh ubuntu@XXX.YYY.ZZZ.WWW -i chaveprivada.key

Acesso com sucesso pelo Windows:

Imagem mostra a conexão com sucesso via SSH a partir do command prompt to Windows

Acesso com sucesso pelo Linux:

Imagem mostra o ajuste de permissões no Linux e também o comando ssh para ingressar ao servidor
Imagem mostra o usuário conectado ao servidor enviando o comando 'echo'

Conclusão

Dica Extra

(Opcional) Como o servidor não é muito potente, você pode criar uma área de ‘swap’ para ele e tentar melhorar um pouquinho a performance. Para isso execute:


sudo su
dd if=/dev/zero of=/swap bs=1M count=1k
chmod 0600 /swap
mkswap /swap
swapon /swap
echo '/swap none swap sw 0 0' >> /etc/fstab