# 🌐 CONFIGURAÇÃO WILDCARD DNS NO WHM/CPANEL

## 📋 OBJETIVO
Permitir que cada empresa tenha seu próprio subdomínio automaticamente:
- `empresa1.soumulheragenda.com.br`
- `lojadamaria.soumulheragenda.com.br`
- `salaobeleza.soumulheragenda.com.br`

---

## ⚙️ PASSO 1: CONFIGURAR DNS ZONE NO WHM

### 1.1. Acesse o WHM
```
URL: https://seu-servidor.com:2087
Login: root (ou seu usuário WHM)
```

### 1.2. Editar Zona DNS
1. No WHM, vá em: **DNS Functions** → **Edit DNS Zone**
2. Selecione o domínio: `soumulheragenda.com.br`
3. Clique em **Edit**

### 1.3. Adicionar Registro Wildcard
Role até o final da página e adicione um novo registro:

```
Nome: *.soumulheragenda.com.br.
TTL: 14400
Classe: IN
Tipo: A
Endereço: [IP DO SEU SERVIDOR]
```

**Exemplo**:
```
*.soumulheragenda.com.br.  14400  IN  A  123.45.67.89
```

> **IMPORTANTE**: Substitua `123.45.67.89` pelo IP real do seu servidor!

4. Clique em **Save**

---

## ⚙️ PASSO 2: CONFIGURAR SUBDOMÍNIO NO CPANEL

### 2.1. Acesse o cPanel
```
Login no cPanel da conta principal
```

### 2.2. Criar Subdomínio Wildcard
1. Vá em: **Domínios** → **Subdomínios**
2. Preencha:
   - **Subdomínio**: `*` (asterisco)
   - **Domínio**: `soumulheragenda.com.br`
   - **Diretório Raiz**: `/public_html` (mesmo lugar do CodeIgniter)
3. Clique em **Criar**

---

## ⚙️ PASSO 3: CONFIGURAR SSL WILDCARD (OPCIONAL MAS RECOMENDADO)

### 3.1. Instalar Certificado SSL Wildcard

**Opção A - Let's Encrypt Wildcard (Gratuito)**
1. No WHM: **SSL/TLS** → **Install an SSL Certificate on a Domain**
2. Selecione o domínio
3. Use AutoSSL para gerar certificado wildcard

**Opção B - Certificado Comercial**
1. Compre certificado wildcard (ex: Comodo, DigiCert)
2. Instale via WHM: **SSL/TLS** → **Install an SSL Certificate**

---

## ⚙️ PASSO 4: VERIFICAR SE FUNCIONOU

### 4.1. Teste de DNS
Abra o terminal e execute:
```bash
nslookup teste123.soumulheragenda.com.br
```

**Resultado esperado**:
```
Server:  8.8.8.8
Address:  8.8.8.8

Name:    teste123.soumulheragenda.com.br
Address: 123.45.67.89
```

### 4.2. Teste no Navegador
Acesse qualquer subdomínio:
```
http://teste.soumulheragenda.com.br
http://qualquercoisa.soumulheragenda.com.br
```

Deve carregar a página principal do CodeIgniter (mesmo que vazia).

---

## 🔧 PASSO 5: CONFIGURAR VIRTUAL HOST (SE NECESSÁRIO)

Se você usa Apache com VirtualHosts personalizados:

### 5.1. Editar httpd.conf ou vhost.conf

```apache
<VirtualHost *:80>
    ServerName soumulheragenda.com.br
    ServerAlias *.soumulheragenda.com.br
    DocumentRoot /home/usuario/public_html

    <Directory /home/usuario/public_html>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:443>
    ServerName soumulheragenda.com.br
    ServerAlias *.soumulheragenda.com.br
    DocumentRoot /home/usuario/public_html

    SSLEngine on
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/key.pem

    <Directory /home/usuario/public_html>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
```

### 5.2. Reiniciar Apache
```bash
systemctl restart httpd
# ou
service httpd restart
```

---

## 📝 PASSO 6: CONFIGURAR .htaccess DO CODEIGNITER

O arquivo `.htaccess` na raiz do projeto deve estar assim:

```apache
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # Força HTTPS (opcional)
    # RewriteCond %{HTTPS} off
    # RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    # Remove www (opcional)
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

    # CodeIgniter - Remove index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
```

---

## ✅ CHECKLIST DE VERIFICAÇÃO

Marque conforme for completando:

- [ ] Registro DNS wildcard adicionado no WHM
- [ ] Subdomínio `*` criado no cPanel
- [ ] DNS propagado (pode levar até 24h, mas geralmente 1-2h)
- [ ] Teste com `nslookup` funcionando
- [ ] Teste no navegador carregando página
- [ ] SSL instalado (opcional)
- [ ] .htaccess configurado
- [ ] Apache reiniciado (se necessário)

---

## 🐛 TROUBLESHOOTING

### Problema: "Servidor não encontrado"
**Solução**:
- Aguarde propagação DNS (1-24 horas)
- Verifique se o registro wildcard está correto
- Teste com: `dig *.soumulheragenda.com.br`

### Problema: "404 Not Found"
**Solução**:
- Verifique se o subdomínio aponta para `/public_html`
- Confirme que o .htaccess está correto
- Verifique permissões da pasta (755)

### Problema: "SSL Certificate Error"
**Solução**:
- Instale certificado SSL wildcard
- Configure para `*.soumulheragenda.com.br`
- Pode funcionar sem SSL (HTTP) temporariamente

### Problema: Subdomínio carrega página errada
**Solução**:
- Limpe cache do navegador
- Verifique DocumentRoot no VirtualHost
- Reinicie Apache

---

## 📞 COMANDOS ÚTEIS

### Verificar DNS:
```bash
nslookup empresa.soumulheragenda.com.br
dig empresa.soumulheragenda.com.br
host empresa.soumulheragenda.com.br
```

### Verificar Apache:
```bash
apachectl -t        # Testa configuração
apachectl -S        # Lista VirtualHosts
systemctl status httpd
```

### Limpar cache DNS local:
```bash
# Windows
ipconfig /flushdns

# Linux
sudo systemd-resolve --flush-caches

# Mac
sudo dscacheutil -flushcache
```

---

## 🎯 PRÓXIMOS PASSOS

Após concluir esta configuração:

1. ✅ Wildcard DNS funcionando
2. ➡️ Sistema CodeIgniter detectará subdomínio automaticamente
3. ➡️ Landing page será carregada por empresa
4. ➡️ Editor inline estará disponível para admin

---

## 📊 ESTRUTURA FINAL

```
soumulheragenda.com.br              → Site principal (institucional)
  ├─ /cadastro                      → Cadastro de empresas
  ├─ /login                         → Login do sistema
  └─ /dash                          → Dashboard admin

empresa1.soumulheragenda.com.br    → Landing page da Empresa 1
lojadamaria.soumulheragenda.com.br → Landing page da Loja da Maria
salao.soumulheragenda.com.br       → Landing page do Salão
```

---

## ⏱️ TEMPO ESTIMADO

- Configuração WHM/DNS: 10 minutos
- Propagação DNS: 1-24 horas (geralmente 1-2h)
- Configuração cPanel: 5 minutos
- Testes: 5 minutos

**Total**: ~20 minutos + tempo de propagação DNS

---

## ✅ TUDO CONFIGURADO?

Quando terminar e os subdomínios estiverem respondendo, me avise para continuar com:
- Sistema de detecção de subdomínio no CodeIgniter
- Landing page responsiva
- Editor inline
- Integração com promoções/produtos/serviços

---

**Data**: 2025-11-21
**Sistema**: SouMulherAgenda
**Framework**: CodeIgniter 4
