Files
claude-plugins/infraestrutura/skills/cwp-ssl/SKILL.md
Emanuel Almeida 9404af7ac9 feat: sync all plugins, skills, agents updates
New plugins: core-tools
New skills: auto-expense, ticket-triage, design, security-check,
  aiktop-tasks, daily-digest, imap-triage, index-update, mindmap,
  notebooklm, proc-creator, tasks-overview, validate-component,
  perfex-module, report, calendar-manager
New agents: design-critic, design-generator, design-lead,
  design-prompt-architect, design-researcher, compliance-auditor,
  metabase-analyst, gitea-integration-specialist
Updated: all plugin configs, knowledge datasets, existing skills

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 17:16:32 +00:00

6.6 KiB

name, description, author, version, quality_score, user_invocable, desk_task
name description author version quality_score user_invocable desk_task
cwp-ssl CWP AutoSSL management using native acme.sh. Manages SSL certificates, renewals, and troubleshooting. Based on official CWP documentation only. Use when user mentions "ssl cwp", "autossl", "certificado ssl", "renovar ssl", "acme.sh". Descomplicar® Crescimento Digital 1.1.0 72 true null

/cwp-ssl - Gestão SSL CWP (Documentação Oficial)

Gestão de certificados SSL no CWP usando acme.sh nativo. Zero assumptions, zero hallucinations - apenas comandos documentados oficialmente.

REGRA #38 - ZERO INVENCAO: NUNCA improvisar comandos. Verificar estado actual ANTES de alterar. Pesquisar wiki CWP se necessario. Usar APENAS scripts oficiais.


Servidor Alvo

Servidor IP MCP User
CWP Principal 176.9.3.158 ssh-unified root

Documentação Base

Documentação Hub (Consultar SEMPRE)

Manuais locais (Hub/06-Operacoes/Documentacao/Manuais/CWP/):

  • CWP-Manual-Completo.md - Admin Guide + Wiki (seccoes SSL & Security, WebServers) - 503KB
  • CWP-Guia-do-Utilizador.md - Painel utilizador (seccao AutoSSL) - 72KB
  • CWP-Ferramentas-Desenvolvimento.md - API AutoSSL (add/del/list/renew) - 82KB

Quick Reference: Hub/06-Operacoes/Documentacao/Quick-Reference/QR-CWP.md

NotebookLM (pesquisa AI sobre toda a documentacao CWP):

mcp__notebooklm__notebook_query notebook_id:"0ded7bd6-69b3-4c76-b327-452396bf7ea7" query:"ssl certificado autossl renovacao"

Paths Oficiais (Documentados)

Path Descrição
/root/.acme.sh/ Instalação acme.sh
/root/.acme.sh/cwp_certs/ Certificados CWP
/root/.acme.sh/acme.sh.log Log acme.sh
/var/log/cwp/autossl.log Log AutoSSL CWP
/usr/local/apache/autossl_tmp/ Webroot para validação SSL
/etc/pki/tls/certs/ Certificados Nginx
/etc/pki/tls/private/ Chaves privadas Nginx

Scripts Oficiais

Script Descrição
/scripts/install_acme Instala/reinstala acme.sh
/scripts/autossl_reload Reload AutoSSL
/scripts/generate_hostname_ssl Gera SSL para hostname
/scripts/hostname_ssl_restart_services Restart serviços após SSL hostname

Comandos Documentados

Verificar Certificados Instalados

# Listar todos os certificados CWP
ls /root/.acme.sh/cwp_certs/

Verificar Próxima Renovação

# Ver data de próxima renovação para um domínio
grep "Le_NextRenewTimeStr" /root/.acme.sh/cwp_certs/www.DOMINIO_ecc/www.DOMINIO.conf

Forçar Renovação Manual

# COMANDO OFICIAL para forçar renovação
/root/.acme.sh/acme.sh --renew -d DOMINIO --force --home /root/.acme.sh/cwp_certs

Verificar Certificado Activo

# Verificar validade de certificado em produção
echo | openssl s_client -connect DOMINIO:443 2>/dev/null | openssl x509 -noout -dates

Ver Logs de Renovação

# Log acme.sh
tail -100 /root/.acme.sh/acme.sh.log | grep DOMINIO

# Log AutoSSL CWP
tail -100 /var/log/cwp/autossl.log

Cron de Renovação Automática

Cron CWP (documentado): 23 2 * * * - Renovação diária às 02:23

# Verificar cron de renovação
crontab -l | grep -i acme

Workflows

1. Listar Todos os Certificados

for d in $(ls /root/.acme.sh/cwp_certs/); do
  echo "=== $d ==="
  grep -E 'Le_NextRenewTimeStr|Le_Alt' /root/.acme.sh/cwp_certs/$d/*.conf 2>/dev/null | head -3
done

2. Verificar Certificados Expirando (<30 dias)

for d in $(ls /root/.acme.sh/cwp_certs/); do
  domain=$(echo $d | sed 's/_ecc$//')
  echo "=== $domain ==="
  echo | openssl s_client -connect $domain:443 2>/dev/null | openssl x509 -noout -dates
done 2>&1 | grep -A1 "notAfter"

3. Forçar Renovação de Domínio Específico

# Substituir DOMINIO pelo domínio real
/root/.acme.sh/acme.sh --renew -d DOMINIO --force --home /root/.acme.sh/cwp_certs

4. Reinstalar acme.sh (se corrompido)

# COMANDO OFICIAL
sh /scripts/install_acme

5. Gerar SSL para Hostname

# COMANDO OFICIAL
sh /scripts/generate_hostname_ssl
sh /scripts/hostname_ssl_restart_services

Troubleshooting Documentado

Renovação Falha - Muitos Subdomínios

Problema: Le_Alt contém muitos subdomínios (mail, ftp, cpanel) - qualquer falha bloqueia tudo.

Solução documentada:

# Editar .conf para ter apenas domínio principal
vi /root/.acme.sh/cwp_certs/www.DOMINIO_ecc/www.DOMINIO.conf
# Reduzir Le_Alt para apenas 'DOMINIO'

Webroot Incorrecto

Problema: Validação falha porque ficheiro .well-known/acme-challenge/ não é encontrado.

Solução documentada:

# O Nginx CWP serve validação de pasta GLOBAL, não do site
# Pasta correcta:
/usr/local/apache/autossl_tmp/

# NUNCA usar (não funciona):
/home/user/domain.pt/.well-known/

Ver Erro Específico

tail -100 /root/.acme.sh/acme.sh.log | grep -E 'error|Error|ERRO'

Anti-Patterns (NUNCA FAZER)

Anti-Pattern Risco Alternativa
Usar certbot Conflito com acme.sh nativo Usar acme.sh CWP
Incluir mail/ftp/cpanel em Le_Alt Falha em cascata Apenas domínio principal
Criar hooks manuais Sobrescrito em update Usar scripts oficiais
Editar certificados em /etc/pki/ Sobrescrito Editar em cwp_certs

Validação Pós-Operação

Após qualquer operação SSL, validar:

# 1. Certificado instalado correctamente
echo | openssl s_client -connect DOMINIO:443 2>/dev/null | openssl x509 -noout -subject -dates

# 2. Sem erros no log
tail -20 /root/.acme.sh/acme.sh.log | grep -i error

# 3. Site acessível via HTTPS
curl -sI https://DOMINIO | head -5

Thresholds de Alerta

Condição Status Acção
Expira >30 dias OK Nenhuma
Expira 15-30 dias Warning Monitorizar
Expira <15 dias Crítico Renovar imediatamente
Expirado Urgente Forçar renovação

Checklist de Execução

  • Verificar domínio existe em cwp_certs
  • Verificar webroot está acessível
  • Executar comando de renovação se necessário
  • Validar certificado após operação
  • Verificar logs sem erros

Versão: 1.0.0 | Autor: Descomplicar® Fonte: Documentação oficial CWP (docs.control-webpanel.com, wiki.centos-webpanel.com)