bg-tutorials

Como instalar um certificado ACME SSL no Plesk

Se você estiver gerenciando sites em um Plesk, não há mais motivo para lidar com certificados manualmente. Com a configuração correta, você pode automatizar a emissão, a renovação e a instalação de certificados SSL usando o protocolo ACME com External Account Binding (EAB).

Plesk ACME SSL

Este guia mostra a você exatamente como instalar um certificado ACME SSL no Plesk (baseado em Linux) usando o ACME.sh, um cliente ACME leve que funciona sem problemas com o Plesk.

Se você estiver usando hospedagem compartilhada, talvez não consiga usar esse método. A maioria dos ambientes compartilhados não permite acesso à raiz ou scripts personalizados. Este guia funciona para VPS e servidores dedicados em que você controla a pilha de hospedagem.


Antes de você começar

Certifique-se de que você tenha os seguintes itens prontos antes de iniciar as etapas:

  • Um servidor ou VPS com a Plesk Obsidian
  • Acesso SSH ao servidor. Você pode ser root ou um usuário com privilégios sudo
  • Um domínio ativo apontando para o servidor por meio de um registro A ou AAAA
  • Porta 80 aberta e acessível publicamente (necessária para a validação do HTTP-01)
  • Suas credenciais EAB do provedor SSL (EAB KID e EAB HMAC Key)

Pontos de extremidade ACME a serem usados:

  • Seção: https://acme.sectigo.com/v2/DV
  • DigiCert: https://acme.digicert.com/v2/acme

Etapa 1: verifique a raiz do documento do seu site no Plesk

Você precisará do caminho para a pasta raiz do seu site para que o ACME.sh possa colocar os arquivos de validação corretamente.

  1. Faça login no Plesk
  2. Vá para Websites & Domains > yourdomain.com > Configurações de hospedagem
  3. Copie o valor da raiz do documento. Ele se parece com: /var/www/vhosts/seudominio.com/httpdocs
  4. Mantenha esse caminho à mão, pois você o usará em etapas posteriores.

Etapa 2: habilitar o acesso SSH (se necessário)

Se o seu plano de hospedagem não tiver o SSH ativado, você poderá usar o SSH:

  1. Vá para Websites & Domains > yourdomain.com > Web Hosting Access
  2. Em Acesso ao servidor por SSH, escolha /bin/bash ou /usr/bin/bash
  3. Salvar as configurações

Se você estiver em um host gerenciado/compartilhado, entre em contato com o suporte para solicitar acesso SSH.


Etapa 3: Conecte-se ao seu servidor via SSH

Em seu terminal local, conecte-se ao servidor:

ssh [email protected]

Ou, se você estiver usando um usuário não root:

ssh [email protected]

Etapa 4: instalar o ACME.sh

Execute o instalador oficial:

curl https://get.acme.sh | sh
source ~/.bashrc

Em seguida, verifique a versão para confirmar se ela está instalada:

acme.sh --version

Se houver falha, verifique se curl e git estão instalados. Você pode executar novamente a instalação com --force, se necessário.


Etapa 5: Registre sua conta no EAB

O registro da ACME é uma configuração única que vincula o seu servidor à autoridade de certificação, para que futuras solicitações de certificado possam ser validadas e processadas automaticamente.

Esse comando registra a sua conta ACME com o provedor de SSL(Sectigo ou DigiCert) usando as credenciais exclusivas do EAB.

acme.sh --register-account \
  --server https://acme.sectigo.com/v2/DV \
  --eab-kid YOUR_EAB_KID \
  --eab-hmac-key YOUR_EAB_HMAC_KEY \
  --accountemail [email protected]

Veja a seguir o que cada parte significa:

  • acme.sh --register-account – Inicia o registro da conta ACME
  • --server – URL ACME do seu provedor (Sectigo ou DigiCert)
  • --eab-kid – Seu EAB Key ID do provedor
  • --eab-hmac-key – Sua chave secreta EAB HMAC (string longa)
  • --accountemail – Seu e-mail de contato para a conta ACME

Esse comando deve ser personalizado com seus dados reais de EAB e endereço de e-mail. Não o copie como está.

Se você deixar os espaços reservados como YOUR_EAB_KID, o comando falhará com um erro de autenticação.

Após a execução bem-sucedida, seu servidor estará autorizado a solicitar certificados SSL desse provedor; não será necessário registrar-se novamente no futuro, a menos que você troque de provedor ou de credenciais.


Etapa 6: Prepare-se para a validação HTTP

Crie o diretório do desafio ACME:

mkdir -p /var/www/vhosts/yourdomain.com/httpdocs/.well-known/acme-challenge

Em seguida, verifique se está funcionando:

echo "ok" > /var/www/vhosts/yourdomain.com/httpdocs/.well-known/acme-challenge/testfile
curl -I http://yourdomain.com/.well-known/acme-challenge/testfile

Você deve ver HTTP/1.1 200 OK. Caso contrário, verifique as regras do firewall, o acesso à porta 80 ou o caminho da raiz do documento.


Etapa 7: Ignorar HTTPS forçado para o caminho do ACME

Se o seu site redirecionar todo o tráfego para HTTPS, isso interromperá a validação HTTP-01, a menos que você permita que a pasta de desafio a ignore.

Se você estiver usando o Apache (padrão no Plesk Linux)

Edite seu arquivo .htaccess na raiz do documento e adicione isso ao topo:

RewriteEngine On
RewriteRule ^.well-known/acme-challenge/ - [L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Se você estiver usando o Nginx (ou se o Nginx estiver lidando com o Apache)

O .htaccess do Apache não ajudará aqui porque o Nginx lida com o redirecionamento primeiro. Em vez disso, você precisa adicionar uma diretiva Nginx personalizada no Plesk:

  1. Vá para Websites & Domains > yourdomain.com > Configurações do Apache e do Nginx
  2. Localize o campo intitulado Additional Nginx directives (Diretivas adicionais do Nginx)
  3. Cole isso em você:
location ^~ /.well-known/acme-challenge/ {
root /var/www/vhosts/yourdomain.com/httpdocs;
allow all;
try_files $uri =404;
}

Isso diz ao Nginx para servir o caminho do desafio diretamente, sem redirecionamento de HTTPS ou proxy para o Apache. Salve e aplique as alterações.


Etapa 8: Emitir o certificado

Agora você pode solicitar o certificado. Aqui está um exemplo com o Sectigo e duas variações de domínio:

acme.sh --issue \
  -d yourdomain.com \
  -d www.yourdomain.com \
  -w /var/www/vhosts/yourdomain.com/httpdocs \
  --server https://acme.sectigo.com/v2/DV

Você pode incluir quantos sinalizadores -d forem necessários. Quando o certificado for emitido, o ACME.sh salvará tudo nesta pasta: /root/.acme.sh/seudominio.com/

Os dois arquivos de que você precisará para o Plesk são:

  • yourdomain.com.key: esta é sua chave privada
  • fullchain.cer: este é o arquivo do seu certificado e inclui a cadeia completa (seu certificado + cadeia da CA)

Esses são os arquivos que você carregará ou usará na CLI para instalar o certificado no Plesk.


Etapa 9: Importar certificado para o Plesk por meio da interface do usuário

  1. Vá para Websites & Domains > yourdomain.com > Certificados SSL/TLS
  2. Clique em Add SSL/TLS Certificate (Adicionar certificado SSL/TLS)
  3. Faça upload do certificado (selecione fullchain.cer) e da chave privada (selecione yourdomain.com.key). Clique em Salvar
  4. Volte para Hosting Settings e selecione esse certificado na seção Suporte SSL/TLS
  5. Clique em OK ou Aplicar

Seu domínio agora está usando o certificado ACME SSL de terceiros.


Etapa 10: Automatizar a importação via Plesk CLI (opcional, ideal para Cron)

Para automatizar a aplicação de certificados em renovações futuras, use a CLI:

plesk bin certificate -c "acme-yourdomain" \
  -domain yourdomain.com \
  -cert-file /root/.acme.sh/yourdomain.com/fullchain.cer \
  -key-file  /root/.acme.sh/yourdomain.com/yourdomain.com.key

plesk bin domain -u yourdomain.com -ssl true -certificate-name "acme-yourdomain"
plesk bin httpdmng --reconfigure-domain yourdomain.com

Se o comando plesk não for reconhecido, tente o caminho completo: /usr/sbin/plesk bin …


Etapa 11: automatize as renovações com o script de implantação

O ACME.sh renova automaticamente os certificados cerca de 30 dias antes da expiração. Mas vamos conectar um gancho pós-renovação para aplicá-los automaticamente ao Plesk.

1. Crie o script de implementação

nano /usr/local/bin/plesk-acme-deploy.sh

Cole o seguinte:

#!/usr/bin/env bash
set -euo pipefail

DOMAIN="yourdomain.com"
CERT_DIR="/root/.acme.sh/${DOMAIN}"
CERT_NAME="acme-${DOMAIN}"

CERT_FILE="${CERT_DIR}/fullchain.cer"
KEY_FILE="${CERT_DIR}/${DOMAIN}.key"

/usr/sbin/plesk bin certificate -c "${CERT_NAME}" \
  -domain "${DOMAIN}" \
  -cert-file "${CERT_FILE}" \
  -key-file  "${KEY_FILE}"

/usr/sbin/plesk bin domain -u "${DOMAIN}" -ssl true -certificate-name "${CERT_NAME}"
/usr/sbin/plesk bin httpdmng --reconfigure-domain "${DOMAIN}"

echo "Plesk deploy complete for ${DOMAIN}"

2. Salve e torne-o executável

chmod +x /usr/local/bin/plesk-acme-deploy.sh

3. Vincule-o ao ACME.sh

acme.sh --install-cert -d yourdomain.com \
  --key-file       ~/.acme.sh/yourdomain.com/yourdomain.com.key \
  --fullchain-file ~/.acme.sh/yourdomain.com/fullchain.cer \
  --reloadcmd "/usr/local/bin/plesk-acme-deploy.sh"

De agora em diante, toda renovação será aplicada ao Plesk.


Etapa 12: Teste tudo

Visite seu site em https://yourdomain.com. O certificado deve ser válido e mostrar sua CA.

Para testar a renovação e implementar manualmente, execute:

acme.sh --renew -d yourdomain.com --force

Em seguida, siga o registro:

tail -n 60 ~/.acme.sh/acme.sh.log

Você deverá ver uma renovação bem-sucedida e “Implementação do Plesk concluída” no final.


Problemas comuns e solução de problemas

Mesmo com a configuração correta, as coisas nem sempre correm bem na primeira tentativa, especialmente com validação de domínio, redirecionamentos ou caminhos de arquivo. Veja abaixo os problemas mais comuns que você pode encontrar ao emitir ou renovar seu certificado e como corrigi-los rapidamente.

Falha na validação HTTP (404, tempo limite ou arquivo de teste não encontrado)

Isso significa que o arquivo de desafio ACME não está sendo servido corretamente.

  • Verifique novamente a raiz do documento no Plesk > Hosting Settings.
  • Verifique se a porta 80 está aberta e não está bloqueada pelo firewall, painel de hospedagem ou provedor de nuvem.
  • Se você tiver um redirecionamento para HTTPS, verifique se /.well-known/acme-challenge/ está excluído, conforme mostrado anteriormente.

“Não autorizado” ou “resposta inválida” durante a emissão

O servidor ACME não pôde verificar seu desafio, provavelmente devido a um dos seguintes motivos:

  • Os registros DNS do seu domínio ainda não foram atualizados (registro A ou AAAA ausente ou ainda em propagação).
  • O arquivo de teste não estava acessível, foi removido muito cedo ou bloqueado por uma regra.
  • Você está usando um CDN ou WAF (como o Cloudflare) que intercepta o tráfego HTTP. Você pode pausar temporariamente o proxy ou colocar o caminho do ACME na lista de permissões.

Nada acontece após a renovação

O certificado é renovado, mas não é aplicado no Plesk.

Certifique-se de que o caminho do script de implantação esteja correto no –reloadcmd.

Verifique se o script é executável, executando-o:

chmod +x /usr/local/bin/plesk-acme-deploy.sh

Olhe dentro do registro ACME com:

tail -n 60 ~/.acme.sh/acme.sh.log

Os erros serão exibidos lá.

Falha na importação da CLI do Plesk

Seu script de implantação pode ser executado, mas o certificado não se aplica.

  • Se o comando plesk não for encontrado, tente usar o caminho completo: /usr/sbin/plesk
  • Verifique novamente se os arquivos.key e .cer realmente existem e se têm os nomes corretos.
  • Para forçar uma reconfiguração manualmente, execute:
plesk bin httpdmng --reconfigure-domain yourdomain.com

Palavras finais

Agora você tem uma configuração SSL limpa e totalmente automatizada em execução no servidor Plesk. Deste ponto em diante, seu certificado será renovado automaticamente em segundo plano e o script atualizará o Plesk imediatamente sempre que você emitir um novo certificado. Você assumiu o controle total do ciclo de vida do certificado e tornou sua vida muito mais fácil.

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.