# Pôr o backoffice WOOFTAILES a funcionar a sério em admin.wooftailes.com

Guia detalhado, passo a passo, feito à medida do teu cPanel (domínio
`wooftailes.com`, utilizador `wooftailes`, SSL já ativo). Vou assumir que é a
primeira vez que fazes isto — nenhum passo depende de saberes nada à partida.

Decisões já tomadas (dá para voltar atrás em qualquer uma, é só avisar):
endereço final **admin.wooftailes.com**; base de dados arranca **vazia** (só
a conta de administrador); e-mails saem de **admin@wooftailes.com**.

Há 9 partes. Fá-las por ordem — cada uma depende da anterior.

---

## Parte 1 — Criar a base de dados

No cPanel: **Databases → Database Wizard**.

1. **Step 1**: no campo do nome, escreve `admin` e clica **Next Step**
   (o cPanel vai transformar isto em `wooftailes_admin` — repara nisso,
   porque é esse o nome completo que vais usar mais à frente, não só `admin`)
2. **Step 2**: cria um utilizador novo. Nome: `admin` (fica `wooftailes_admin`).
   Password: usa o gerador de password do próprio cPanel (botão ao lado do
   campo) e **copia essa password para um sítio seguro** — vais precisar dela
   daqui a pouco e não voltas a vê-la neste ecrã
3. **Step 3**: marca **ALL PRIVILEGES** e clica **Next Step**

No fim fica assim, anota os três valores:

| | |
|---|---|
| Nome da base de dados | `wooftailes_admin` |
| Utilizador | `wooftailes_admin` |
| Password | *(a que copiaste)* |

---

## Parte 2 — Criar o subdomínio

No cPanel: **Domains → Domains → Create A New Domain**.

1. Campo **Domain**: escreve `admin.wooftailes.com`
2. O cPanel vai sugerir um **Document Root** tipo
   `/home/wooftailes/admin.wooftailes.com` — **muda isto**, acrescenta
   `/wooftailes_admin/public` no fim, para ficar:
   `/home/wooftailes/admin.wooftailes.com/wooftailes_admin/public`
   (isto é importante: só a pasta `public` deve ficar acessível a quem visita
   o site; o resto da aplicação — onde está o `.env` com passwords — fica
   escondido um nível acima)
3. Clica **Submit**

Depois de criado, vai a **Security → SSL/TLS Status**, procura
`admin.wooftailes.com` na lista e confirma que diz **Active** a verde. Se não
disser, marca a caixa ao lado do domínio e clica **Run AutoSSL** no topo da
página — demora um a dois minutos.

---

## Parte 3 — Enviar os ficheiros (sem terminal nenhum, só o browser)

1. No cPanel: **Files → File Manager**
2. No painel da esquerda, navega até
   `admin.wooftailes.com` → a pasta que aparecer lá dentro (vai ser algo como
   `admin.wooftailes.com`, um nível acima do `public` que o cPanel já criou)
3. Clica **Upload** (botão no topo), e no ecrã que abre arrasta para lá o
   ficheiro `wooftailes-admin-producao.zip` que te enviei. Para ~100MB demora
   uns minutos consoante a tua ligação — não feches a janela antes de
   terminar (a barra de progresso chega aos 100%)
4. Volta ao File Manager (fecha o separador do upload), clica em cima do
   ficheiro `.zip` para o selecionar, e no menu do topo clica **Extract**
5. Vais ficar com uma pasta `wooftailes-admin` dentro de
   `admin.wooftailes.com`. **Renomeia-a** para `wooftailes_admin` (botão
   direito → Rename), para bater certo com o Document Root que configuraste
   na Parte 2
6. Por fim, dentro de `wooftailes_admin/public`, confirma que lá está um
   ficheiro chamado `index.php` — se estiver, o caminho está certo

Podes apagar o `.zip` depois de confirmares que a pasta `wooftailes_admin`
tem lá tudo (poupa espaço, mas não é urgente).

---

## Parte 4 — Preencher o `.env` (ainda sem terminal)

1. No File Manager, entra em `wooftailes_admin` (a pasta da aplicação, não a
   `public`)
2. Vais ver um ficheiro `.env.production.example`. Se não aparecer nenhum
   ficheiro que comece por ponto, clica **Settings** (canto superior direito
   do File Manager) e liga **Show Hidden Files**
3. Clica nele → botão **Copy** no topo → cola o nome `.env` (sem mais nada à
   frente) → **Copy File(s)**
4. Agora clica no novo ficheiro `.env` → **Edit** (abre um editor de texto
   simples dentro do browser)
5. Preenche exatamente estes três campos com os valores da Parte 1:
   ```
   DB_DATABASE=wooftailes_admin
   DB_USERNAME=wooftailes_admin
   DB_PASSWORD=a-password-que-copiaste-na-parte-1
   ```
6. O campo `MAIL_PASSWORD` deixa em branco por agora — preenches depois da
   Parte 7
7. Clica **Save Changes**

---

## Parte 5 — O que é SSH, e como lá chegar

As próximas coisas (ligar a aplicação à base de dados a sério, gerar a chave
de segurança) só dá para fazer escrevendo comandos, não por cliques. Isso
chama-se **SSH** — uma "linha de comandos" ligada diretamente ao servidor.
Não precisas de instalar nada de especial: tanto o Mac como o Windows já
trazem isto de fábrica.

**Antes de mais**, confirma que o SSH está ligado na tua conta: cPanel →
**Security → SSH Access** → se houver um botão **Enable**, clica nele. Depois,
na mesma página, repara no número da **porta** (normalmente `22`, mas alguns
alojamentos usam outro número — se não vir nada, assume `22`).

**Se usas um Mac:**
1. Abre o **Launchpad** → escreve "Terminal" → abre a aplicação Terminal
2. Escreve isto e carrega Enter (troca `22` se a tua porta for outra):
   ```
   ssh wooftailes@wooftailes.com -p 22
   ```

**Se usas Windows (10 ou 11):**
1. Clica no botão Pesquisar (ao lado do menu Iniciar) → escreve "Terminal"
   → abre a aplicação **Terminal** (ou "Prompt de Comando" se não tiveres a
   Terminal nova — funciona da mesma forma)
2. Escreve a mesma linha de cima e carrega Enter

Na primeira vez vai aparecer uma pergunta tipo *"Are you sure you want to
continue connecting?"* — escreve `yes` e Enter. A seguir pede a password:
é a password da tua conta cPanel (não a da base de dados). Ao escrever a
password não aparece nada no ecrã, nem pontinhos — é normal, escreve na
mesma e carrega Enter.

Quando ligar, a linha muda para algo como `wooftailes@servidor:~$` — é esse
sinal que confirma que já estás "dentro" do servidor.

---

## Parte 6 — Instalar a aplicação (comandos a colar, um de cada vez)

Já dentro do SSH (da Parte 5), cola estes comandos um a um, Enter a seguir a
cada um, e espera que termine antes de colar o seguinte:

```
cd admin.wooftailes.com/wooftailes_admin
```
*(entra na pasta da aplicação — se der erro "No such file or directory",
confirma o caminho exato no File Manager e ajusta)*

```
composer install --no-dev --optimize-autoloader
```
*(instala as bibliotecas de que o Laravel precisa — demora um a dois
minutos, vai mostrando uma lista a passar)*

```
php artisan key:generate --force
```
*(gera a chave de segurança da aplicação — deve responder
"Application key set successfully")*

```
php artisan migrate --force
```
*(cria as tabelas na base de dados — deve mostrar uma lista de "migrations"
a passar, todas a terminar em "DONE". Se dér erro de ligação à base de
dados, volta à Parte 4 e confirma os três valores do `.env`)*

```
php artisan storage:link
```

```
php artisan config:cache && php artisan route:cache && php artisan view:cache
```

Pronto — a aplicação está instalada. Repara que **não** usámos `--seed` em
lado nenhum: a base de dados fica só com a conta de administrador
(`admin@wooftailes.com`, password inicial `12345678`), sem nenhum
profissional ou reserva de mentira.

---

## Parte 7 — Versão do PHP e caixa de correio

**PHP:** cPanel → **Software → MultiPHP Manager** → marca a caixa ao lado de
`admin.wooftailes.com` → no menu **PHP Version** escolhe **8.2** ou **8.3**
→ **Apply**.

**E-mail (só se existir "Email Accounts" no teu cPanel — nem todos os planos
têm):** cPanel → **Email → Email Accounts → Create** → cria
`admin@wooftailes.com` com uma password. Depois, nessa conta, clica
**Connect Devices** e confirma o servidor SMTP exato (costuma ser
`mail.wooftailes.com`, porta `587`). Volta ao File Manager, abre o `.env`
outra vez (Parte 4) e preenche `MAIL_PASSWORD` com essa password, ajustando
`MAIL_HOST`/`MAIL_PORT` se forem diferentes do que já lá está.

Depois de mudar o `.env`, volta ao SSH (Parte 5) e corre:
```
php artisan config:cache
```
(só assim é que a aplicação relê o ficheiro — sem isto continua a usar os
valores antigos)

---

## Parte 8 — Confirmar que está tudo bem

1. Abre `https://admin.wooftailes.com` num separador novo — deve aparecer a
   página de login, com o cadeado verde do browser
2. Entra com `admin@wooftailes.com` / `12345678`
3. **Muda a password imediatamente** (canto superior direito → nome →
   definições de conta — ou diz-me e preparo esse ecrã)
4. Deve aparecer "Profissionais" com a lista **vazia** — confirma que
   arrancaste mesmo sem dados de demonstração

---

## Parte 9 — Se algo correr mal

- **"500 Internal Server Error" ao abrir o site**: volta ao SSH e corre
  `php artisan config:clear`, depois `php artisan config:cache` outra vez.
  Se continuar, diz-me o conteúdo de
  `wooftailes_admin/storage/logs/laravel.log` (as últimas 30 linhas)
- **Pede sempre login outra vez, mesmo com a password certa**: confirma que
  `APP_URL` no `.env` é exatamente `https://admin.wooftailes.com` (sem `/`
  no fim)
- **Erro de ligação à base de dados no `php artisan migrate`**: confirma os
  três valores (`DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD`) no `.env`
  contra os que anotaste na Parte 1 — é o erro mais comum
- **O comando `composer` diz "command not found"**: o teu alojamento pode
  ter o composer num caminho diferente — tenta
  `php composer.phar install --no-dev --optimize-autoloader`, ou pergunta ao
  suporte do alojamento qual é o caminho certo

Qualquer erro que não esteja aqui, copia a mensagem exata e manda-ma — é mais
fácil resolver com o texto do erro do que a adivinhar.
