20/02/2026
Quando o sinal de celular não dá conta: LoRaLoRa como alternativa de longo alcance quando não há cobertura celular — ideia simples e casos de uso.
Artigos
Artigos · 13/03/2026
Configurar Apache no Ubuntu e ativar HTTPS com certificado SSL para hospedar sites e apps.

Criar um servidor web Apache básico costuma ser o primeiro passo na jornada de desenvolvimento web. O Apache é requisito de muitas aplicações. Dá também para hospedar sites estáticos, feitos à mão ou gerados por ferramentas como o Hugo.

Com o Apache instalado e o site respondendo na porta 80, entre no servidor por SSH para seguir a configuração.
sudo apt update && sudo apt upgrade -yEm seguida, ajuste os arquivos de host para o domínio que vai hospedar.
sudo nano /etc/hostnameTroque localhost por example.com, usando o seu domínio no lugar de example.
sudo nano /etc/hostsAdicione uma linha abaixo do host local e aponte o domínio para o endereço do servidor.
Se ainda não houver um usuário com sudo, crie um agora. Quem já tem pode pular esta etapa. No exemplo o usuário é brandon; use o nome que quiser. No primeiro comando o sistema pede nome e outros dados: Enter pula, ou você preenche. Depois o usuário entra no grupo sudo e a sessão passa para ele.
adduser brandonadduser brandon sudosu brandonDesligar o login de root é opcional, e vale pela segurança. Abra o sshd_config em /etc/ssh.
sudo nano /etc/ssh/sshd_configMude PermitRootLogin de yes para no. Salve e feche. Reinicie o daemon para ler a configuração nova.
sudo systemctl restart sshdReinicie o servidor em seguida. Algumas atualizações exigem isso, e o reboot aplica os arquivos de host.

Entre de novo por SSH, agora com o usuário criado, e instale os pacotes. Confira se o serviço subiu.
sudo apt install apache2 apache2-docs apache2-utilssystemctl status apache2Abra o IP no navegador. A página padrão do Apache2 deve aparecer, se o domínio já apontar para a máquina. Desative o site padrão: os diretórios e a configuração próprios vêm a seguir.
sudo a2dissite 000-default.confsudo systemctl reload apache2Libere os aplicativos no firewall. No Ubuntu o UFW lista os perfis prontos.
sudo ufw app listOs perfis desta etapa são Apache Full e OpenSSH. Mesmo que já apareçam na lista, permita de novo.
sudo ufw allow 'Apache Full'sudo ufw allow OpenSSHAtive o firewall e confira o status.
sudo ufw enablesudo ufw statusOs diretórios ficam em /var/www/html. Troque example.com pelo domínio real.
cd /var/www/htmlsudo mkdir example.comcd example.comsudo mkdir public_htmlsudo mkdir logssudo mkdir backupsVolte às configurações de site e crie o virtual host.
cd /etc/apache2/sites-availablesudo nano example.com.confCole o bloco abaixo e ajuste domínio, e-mail e caminhos.
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html/example.com/public_html/
ErrorLog /var/www/html/example.com/logs/error.log
CustomLog /var/www/html/example.com/logs/access.log combined
</VirtualHost>Ative a configuração.
sudo a2ensite example.comsystemctl reload apache2Ao abrir o site, a página "Índice de /" confirma que o virtual host respondeu. Um index.html em public_html serve para o teste seguinte.
O certificado SSL autentica o site e cifra a conexão entre o servidor e o navegador. Na web atual isso é requisito. O domínio precisa apontar para este Apache antes do Certbot.
sudo apt install certbot python3-certbot-apachesudo certbot --apache -d example.comO comando pede e-mail e algumas confirmações. Se terminar bem, o site abre em https.
Fonte: How to Apache webserver SSL.
O sudo certbot --apache -d example.com gera o arquivo example.com-le-ssl.conf com o HTTPS do Apache. O bloco abaixo inclui o proxy da API na porta da aplicação.
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin example@example.com
ServerName example.com
ServerAlias example.com
DocumentRoot /var/www/html/example.com/public_html/
ErrorLog /var/www/html/example.com/logs/error.log
CustomLog /var/www/html/example.com/logs/access.log combined
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
<Location /api>
ProxyPass http://localhost:[PORTA]
ProxyPassReverse http://localhost:[PORTA]
</Location>
</IfModule>Reinicie o Apache.
sudo systemctl restart apache2Para expor outra porta, libere no firewall. Para fechar, negue.
sudo ufw allow [port]/tcpsudo ufw deny [port]/tcpO PostgreSQL também precisa da porta liberada no firewall.
sudo ufw allow [port]/tcp
Invalid command 'ProxyPass', perhaps misspelled or defined by a module not included in the server configurationO Apache não conhece ProxyPass porque o módulo de proxy reverso não está habilitado. ProxyPass e ProxyPassReverse vêm do mod_proxy e do mod_proxy_http.
sudo a2enmod proxysudo a2enmod proxy_httpsudo systemctl restart apache2Este erro aparece quando o Apache encontra uma diretiva que não carregou. Aqui é o RewriteEngine.
AH00526: Syntax error on line 8 of /etc/apache2/sites-enabled/exemple.com.conf:
Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configurationO RewriteEngine faz parte do módulo de reescrita de URL. Sem ele, o Apache recusa a configuração e não sobe. É comum depois do Certbot: o HTTPS ganha regras de redirecionamento que dependem desse módulo.
A correção é habilitar o módulo.
sudo a2enmod rewrite
20/02/2026
Quando o sinal de celular não dá conta: LoRaLoRa como alternativa de longo alcance quando não há cobertura celular — ideia simples e casos de uso.

13/12/2025
Integrando o Google Maps no Angular 18Usar @angular/google-maps, chave de API e mapa no Angular 18 a partir de um projeto real.

13/12/2025
Ciência de Dados e IA na Engenharia MecânicaComo dados e inteligência artificial otimizam projetos, processos e previsões na engenharia mecânica.