# Configurar CNAME para frontend (Vercel) no cPanel

Quando uma instalação usa **Vercel** para o frontend, o domínio `{slug}.waygest.com.br` é adicionado ao projeto na Vercel. O **registro CNAME** na zona DNS pode ser criado **automaticamente** pelo sistema (ao cadastrar a instalação ou na página de teste) ou manualmente conforme abaixo.

**Servidor dedicado?** Se o erro for *"Failed to load module ZoneEdit"* ou *"Can't locate Cpanel/API/ZoneEdit.pm"*, vá direto à seção [Servidor dedicado (com WHM)](#servidor-dedicado-com-whm) e siga os dois passos no WHM (função DNS no perfil + Zone Editor no pacote).

## Criação automática

- **Ao cadastrar uma instalação** (com Vercel habilitada): o `InstalacaoService` obtém o CNAME sugerido pela API da Vercel e chama a API Zone Edit do cPanel para criar o registro. Se a Vercel retornar o valor no config, o DNS é criado sem passo manual.
- **Página de teste** (`/teste-dominio/`): execute o teste com o slug desejado; após adicionar o domínio na Vercel, o script tenta criar o CNAME no cPanel automaticamente.

**Se a API da Vercel não retornar o valor do CNAME**, configure no `.env` a variável **`VERCEL_CNAME_TARGET`** com o valor que aparece no painel da Vercel (Domains → domínio → DNS Records, coluna *Value* do registro CNAME). Ex.: `VERCEL_CNAME_TARGET=4dafa96fe01f681d.vercel-dns-017.com`  
Assim o sistema usa esse destino para criar o registro CNAME no cPanel mesmo sem a API retornar `suggestedRecords`.

## Como fazer o Zone Editor alterar automaticamente

A criação automática do CNAME usa a **API do cPanel** (módulo Zone Edit). Se aparecer erro do tipo *"Can't locate Cpanel/API/ZoneEdit.pm"* ou *"Failed to load module ZoneEdit"*, o servidor **não tem o Zone Edit disponível para API** na sua conta. Para passar a funcionar automaticamente:

### Servidor dedicado (com WHM)

*Inclui dedicado na HostGator: no plano dedicado você tem acesso ao WHM; use os passos abaixo (não é necessário abrir chamado com o suporte).*

No dedicado você controla o WHM. Faça **as duas coisas** abaixo (ambas são necessárias):

1. **Habilitar a função DNS no perfil do servidor**  
   - Acesse **WHM** (porta 2087, ex.: `https://waygest.com.br:2087`).  
   - Vá em **Server Configuration** → **Server Profile** (ou **Home** → **Server Configuration** → **Server Profile**).  
   - Confirme que o **perfil em uso** tem a função **DNS** habilitada. Se a função DNS estiver desativada, a API Zone Edit fica bloqueada em todo o servidor.  
   - Se precisar trocar de perfil ou ativar a função DNS, aplique as alterações e aguarde a ativação.

2. **Habilitar Zone Editor no pacote da conta cPanel**  
   - No **WHM** → **Packages** → **Feature Manager**.  
   - Edite o **package** (lista de recursos) usado pela conta cPanel do domínio (ex.: a conta onde está gestao.waygest.com.br / waygest.com.br).  
   - Marque **Zone Editor** (e, se existir, **Advanced DNS Zone Editor** ou **Simple Zone Editor**) como habilitada.  
   - Salve.

**Opcional (se ainda falhar):** No servidor, via SSH, verifique se o módulo Perl existe:  
`perl -MCpanel::API::ZoneEdit -e 1`  
Se der erro, a instalação do cPanel pode estar incompleta; tente atualizar o cPanel: `/scripts/upcp` (como root).

Depois das alterações no WHM, rode de novo **"Configurar DNS (CNAME) para Vercel"** na página da instalação ou o cadastro de uma nova instalação; o CNAME deve ser criado automaticamente.

### Hospedagem compartilhada (ex.: Hostgator)

1. **Abra um chamado com a Hostgator** (suporte).
2. Peça para **habilitar o Zone Editor para uso via API** na sua conta cPanel, ou para instalar/habilitar o módulo **Zone Edit** (Cpanel::API::ZoneEdit) para a API do cPanel.
3. Explique que você precisa criar registros DNS (CNAME) via API (por exemplo: *"Preciso que a API Zone Edit do cPanel esteja disponível na minha conta para adicionar registros CNAME via script."*).
4. Depois que confirmarem a alteração, rode de novo o teste em `/teste-dominio/` ou o cadastro de instalação; o passo 3 deve concluir sem erro.

### VPS / revenda (com WHM)

1. Acesse **WHM** → **Packages** → **Feature Manager**.
2. Edite o **package** usado pela conta do domínio (ex.: waygest.com.br).
3. Marque a opção **Zone Editor** (e, se existir, algo como *Zone Editor – Advanced* ou *DNS Zone Editor*) como habilitada.
4. Salve. Se ainda falhar, verifique em **Server Configuration** → **Server Profile** se a função **DNS** está habilitada no perfil do servidor.

### Enquanto a API não estiver disponível

Use a **criação manual** (passo a passo abaixo). A página de teste exibe o **Nome** e o **Valor** exatos do CNAME quando a API falha por falta do Zone Edit, para você copiar e colar no Zone Editor do cPanel.

## Criação manual (se o automático falhar ou não houver CNAME no config)

## Onde configurar

- **Domínio da zona:** waygest.com.br  
- **Onde:** cPanel → **Zone Editor** (ou “Editor de Zona”) → zona de **waygest.com.br**

## Passo a passo

1. No cPanel, abra **Zone Editor** e selecione o domínio **waygest.com.br** (se tiver mais de um).
2. Clique em **+ Adicionar Registro** (ou “Add Record”).
3. Preencha:
   - **Nome:** apenas o slug do subdomínio, ex.: `teste2` (para `teste2.waygest.com.br`). Em alguns painéis o campo pode aceitar `teste2.waygest.com.br` ou já completar com o domínio; use o que o painel pedir para “nome do subdomínio”.
   - **TTL:** 14400 (ou deixe o padrão).
   - **Tipo:** **CNAME**
   - **Registro / Destino / Target:** o valor indicado pela Vercel para esse domínio, ex.:  
     `4dafa96fe01f681d.vercel-dns-017.com.`  
     (pode terminar com ponto; o valor exato aparece no painel da Vercel em Domains → domínio → aba “DNS Records”.)
4. Salve o registro.

## Onde pegar o valor do CNAME (Vercel)

- **Painel:** Vercel → projeto → **Domains** → clique no domínio (ex. `teste2.waygest.com.br`) → aba **DNS Records**.  
- Na tabela, use o **Type** CNAME: a coluna **Name** é o nome do subdomínio e **Value** é o destino (ex. `….vercel-dns-017.com.`).
- **Página de teste:** em `/teste-dominio/`, após adicionar o domínio na Vercel, a página pode exibir as instruções de DNS (incluindo o CNAME) quando a API da Vercel retornar essa informação.

## Resumo por instalação

| Subdomínio              | Onde é criado | Tipo  | Quem cria                          |
|-------------------------|---------------|-------|------------------------------------|
| api.{slug}.waygest.com.br | cPanel        | A (e TXT) | HostgatorService (subdomínio) + Zone automática |
| {slug}.waygest.com.br   | Zone DNS      | **CNAME** | Manual no cPanel (apontando para valor da Vercel) |

Depois de criar o CNAME, aguarde a propagação DNS (minutos a algumas horas). A Vercel deve passar a marcar o domínio como válido (“Valid Configuration”).
