[ HOMELAB ] Como hospedar um site em casa ?
Bom, você já deve ter se perguntado se isso é possível, e é claro que a resposta é SIM!
E vou te mostrar como fiz isso, com um notebook velho e um pouco de curiosidade.
O que é preciso ?
Antes de mais nada você precisa de:
- 1 PC com acesso a internet para ser o servidor, pode ser um pc ou notebook normal, ou até mesmo um SoC (System on Chip) como um Raspberry PI ou um Orange PI da vida;
- IP Fixo/Público que é adquirido com o seu provedor, no meu caso R$ 50,00;
- 1 Roteador, no meu caso é um Mikrotik RB 750GR3, mas pode ser qualquer outro que te permita gerenciar portas.
- 1 Domínio, esse você pode comprar na hostgator por exemplo, gira em torno de 30 reais por ano.
Com os equipamentos em mãos, quais os próximos passos ?
Agora você precisa instalar um SO de servidor no PC, como um Ubuntu Server por exemplo, depois de instalado você vai precisar do Apache:
sudo apt install apache2
depois de instalado, verificar se está rodando:
sudo systemctl status apache2
Tudo certo, agora precisa copiar os arquivos do site para o diretório /var/www/(nome-do-site), nesse exemplo estou copiando apenas o index.html, mas você deve copiar todos os arquivos do seu site:
sudo cp /home/(seu-usuario)/index.html /var/www/(nome-do-site)
Seguindo, vamos criar a configuração do site no diretório /etc/apache2/sites-available:
sudo nano seu-site.conf
Configuração:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/(nome-do-site)
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Vamos desativar o site padrão do apache e ativar o nosso site e reiniciar o apache:
sudo a2dissite 000-default.conf
sudo a2ensite seu-site.conf
sudo systemctl reload apache2
Pronto! Agora você deve conseguir acessar o seu site usando http://seu-ip no navegador.
Acessando de qualquer rede externa
Para torná-lo acessível de fora, precisamos configurar o redirecionamento de portas dentro do roteador, para que quando uma requisição chegar na porta X ser direcionado para o IP do servidor na rede interna. Na prática pode mudar de roteador para roteador, deixo aqui um vídeo ensinando a configurar no Mikrotik.
Pronto! Agora está acessível de uma rede externa usando http://seu-ip no navegador.
O penúltimo passo seria configurar o apontamento DNS, que pode varia de acordo com a plataforma que você está usando, e o último passo seria gerar um certificado SSL para que consiga acessar usando https, esse eu vou ensinar em um outro momento.
É claro que existem N formas de fazer essa hospedagem, pode ser usando o NGINX no lugar do Apache por exemplo, nesse meu primeiro post a intenção é ser simples mesmo.
Em caso de dúvidas, sugestões ou dicas, podem deixar nos comentários, fica aqui o meu muito obrigado.