Base de Conhecimento

Instalar Apache no Ubuntu: passo a passo na VPS

  • apache, ubuntu, vps, virtualhost, certbot, servidor web
  • Usuários acharam útil: 0

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

Arte da Eleven Host: janela de terminal com o título: Instalar Apache no Ubuntu: passo a passo na VPS

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 de sites-available que 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:

  1. Remova o Certbot antigo do apt, se existir:

sudo apt-get remove certbot

  1. Instale pelo snap:

sudo snap install --classic certbot

  1. Crie o atalho do comando:

sudo ln -s /snap/bin/certbot /usr/local/bin/certbot

  1. 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.

  1. 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 apache2 e o serviço está ativo.
  • Liberei o SSH (22/tcp) antes de ligar o ufw.
  • Liberei as portas 80,443/tcp.
  • A página inicial abriu pelo IP do servidor.
  • Criei a pasta do site e o arquivo .conf com ServerName e DocumentRoot.
  • Rodei a2ensite, depois configtest com Syntax OK e só então o reload.
  • 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.

Esta resposta lhe foi útil?

Artigos Relacionados