Aula 4 — Hospede sites com o Apache no Ubuntu: instale o servidor, crie Virtual Hosts, configure páginas HTML e gerencie múltiplos sites em um único servidor
Um servidor web é um software que recebe requisições HTTP de navegadores e responde com páginas HTML, imagens e outros arquivos. O Apache é o mais popular do mundo, usado por mais de 30% de todos os sites da internet.
💡 Analogia da biblioteca: a biblioteca é o servidor web, os livros são as páginas HTML, o leitor é o navegador e o pedido é a requisição HTTP. Você pede um livro pelo título (URL) e a biblioteca busca e entrega!
Usuário digita a URL no navegador
Navegador faz uma requisição HTTP para o servidor
Apache localiza os arquivos do site
Retorna o HTML, CSS e JS para o navegador
Navegador renderiza e exibe a página
Virtual Hosts permitem hospedar vários sites em um único servidor Apache. Cada site tem sua própria configuração, pasta de arquivos e domínio — tudo no mesmo servidor físico.
💡 Analogia do prédio: o servidor é o prédio, e cada Virtual Host é um apartamento. Todos compartilham o mesmo endereço (IP), mas cada um tem sua própria entrada (domínio) e interior (arquivos).
O Apache organiza sua configuração em diretórios bem definidos. Conhecer cada um é essencial para criar e gerenciar sites.
| Caminho | Função |
|---|---|
/etc/apache2/ | Arquivos de configuração do servidor |
/var/www/ | Raiz dos sites (DocumentRoot) |
/var/log/apache2/ | Logs de acesso e erros |
| Arquivo | Função |
|---|---|
apache2.conf | Configuração principal do servidor |
ports.conf | Portas em que o Apache escuta |
sites-available/ | Arquivos .conf de sites disponíveis |
sites-enabled/ | Links simbólicos dos sites ativos |
Criar arquivo .conf em sites-available/
Ativar com a2ensite (cria link em sites-enabled/)
Reiniciar o Apache com systemctl restart apache2
Site funcionando!
A instalação é simples com o apt. Diferente de outros servidores, o Apache já inicia automaticamente após a instalação com uma página padrão de boas-vindas.
✅ Após a instalação, acesse http://localhost ou http://IP-do-servidor no navegador para ver a página padrão “Apache2 Ubuntu Default Page”. Isso confirma que o servidor está funcionando.
Crie o diretório do site dentro de /var/www/, ajuste o proprietário e as permissões. Usaremos o domínio informatica.joaocamara como exemplo.
| Comando | Significado |
|---|---|
mkdir -p | Cria pasta e subpastas de uma vez |
chown -R $USER:$USER | Torna o usuário atual o dono recursivamente |
chmod 755 | Dono: ler+escrever+executar; outros: ler+executar |
Crie o arquivo index.html dentro da pasta public_html do site. Este será o arquivo exibido quando alguém acessar o domínio.
| Tag | Função |
|---|---|
<html> | Início e fim do documento HTML |
<head> | Metadados (não visível na página) |
<title> | Título que aparece na aba do navegador |
<body> | Conteúdo visível da página |
<h1> | Título principal (maior destaque) |
Crie um arquivo .conf em sites-available/ descrevendo como o Apache deve servir o site. Este arquivo é o “cadastro” do site no servidor.
| Diretiva | Função |
|---|---|
*:80 | Escuta em qualquer IP na porta 80 (HTTP) |
ServerAdmin | E-mail do administrador do site |
ServerName | Domínio principal do site |
ServerAlias | Domínio alternativo (ex.: versão com www) |
DocumentRoot | Pasta onde ficam os arquivos HTML do site |
ErrorLog | Arquivo de log de erros |
CustomLog | Arquivo de log de acessos |
Com o arquivo .conf criado, ative o site com a2ensite, desative o site padrão (opcional) e reinicie o Apache para aplicar.
http://192.168.0.1http://informatica.joaocamara✅ Sempre teste com apache2ctl -t antes de reiniciar. Se aparecer “Syntax OK”, a configuração está correta. Um erro de sintaxe pode impedir o Apache de iniciar.
Para hospedar um segundo site no mesmo servidor sem DNS, use uma porta alternativa. Adicione a diretiva Listen no .conf do novo site.
Referência rápida dos principais comandos para gerenciar o Apache no dia a dia.
| Comando | Função |
|---|---|
a2ensite site.conf | Ativar um Virtual Host |
a2dissite site.conf | Desativar um Virtual Host |
apache2ctl -t | Testar sintaxe da configuração |
apache2ctl -S | Listar todos os Virtual Hosts ativos |
systemctl status apache2 | Ver status do serviço |
tail -f /var/log/apache2/error.log | Acompanhar erros em tempo real |
Relacione cada elemento do Apache à sua descrição correta.
/var/www/
a2ensite
80
DocumentRoot
apache2ctl -t
sudo apt-get install apache2. Crie a pasta /var/www/seu-dominio/public_html com mkdir -p. Ajuste o proprietário com chown -R $USER:$USER e as permissões com chmod -R 755. Tire screenshot.index.html dentro de public_html com um conteúdo HTML simples. Crie o arquivo .conf em /etc/apache2/sites-available/ com as diretivas ServerName, DocumentRoot, ErrorLog e CustomLog.sudo a2ensite seu-dominio.conf. Desative o padrão com a2dissite 000-default.conf. Valide com apache2ctl -t (deve aparecer “Syntax OK”). Reinicie com systemctl restart apache2. Tire screenshot do status.index.html diferente e acesse por http://IP:700.DocumentRoot e o fluxo sites-available → a2ensite → sites-enabled é essencial para qualquer administrador de sistemas que precise hospedar aplicações web.
Qual diretório contém os arquivos de configuração de Virtual Hosts no Apache (Ubuntu)?
/etc/apache2/sites-available/. Use a2ensite para ativá-los.Qual comando ativa um Virtual Host no Apache no Ubuntu?
a2ensite cria um link simbólico em sites-enabled/. Após isso, systemctl reload apache2.Qual porta padrão usa o protocolo HTTP?
Onde ficam os arquivos dos sites por padrão no Apache (Ubuntu)?
/var/www/html/. Cada Virtual Host pode ter seu próprio diretório.