bg-tutorials

Como instalar um certificado SSL da ACME no Apache e no NGINX

Se você estiver executando um servidor da Web, protegê-lo com HTTPS é um padrão básico. Graças ao protocolo ACME (Automated Certificate Management Environment), você pode automatizar a emissão e a renovação de certificados SSL por meio de ferramentas como o Certbot.

ACME SSL no Apache e no Nginx

Neste guia, você aprenderá a instalar um certificado ACME no Apache e no NGINX usando o Certbot em diferentes distribuições do Linux. Abordaremos os sistemas baseados no Debian e no RHEL, incluiremos esclarecimentos quando necessário e orientaremos você em tudo, desde a instalação até a renovação automatizada.


Antes de você começar

Antes de começar, verifique se você está certo:

  • Você tem acesso sudo ou root ao seu servidor
  • Seu nome de domínio aponta para o endereço IP público do seu servidor via DNS
  • As portas 80 e 443 estão abertas em seu firewall ou no grupo de segurança do provedor de nuvem
  • Seu sistema está atualizado e tem suporte

Etapa 1 – Instale o Certbot em seu sistema operacional

O Certbot é o cliente ACME que usaremos para solicitar e renovar certificados SSL. Você verá as instruções de configuração para cada sistema operacional suportado. Escolha o que corresponde ao seu servidor.

Edições do Ubuntu LTS com APT

Atualize os pacotes e instale o Certbot com o plug-in de servidor da Web que você preferir:

Apache:

sudo apt update
sudo apt install certbot python3-certbot-apache

NGINX:

sudo apt update
sudo apt install certbot python3-certbot-nginx

Sistemas Debian com suporte a APT

O mesmo processo do Ubuntu:

sudo apt update
sudo apt install certbot python3-certbot-apache # for Apache
sudo apt install certbot python3-certbot-nginx # for NGINX

Nos sistemas Debian, a instalação do Certbot via APT é a opção mais simples. Se você preferir usar o Snap (para a versão mais recente), role para baixo até a seção Snap abaixo.

AlmaLinux ou Rocky Linux (compatível com RHEL)

Primeiro, habilite o repositório EPEL:

sudo dnf install epel-release
sudo dnf update

Em seguida, instale o Certbot com o plug-in que você escolher:

Apache:

sudo dnf install certbot python3-certbot-apache

NGINX:

sudo dnf install certbot python3-certbot-nginx

Alternativa: Instalar o Certbot via Snap (todos os sistemas)

Se você quiser a versão mais recente diretamente da fonte, use o Snap.

1. Instale o Snap (se ainda não estiver instalado):

sudo apt install snapd # Ubuntu/Debian
sudo dnf install snapd # AlmaLinux/Rocky

2. Instale e vincule o Certbot:

sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Opcional: Instale o Certbot com o pip (para configurações personalizadas)

Esse método é destinado a usuários avançados ou ambientes personalizados em que os pacotes Snap ou OS não estão disponíveis. Você só deve usá-lo se:

  • Você está executando o Certbot em um ambiente virtual
  • Você está trabalhando com o mínimo de contêineres
  • Seu sistema operacional não é compatível com snapd, apt ou dnf de forma limpa

Para instalar o Certbot usando o pip:

python3 -m pip install --upgrade certbot

Isso instala a ferramenta principal do Certbot, mas não configura a renovação automática e não instala os plug-ins do Apache ou do NGINX. Você precisará configurar tudo manualmente

Se você não tiver certeza do que isso significa, volte e use as instruções APT, DNF ou Snap.

Você também pode instalar plug-ins (como o do NGINX) usando o pip:

python3 -m pip install certbot-nginx

Use o pip somente se o ambiente do seu sistema exigir controle ou isolamento total.


Etapa 2 – Solicite e instale seu certificado ACME

Há duas abordagens principais: totalmente automatizada ou específica do provedor usando credenciais EAB (External Account Binding). Ambas são abordadas a seguir.

Opção A: Totalmente automatizado (ACME padrão)

Deixe o Certbot cuidar de tudo: solicitar, verificar, instalar e recarregar a configuração do servidor.

Apache:

sudo certbot --apache

NGINX:

sudo certbot --nginx

Você será questionado:

  • Que domínio(s) você deve proteger
  • Se você deseja redirecionar todo o tráfego HTTP para HTTPS
  • Seu e-mail para lembretes de renovação

A Certbot cuida da validação e da configuração do servidor da Web nos bastidores.

Opção B: usar um provedor externo de ACME (por exemplo, Sectigo) com EAB

Se o seu provedor exigir a vinculação de conta externa, use esse método:

sudo certbot --nginx \
--non-interactive \
--agree-tos \
--email [email protected] \
--server https://acme.sectigo.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--domain example.com \
--domain www.example.com \
--cert-name my-website-cert

Substitua --nginx por --apache para a configuração do Apache.

Você receberá --eab-kid e --eab-hmac-key do seu provedor de certificados ao registrar uma conta ACME.

Opção C: usar o Certbot no modo manual

Se você não quiser que o Certbot modifique a configuração do seu servidor Web ou se estiver usando uma configuração personalizada, poderá solicitar um certificado manualmente.

Veja como você pode fazer isso usando o método webroot:

sudo certbot certonly --webroot \
-w /var/www/html \
-d example.com \
-d www.example.com \
--email [email protected] \
--agree-tos \
--non-interactive

  • –certonly diz ao Certbot para emitir o certificado, mas não para instalá-lo
  • -w especifica o diretório raiz do seu site (deve ser acessível publicamente pela porta 80)

Após a emissão, configure manualmente seu servidor da Web com os arquivos de certificado localizados em:

/etc/letsencrypt/live/yourdomain.com/

Observação: Esse caminho é usado independentemente do provedor ACME que você escolher, a menos que você substitua o diretório de armazenamento usando sinalizadores avançados (–config-dir, –work-dir).

Certifique-se de recarregar o servidor Web depois de aplicar os caminhos do certificado à sua configuração.


Etapa 3 – Verifique se tudo está funcionando

Visite seu domínio em um navegador. Você deverá ver o cadeado seguro ou apenas o carregamento bem-sucedido da página no Chrome. Para verificar novamente se o servidor está funcionando:

sudo systemctl status apache2 # Debian/Ubuntu (Apache)
sudo systemctl status httpd # AlmaLinux/Rocky (Apache)
sudo systemctl status nginx # All systems (NGINX)

E para inspecionar o certificado do terminal:

openssl s_client -connect yourdomain.com:443

Procure datas válidas e o nome da AC do seu provedor no resultado.


Etapa 4 – Configure a renovação automática

O protocolo ACME é compatível com a renovação automática de certificados e o Certbot foi projetado para lidar com isso sem problemas por meio de um timer systemd ou cron job incorporado. Entretanto, o comportamento da renovação depende do provedor de certificados que você utiliza:

As CAs gratuitas (como a Let’s Encrypt) emitem certificados válidos por 90 dias e permitem verificações frequentes de renovação.

As CAs comerciais (como a Sectigo ou a Digicert) geralmente emitem certificados válidos por um ano via ACME, mas ainda seguem o processo de renovação da ACME. O Certbot também lida com isso automaticamente, mas com menos frequência.

Verifique se a renovação está programada

Por padrão, o Certbot configura um cronômetro do sistema ou um trabalho cron. Você pode confirmar se ele está ativo com:

systemctl list-timers | grep certbot

Isso garante que o Certbot verifique seus certificados regularmente (normalmente duas vezes por dia) e os renove somente quando estiverem dentro da janela de renovação (normalmente 30 dias antes do vencimento).


Palavras finais

O Certbot e o protocolo ACME simplificam o gerenciamento de SSL. Este guia fornece tudo o que você precisa para instalar um certificado ACME no Apache e no NGINX com renovação automática, validação clara e controle total quando necessário.

Economize 10% em certificados SSL ao fazer seu pedido hoje!

Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

Uma imagem detalhada de um dragão em voo
Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.