feat: adiciona 12 plugins Descomplicar ao marketplace
Plugins: automacao, crm-ops, design-media, dev-tools, gestao, infraestrutura, marketing, negocio, perfex-dev, project-manager, wordpress + hello-plugin (existente). Totais: 83 skills, 44 agents, 12 datasets.json Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
242
infraestrutura/skills/cwp-ssl/SKILL.md
Normal file
242
infraestrutura/skills/cwp-ssl/SKILL.md
Normal file
@@ -0,0 +1,242 @@
|
||||
---
|
||||
name: cwp-ssl
|
||||
description: 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".
|
||||
author: Descomplicar® Crescimento Digital
|
||||
version: 1.0.0
|
||||
quality_score: 70
|
||||
user_invocable: true
|
||||
desk_task: 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
|
||||
|
||||
- [AutoSSL CWP Wiki](https://docs.control-webpanel.com/docs/admin-guide/ssl/autossl)
|
||||
- [acme.sh Documentation](https://wiki.centos-webpanel.com/)
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
```bash
|
||||
# Listar todos os certificados CWP
|
||||
ls /root/.acme.sh/cwp_certs/
|
||||
```
|
||||
|
||||
### Verificar Próxima Renovação
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# Verificar cron de renovação
|
||||
crontab -l | grep -i acme
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Workflows
|
||||
|
||||
### 1. Listar Todos os Certificados
|
||||
|
||||
```bash
|
||||
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)
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
# 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)
|
||||
|
||||
```bash
|
||||
# COMANDO OFICIAL
|
||||
sh /scripts/install_acme
|
||||
```
|
||||
|
||||
### 5. Gerar SSL para Hostname
|
||||
|
||||
```bash
|
||||
# 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:**
|
||||
```bash
|
||||
# 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:**
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
# 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)
|
||||
Reference in New Issue
Block a user