Associando um domínio ao seu site do Github:Pages

Esta é a Parte 3 da nossa série de artigos sobre como criar uma página pessoal com Hugo e Github Pages.

Marco Paulo Ollivier
Responsive
6 min readJul 10, 2019

--

No primeiro artigo, mostramos como criar uma página utilizando o gerador de páginas estáticas Hugo.

Na segunda, mostramos como publicar o conteúdo estático gerado no Github:Pages

Nessa terceira parte, mostraremos também como configurar um domínio próprio para que seu site não fique com um endereço padrão do Github Pages. Esse será o único momento em que precisaremos de algum tipo de investimento — além do nosso tempo, claro — , pois precisaremos comprar um domínio e para isso usaremos o Registro.BR. Também comentaremos alguns dos problemas que tivemos no processo.

O Registro.BR

Segundo a própria página do Registro.BR:

O Registro.br é o departamento do NIC.br responsável pelas atividades de registro e manutenção dos nomes de domínios que usam o .br. Também executamos o serviço de distribuição de endereços IPv4 e IPv6 e de números de Sistemas Autônomos (ASN) no país.

Para registrar um domínio é simples, basta criar uma conta no Registro.BR, entrar na página de registro e pesquisar pelo endereço que você deseja

Página do Regidtro.BR

Hoje um registro .br está custando, se disponível, algo em torno de R$40.

Associando um domínio criado ao seu GitHub:Pages

Para associar o nosso domínio ao nosso projeto no Github:Pages, nós precisamos fazer pequenas configurações nos dois lugares. Vamos começar pelo GitHub:Pages

Configurando no GitHub:Pages

Para isso, temos duas opções: uma simples e outra mais simples ainda.

A maneira simples é criando um arquivo chamado cname com o domínio dentro dele. E depois criar o fluxo de commit e push do Git.

E a maneira mais simples ainda é usando o painel do próprio Github:Pages. Na opção Custom Domain

Nesse momento o próprio Github vai sugerir a documentação para você se informar sobre as configurações de DNS

Detalhe: com a configuração que fizemos no painel, o arquivo CNAME também é criado dentro do repositório.

Vamos a configuração no Registro.BR, mas voltaremos aqui no futuro.

Um pouco de teoria

A Configuração anterior já nos dá uma dica da nossa próxima configuração. No Link que fala sobre "Troubleshooting custom domains", nós teremos informações importantes para configuração de DNS.

Antes, vamos entender um pouco o que estamos fazendo:

Segundo o Guia do Hardware:

"O DNS (domain name system) permite usar nomes amigáveis em vez de endereços IP para acessar servidores, um recurso básico que existe praticamente desde os primórdios da internet. Quando você se conecta à internet e acessa o endereço https://www.hardware.com.br, é um servidor DNS que converte o 'nome fantasia' no endereço IP real do servidor, permitindo que seu micro possa acessar o site."

https://www.hardware.com.br/termos/dns

Nós queremos associar o nosso domínio registrado no Registro.BR a nossa página do Github:Pages. Por tanto, nós queremos associar um IP da DNS do Github ao nosso domínio.

Para configurarmos um Registro Tipo A, segundo a própria documentação do Github, os IPs disponíveis são:

  • 185.199.108.153
  • 185.199.109.153
  • 185.199.110.153
  • 185.199.111.153

Lembrando que pode levar até 24h para que o endereço seja totalmente propagado para o IP associado.

Segundo a página de suporte do Google, um Registro Tipo A é:

"Um registro A ou de endereço, também conhecido como registro de host, vincula um domínio ao endereço IP físico de um computador que hospeda os serviços desse domínio. Nos serviços do Google Cloud, é possível adicionar um registro A para ativar o endereço do seu domínio sem “www”.

https://support.google.com/a/answer/48090?hl=pt-BR#H

Configurando no Registro.BR

Agora que sabemos o que estamos configurando, precisamos preparar nosso domínio registrado. Para isso, vamos entrar no painel de configurações do Registro.BR.

Na aba de DNS, vamos clicar em Editar Zona

Painel de configuração de DNS no Registro.BR

Agora vamos adicionar uma nova entrada. Em seguida, selecionamos o Tipo A e adicionamos um dos IPs de DNS do Github como mostrado na documentação anterior.

Talvez seja interessante também definir um subdomínio www. Mesmo tipo (A) e mesmo IP de DNS definido para o Domínio APEX.

Painel de domínios

E por aqui não precisamos mais fazer nada. Lembrando que a propagação pode levar até 24h para ser concluída.

Pós-configuração

Ainda tem uma última configuração que não podemos deixar passar. Quando você faz a sua configuração no painel do Github, ele nos dá uma opção muito importante: Enforce HTTPS

Área de configuração de domínio customizável

Ao marcar esse checkbox, nossa página fará o redirecionamento automático de HTTP para HTTPs. Até então sua página retornava conteúdos em ambos, mas provavelmente apresentava problemas por ausência de certificado. Com essa configuração tudo isso é resolvido quase que automaticamente. Lembrando mais uma vez, que essa alteração também está dentro do prazo de 24h para propagação.

Você pode não ver grande vantagem já que está apenas expondo uma página estática para internet, mas não é apenas uma questão de segurança. Você ter esse redirecionamento configurado também é muito importante para os algoritmos de SEO. Então se você não quer ser penalizado quando alguém procurar pela sua página na internet, use esse recurso.

Conclusão

Bom. Chegamos ao momento em que publicamos a página que começamos a criar no primeiro artigo sobre Hugo. Mostramos que todo o processo foi muito simples e rápido inclusive a publicação em um domínio personalizado. Espero que o texto tenha ficado claro e elucidativo.

Até o próximo texto =)

--

--

Marco Paulo Ollivier
Responsive

Software Engineer @flash || Gopher || @gopheriomeetup organizer