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.