Cerebro Studio · Backlog · Changelog
Cerebro • /root/cerebro/docs/changelog/2026/CL-2026-03-11-BK-119.md • 2026-03-11T15:16:58.793Z

CL-2026-03-11-BK-119 · Governanca do comando nginx e bloqueio do service Ubuntu

  • Status: (V) conferido e aprovado
  • Escopo: plataforma
  • Projetos afetados: cerebro, legalizarj, rionoteatro, seuimovel
  • BK relacionado: BK-119
  • Aprovacao humana obrigatoria: sim
  • Data: 2026-03-11
  • Autor: Codex (GeJoRei-VPS)
  • revisor_ia: auto-revisao

Resumo

Foi aplicada uma mitigacao operacional para reduzir a ambiguidade entre o Nginx do Ubuntu e o Nginx real do aaPanel. O comando nginx passou a apontar por wrapper para o binario do aaPanel com a configuracao correta, e nginx.service do Ubuntu foi mascarado para impedir start/restart acidental via systemd. A remocao do pacote Ubuntu nao foi executada nesta etapa porque ainda existe pelo menos um caminho no aaPanel que chama nginx -t puro, o que justifica manter a compatibilidade do comando enquanto a limpeza estrutural nao recebe BK proprio.

Contexto

  • O host tem duplicidade entre:
  • /usr/sbin/nginx e nginx.service do pacote Ubuntu;
  • /www/server/nginx/sbin/nginx -c /www/server/nginx/conf/nginx.conf, que e o proxy real dos sites.
  • A investigacao encontrou que a maior parte do aaPanel ja usa o binario proprio, mas backup_restore/data_manager.py ainda executa nginx -t puro.
  • Remover imediatamente o pacote Ubuntu neste momento poderia reintroduzir quebra ou comportamento inconsistente em caminhos do painel que ainda esperam a presenca do comando nginx.

Entregas Tecnicas

1) Wrapper do comando nginx

  • Criado /usr/local/sbin/nginx com precedencia no PATH do host.
  • O wrapper chama /www/server/nginx/sbin/nginx -c /www/server/nginx/conf/nginx.conf por padrao.
  • Se o operador passar -c explicitamente, o wrapper respeita o config informado.

2) Bloqueio do service errado

  • nginx.service do Ubuntu foi mascarado com systemctl mask nginx.service.
  • Isso impede uso acidental de systemctl start nginx ou systemctl restart nginx contra o stack errado.

3) Sinalizacao adicional no host

  • Atualizado o cabecalho de /etc/nginx/nginx.conf para refletir o estado atual:
  • o proxy real esta no aaPanel;
  • nginx -t agora valida o stack correto;
  • nginx.service foi mascarado.

Validacao objetiva

  • command -v nginx passou a retornar /usr/local/sbin/nginx.
  • nginx -t passou a validar /www/server/nginx/conf/nginx.conf.
  • ulimit -n 8192; nginx -t retornou rc=0, cobrindo o padrao de chamada encontrado no aaPanel.
  • /www/server/nginx/sbin/nginx -t -c /www/server/nginx/conf/nginx.conf permaneceu valido.
  • systemctl is-enabled nginx.service retornou masked.
  • systemctl is-active nginx.service permaneceu inactive.

O que ficou deliberadamente fora

  • O pacote nginx do Ubuntu nao foi removido nesta etapa.
  • python3-certbot-nginx tambem nao foi removido nesta etapa.
  • A remocao/purge desses pacotes deve acontecer apenas depois de BK proprio para:
  • auditar todos os caminhos do aaPanel e scripts externos que ainda usem nginx puro;
  • decidir se service nginx deve ser substituido por unit systemd propria do aaPanel ou se a remocao completa e aceitavel.

Backup e rollback

  • Backup versionado em /root/cerebro/backups/system/2026-03-11-bk119-nginx-command-governance/.
  • Rollback em /root/cerebro/backups/system/2026-03-11-bk119-nginx-command-governance/rollback.sh.

Risco residual

  • A duplicidade estrutural de pacotes ainda existe.
  • O risco de erro humano caiu muito porque nginx -t agora cai no stack certo e systemctl nginx foi bloqueado.
  • A limpeza final do pacote Ubuntu continua recomendada, mas agora como etapa separada e com evidencias melhores.