Como desativar ou reduzir em massa as notificações do AutoSSL no WHM, para o root e para todas as contas cPanel, pela interface ou com a UAPI.
O AutoSSL emite e renova sozinho os certificados gratuitos (Let's Encrypt) das contas do servidor. O problema é o barulho: em servidores com muitas contas, o root e os clientes recebem e-mails de renovação, de domínios que falharam na validação e de certificados prestes a vencer, muitas vezes de domínios que nem apontam mais para o servidor. Dá para controlar isso em três níveis: o padrão do servidor, o root e cada conta.
Antes de começar
- Acesso ao WHM como
root. Para o método por linha de comando, acesso SSH como root. - Decida o que quer manter. O recomendado é não desligar tudo: manter os avisos de falha ajuda a pegar domínio com DNS errado antes de o certificado vencer.
1. Defina o nível de notificação do AutoSSL para todo o servidor
- Abra o AutoSSL. Vá em WHM » SSL/TLS » Manage AutoSSL e clique na aba Options.
- Ajuste as notificações dos usuários. Na seção Notifications, para os usuários cPanel, escolha entre:
- notificar todos os eventos, inclusive sucessos;
- notificar falhas, avisos e adiamentos;
- notificar apenas falhas;
- Disable AutoSSL user notifications (não enviar nada aos usuários).
- Ajuste as notificações do administrador em Administrator Notifications, com as mesmas opções. O padrão é avisar falhas, avisos e adiamentos.
- Salve a página.
2. Reduza as notificações que chegam ao root
Em WHM » Server Contacts » Contact Manager, aba Communication Type, você define a importância de cada tipo de aviso que vai para o contato do servidor. Para os eventos de SSL, como AutoSSL has installed a certificate successfully e os de certificados expirando, escolha a importância desejada ou None para não receber. O e-mail de contato do servidor é configurado como explicado em e-mail do root e contato do servidor no WHM.
3. Desative as notificações de SSL em todas as contas pela linha de comando
Cada conta cPanel também tem as próprias preferências, em cPanel » Preferences » Contact Information. Uma delas, o aviso de vencimento de certificados que não são do AutoSSL (notify_ssl_expiry), não é controlada pela tela do AutoSSL. Para mudar em massa, use a UAPI do cPanel.
- Crie o script.
Conteúdo:nano /root/desativar-avisos-ssl.sh#!/bin/bash PREFS='{"preferences": {"notify_ssl_expiry": 0, "notify_autossl_expiry": 0, "notify_autossl_expiry_coverage": 0, "notify_autossl_renewal_coverage": 0, "notify_autossl_renewal_coverage_reduced": 0, "notify_autossl_renewal_uncovered_domains": 0}}' for u in $(ls -1 /var/cpanel/users); do echo "$PREFS" | uapi --user="$u" --input=json ContactInformation set_notification_preferences >/dev/null && echo "ok $u" || echo "ERRO $u" done - Teste com uma conta antes. Troque
usuariopor uma conta de teste:
A resposta deve trazerecho '{"preferences": {"notify_ssl_expiry": 0}}' | uapi --user=usuario --input=json ContactInformation set_notification_preferencesstatus: 1. Confira em Contact Information, no cPanel dessa conta, se a opção ficou desmarcada. - Rode para todas as contas.
chmod 700 /root/desativar-avisos-ssl.sh /root/desativar-avisos-ssl.sh
PREFS. Para religar, troque os 0 por 1 e rode de novo. Scripts antigos que usam cpapi2 ... CustInfo savecontactinfo dependem da API 2 do cPanel, que está obsoleta; prefira a UAPI.Problemas comuns
Os clientes continuam recebendo avisos de falha de validação
Normalmente são domínios ou subdomínios que não apontam mais para o servidor. Em vez de silenciar, resolva a causa: corrija o DNS ou exclua o domínio da checagem. Para achar esses domínios, veja como verificar se os domínios do servidor apontam para ele.
O script mostra ERRO em algumas contas
Contas suspensas ou com problema no arquivo de usuário podem recusar a chamada. Rode o comando manualmente para essa conta e leia a mensagem de erro completa.