13-troubleshooting.md (3028B)
1 # Resolução de problemas 2 3 [← Índice](README.md) 4 5 ## Bolhas / constelação não aparecem 6 7 1. Confirmar que existe **`DocumentRoot/data/members.json`** (não só `site/public/data/members.json` no clone). 8 2. Ver mensagem de **`create_runv_user.py`**: AVISO se DocumentRoot inexistente ou se `genlanding --sync-public-only` falhou (ver log / comando manual sugerido). 9 3. Browser: em viewport ≤768px o JS **omitido** de propósito (`app.js`). 10 11 ## `members.json` vazio 12 13 - `users.json` inexistente → `build_directory.py` assume `[]` com aviso em stderr. 14 - JSON inválido → script termina com erro. 15 16 ## Página `Index of /~USER` 17 18 - O Apache mostra listagem quando `~/public_html/` existe mas falta `~/public_html/index.html`. 19 - Repare sem sobrescrever conteúdo existente: 20 21 ```bash 22 sudo python3 REPO/scripts/admin/repair_user.py --user USER --dry-run --verbose 23 sudo python3 REPO/scripts/admin/repair_user.py --user USER 24 ``` 25 26 - O reparador também corrige `~` para `755`, cria `.ssh`, `public_html`, `public_gopher`, `public_gemini` se faltarem, e cria modelos ausentes de `index.html`, `gophermap` e `index.gmi`. Ver [16-repair-users.md](16-repair-users.md). 27 28 ## Email não envia (entre / Mailgun) 29 30 - Verificar `/etc/runv-email.json`, segredos, `admin_email`, `email_package_root` / `RUNV_EMAIL_ROOT`. 31 32 ## Apache 33 34 - `apache2ctl configtest` após alterações de vhost. 35 - `genlanding.py` imprime erros se `build_directory` falhar. 36 37 ## Feed RSS descarrega em vez de abrir no browser 38 39 - O `mod_mime` trata `.rss` como `application/rss+xml`; o Chromium costuma **descarregar**. Com `genlanding` ≥ 0.08 o snippet usa **`RemoveType`**, **`Header set Content-Type`** (requer **`mod_headers`**) e **`a2enconf runv-landing-rss-mime`**. Verifique: `curl -sI https://runv.club/news/feed.rss | grep -i content-type` → deve ser **`text/xml`**. 40 - Com `genlanding` ≥ 0.07 e < 0.08: confirme **`/etc/apache2/conf-available/runv-landing-rss-mime.conf`**, symlink em `conf-enabled`, DocumentRoot correcto; volte a correr o **`genlanding` completo** (0.08+) para aplicar `Header` + `headers`. 41 - Instalações antigas só com `ForceType` no `:80`: corra o `genlanding` completo de novo ou veja [06-site-and-apache.md](06-site-and-apache.md). 42 43 ## Quotas 44 45 - FS não ext4 → automatização de `starthere.py` pode recusar; configurar manualmente ou usar volume ext4. 46 47 ## SSH `entre` 48 49 - Sessão fecha de imediato: rever PAM / modo `empty-password` / logs em `/var/log/runv/entre.log`. 50 - `/usr/bin/python3: can't open file '/opt/runv/terminal/entre_app.py': [Errno 13] Permission denied`: permissões da instalação em `/opt/runv/terminal` ficaram restritivas ou inconsistentes. Reexecute `sudo python3 REPO/terminal/setup_entre.py --yes` (com as mesmas flags de `--auth-mode` usadas em produção, se não forem as padrão) para reaplicar dono e modos: `/opt/runv` atravessável, árvore do módulo `root:entre` com diretórios `0750` e ficheiros `0640`. 51 52 Próximo: [14-smoke-tests-and-validation.md](14-smoke-tests-and-validation.md).