Instalar Apache no Ubuntu: passo a passo na VPS
Veja como instalar o Apache no Ubuntu, liberar o firewall mantendo o SSH aberto, criar um VirtualHost para o seu domínio, testar a configuração e ativar o HTTPS.
Por Redação Eleven Host · @robson.direitodigital · 29 de outubro de 2026 · 8 min de leitura

Capa da Redação Eleven Host para o guia: Instalar Apache no Ubuntu: passo a passo na VPS Arte: Eleven Host
Para instalar Apache no Ubuntu, rode sudo apt update e depois sudo apt install apache2. Em seguida, libere as portas 80 e 443 no firewall, abra o endereço do servidor no navegador e crie um VirtualHost para o seu domínio.
Este guia segue a documentação do Ubuntu Server e do projeto Apache. Ele leva você da instalação até um site próprio no ar com HTTPS, com os comandos na ordem em que devem ser rodados. Os exemplos usam o domínio seudominio.com.br e o servidor 203.0.113.10; troque pelos seus.
Apache ou Nginx: qual servidor web escolher
O Apache e o Nginx são servidores web: os dois entregam as páginas do seu site ao navegador. Uma diferença prática para quem está começando está na configuração. O Apache organiza cada site em um arquivo dentro de sites-available e liga com um comando, e os módulos são ligados e desligados por comandos próprios. Se você já viu o guia Instalar Nginx no Ubuntu: passo a passo na VPS, vai reconhecer a ideia de um arquivo por site, mas os nomes de pastas e comandos mudam.
Escolha o servidor que o seu projeto pede. Alguns sistemas trazem instruções prontas para um dos dois, e seguir essas instruções pode reduzir o trabalho de adaptar. Não rode os dois ao mesmo tempo na mesma porta: se o Nginx já escuta na porta 80, o Apache não consegue usar a mesma porta.
Antes de começar
Você vai precisar de uma VPS com Ubuntu e de um usuário com permissão de sudo. Se ainda usa o usuário administrador direto, o guia Criar usuário sudo na VPS Ubuntu: passo a passo mostra como criar um usuário comum com essa permissão. Para o HTTPS, no fim do guia, o domínio também precisa apontar para o servidor.
Conecte-se por SSH e confira que os comandos com sudo funcionam antes de seguir. Os exemplos usam o gerenciador de pacotes apt, do Ubuntu.
Instalar o Apache
Atualize a lista de pacotes e instale o pacote apache2, como indica a documentação do Ubuntu:
sudo apt update
sudo apt install apache2
Confirme que o serviço está rodando:
sudo systemctl status apache2
A tela deve mostrar o serviço como ativo. Para sair dela, aperte q. A versão do Apache depende da versão do Ubuntu e do repositório da sua VPS, então não anote um número de versão de outro tutorial como se fosse o seu.
Onde ficam os arquivos
A configuração fica em /etc/apache2/. Estes são os itens que você vai usar:
apache2.conf: o arquivo principal, com as configurações globais.ports.conf: as portas em que o Apache escuta.sites-available: os arquivos de configuração dos sites (VirtualHosts).sites-enabled: atalhos para os sites desites-availableque estão ativos.
O site padrão é o 000-default.conf, e a pasta dele é /var/www/html, como especifica esse arquivo.
Liberar o firewall: SSH primeiro
Se você usa o firewall ufw, libere o SSH antes de ligá-lo. Se ligar o firewall sem essa regra, a sua própria conexão pode ser cortada e você fica sem acesso ao servidor. Rode estes comandos na ordem:
sudo ufw allow 22/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable
sudo ufw status
A primeira linha mantém o SSH aberto, a segunda libera as portas do site (80 para HTTP e 443 para HTTPS) e a quarta mostra as regras ativas. Confira que a porta 22 aparece como liberada antes de fechar o terminal. A documentação do Ubuntu também mostra sudo ufw status verbose, que traz mais detalhes.
O firewall do sistema é uma camada. Se você usa outro firewall além do ufw, confira se as portas 22, 80 e 443 estão liberadas nele também.
Precisa de um servidor para o seu site? A VPS Plano Bronze sai a partir de R$ 17,00/mês; confira na loja o que cada plano inclui. Ver planos de VPS
Testar o Apache no navegador
Abra no navegador o endereço IP do servidor:
http://203.0.113.10
Se tudo estiver certo, aparece a página inicial do Apache no Ubuntu. Se a página não abre, confirme que o serviço está ativo, que as portas 80 e 443 estão liberadas e que o IP é o da sua VPS. Se o navegador mostrar conexão recusada, veja o guia ERR_CONNECTION_REFUSED: o que é e como resolver.
Criar o seu site com VirtualHost
Em vez de mexer no site padrão, crie um VirtualHost para cada domínio. O passo a passo segue o tutorial do Ubuntu:
1. Crie a pasta do site
sudo mkdir -p /var/www/seudominio.com.br
Coloque nessa pasta o arquivo index.html com o conteúdo do seu site. Para o teste, uma página simples já serve.
2. Copie o arquivo do site padrão
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/seudominio.com.br.conf
3. Edite o novo arquivo
Abra o arquivo com um editor, por exemplo sudo nano /etc/apache2/sites-available/seudominio.com.br.conf, e deixe o bloco assim, com os seus valores:
<VirtualHost *:80>
ServerName seudominio.com.br
ServerAlias www.seudominio.com.br
DocumentRoot /var/www/seudominio.com.br
</VirtualHost>
O ServerName é o nome principal do site, o ServerAlias são os nomes extras e o DocumentRoot é a pasta com os arquivos. Segundo a documentação do Apache, o primeiro ServerName ou ServerAlias que combina com o pedido é o usado. O primeiro VirtualHost listado também vira o padrão para os pedidos que não combinam com nenhum, no caso da porta 80.
4. Ative o site
sudo a2ensite seudominio.com.br
O comando cria o atalho em sites-enabled. Se quiser desligar o site padrão, o comando é sudo a2dissite 000-default, mas isso é uma escolha sua e não um passo obrigatório.
5. Teste a configuração e recarregue
sudo apache2ctl configtest
O teste de sintaxe lê os arquivos e responde Syntax OK ou aponta o erro. Só depois de ver o OK, recarregue o serviço:
sudo systemctl reload apache2
Dica prática: rode o configtest depois de editar um arquivo do Apache. Se houver erro, o teste informa o problema antes de você recarregar o serviço.
Com o domínio apontado para a VPS, abra http://seudominio.com.br no navegador. Se ainda não apontou, o guia Hospedar site HTML na VPS: passo a passo com Nginx mostra o fluxo de ponta a ponta com outro servidor web.
HTTPS com Certbot
O Certbot é a ferramenta que pega o certificado e pode ajustar o Apache. Antes de rodar, o domínio precisa apontar para o servidor (um registro A para 203.0.113.10) e a porta 80 precisa estar aberta. As instruções do site do Certbot para Apache usam o snap:
- Remova o Certbot antigo do apt, se existir:
sudo apt-get remove certbot
- Instale pelo snap:
sudo snap install --classic certbot
- Crie o atalho do comando:
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
- Peça o certificado e deixe o Certbot configurar o Apache:
sudo certbot --apache
Se preferir apenas obter o certificado, sem que o Certbot mexa na configuração, use sudo certbot certonly --apache.
- Teste a renovação:
sudo certbot renew --dry-run
A renovação automática fica em um timer do systemd ou em uma tarefa do cron. Para ver os timers, rode systemctl list-timers.
Comandos do dia a dia do Apache
Estes comandos cobrem tarefas comuns da rotina de um servidor Apache no Ubuntu:
sudo systemctl status apache2: mostra se o serviço está ativo.sudo systemctl restart apache2: reinicia o serviço (necessário depois de ligar um módulo).sudo systemctl reload apache2: recarrega a configuração.sudo apache2ctl configtest: testa a sintaxe antes de recarregar.sudo a2ensite seudominio.com.br: ativa um site.sudo a2dissite seudominio.com.br: desativa um site.sudo a2enmod ssl: liga um módulo, aqui o do SSL.sudo a2dismod ssl: desliga um módulo.sudo ufw status: mostra as regras do firewall.
Depois de ligar ou desligar um módulo, reinicie o serviço com sudo systemctl restart apache2, como orienta a documentação do Ubuntu. Para o HTTPS com o Certbot, siga a seção anterior.
Checklist do Apache
- Tenho um usuário com
sudo. - Instalei com
sudo apt install apache2e o serviço está ativo. - Liberei o SSH (
22/tcp) antes de ligar oufw. - Liberei as portas
80,443/tcp. - A página inicial abriu pelo IP do servidor.
- Criei a pasta do site e o arquivo
.confcomServerNameeDocumentRoot. - Rodei
a2ensite, depoisconfigtestcomSyntax OKe só então oreload. - O domínio aponta para a VPS e o Certbot emitiu o certificado.
- Testei a renovação com
certbot renew --dry-run.
Falta o endereço do site? Registre seu domínio na Eleven Host e aponte para a sua VPS. Registrar domínio
Perguntas frequentes
Qual comando instala o Apache no Ubuntu?
O sudo apt install apache2, depois de rodar sudo apt update. O serviço é gerenciado pelo systemd com o nome apache2.
Onde ficam os arquivos do site no Apache?
A pasta padrão é /var/www/html, definida no 000-default.conf. Para um domínio próprio, o exemplo deste guia usa /var/www/seudominio.com.br, indicada no DocumentRoot.
Preciso apagar o site padrão?
Não. Você pode manter o 000-default.conf ou desativá-lo com a2dissite. Lembre que o primeiro VirtualHost listado é o padrão para pedidos que não combinam com nenhum nome.
O Certbot é a única forma de ter HTTPS?
Não, mas é a que o guia mostra, seguindo as instruções do site do Certbot para Apache.