acme.sh: Como emitir e renovar certificados SSL automaticamente no Apache

Se você precisa gerenciar certificados SSL de forma simples, automatizada e sem depender de ferramentas pesadas, o acme.sh é uma das melhores opções disponíveis hoje.

O Problema

Gerenciar certificados SSL manualmente pode ser trabalhoso:

  • Renovação periódica (a cada 90 dias)
  • Integração com servidores (Apache, Nginx)
  • Dependência de ferramentas como certbot
  • Risco de expiração e downtime

Além disso, muitas soluções exigem instalação com privilégios elevados ou dependências externas.

A Solução

O acme.sh é um cliente ACME escrito em shell script puro, leve, sem dependências e extremamente flexível.

Principais vantagens

  • Não precisa de root para funcionar
  • Compatível com Let’s Encrypt e outros CAs
  • Suporte a múltiplos métodos de validação (HTTP, DNS)
  • Renovação automática via cron
  • Instalação simples e rápida

Instalação

 curl https://get.acme.sh | sh

Ou via git:

 git clone https://github.com/acmesh-official/acme.sh.git cd acme.sh ./acme.sh --install

Emitir certificado

Exemplo usando Apache:

 acme.sh --issue --apache -d seu-dominio.com -d www.seu-dominio.com

Exemplo com standalone:

 acme.sh --issue -d seu-dominio.com --standalone

Instalar certificado no servidor

Uma das melhores práticas é usar o comando abaixo para evitar cópias manuais:

 acme.sh --install-cert -d seu-dominio.com \ --key-file /etc/apache2/certificados/seu-dominio.key \ --fullchain-file /etc/apache2/certificados/fullchain.cer \ --reloadcmd "systemctl restart apache2"

Isso garante que:

  • Os certificados sejam copiados automaticamente
  • O Apache seja reiniciado após renovação
  • Você não precise de scripts adicionais

Renovação automática

O acme.sh já cria automaticamente um cron para renovar os certificados:

 crontab -l

Para forçar uma renovação:

 acme.sh --renew -d seu-dominio.com --force

Estrutura dos certificados

Após emissão, os arquivos ficam em:

 ~/.acme.sh/seu-dominio.com/

Arquivos importantes:

  • .cer → certificado
  • .key → chave privada
  • fullchain.cer → cadeia completa
  • ca.cer → autoridade certificadora

Boas práticas

  • Utilizar --install-cert em vez de copiar arquivos manualmente
  • Automatizar reload do servidor
  • Usar DNS validation para ambientes sem porta 80
  • Manter backups das chaves privadas
  • Evitar rodar como root desnecessariamente

Conclusão

O acme.sh é uma alternativa extremamente eficiente ao certbot, especialmente para quem busca controle, leveza e automação real.

Se você trabalha com múltiplos domínios ou ambientes, ele se torna praticamente indispensável no seu fluxo de DevOps.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima