Release validada Uso interno Rapid Cloud

AlmaLinux 9 limpo até um cPanel pronto.

Automação interna para atualizar o sistema, instalar o cPanel/WHM, configurar segurança e serviços e validar o servidor depois dos reboots.

3 fases com estado em disco Retomada automática Verificação pós-reboot

Execute somente em servidor limpo. Tire um snapshot, confirme acesso ao console/VNC e use IPv4 público estático. O processo altera SSH, firewall e /tmp e reinicia o servidor automaticamente.

Comece por aqui

Execute como root. No modo interativo não é necessário preparar exports: o script pergunta hostname, confirmações de segurança e o webhook opcional do Slack.

Preflight opcional

Valida plataforma, recursos, DNS e configuração sem iniciar o provisionamento. Registro A ausente ou divergente gera aviso; SERVFAIL, REFUSED e timeout continuam bloqueando.

curl --proto '=https' --proto-redir '=https' --tlsv1.2 -fsSL \
  https://get.rapidcloud.com.br/install.sh | \
  CPANEL_BOOTSTRAP_SHA256=6980f1a369739c5c8cbc0c74065373f5b7e830f6ad877efecb04aff81c82abc8 \
  bash -s -- --preflight-only

Baixar, revisar e executar manualmente

Alternativa para conferir o arquivo completo antes de iniciar.

curl --proto '=https' --proto-redir '=https' --tlsv1.2 -fsSL \
  https://get.rapidcloud.com.br/cpanel-bootstrap.sh \
  -o /root/cpanel-bootstrap.sh
echo '6980f1a369739c5c8cbc0c74065373f5b7e830f6ad877efecb04aff81c82abc8  /root/cpanel-bootstrap.sh' | sha256sum -c -
chmod 0700 /root/cpanel-bootstrap.sh
bash /root/cpanel-bootstrap.sh

O preflight isolado não grava o estado das perguntas. Ao iniciar a instalação real, elas serão solicitadas novamente. Não é preciso preparar export para instalar antes do apontamento DNS.

Três fases, estado em disco

O estado é persistido para sobreviver aos reboots e permitir retomadas seguras.

Fase 1 — preparar

Executa preflight, atualiza o AlmaLinux, prepara rede, horário, SSH, firewall transitório e persistência. Ao terminar, reinicia automaticamente.

Fase 2 — instalar

Reconfirma o firewall transitório, valida DNS novamente e executa o instalador oficial uma única vez. Sem o A definitivo, aceita o hostname provisório *.cprapid.com e continua a configuração.

Fase 3 — comprovar

Somente após um reboot real (guarda de boot), verifica serviços, licença, SSL realmente servido, firewall nas duas famílias e segurança. DNS, hostname ou certificado pendentes seguem em reconciliação automática.

Instalador single-shot: o download pode repetir, mas sh latest roda somente uma vez. Se houver instalação parcial, não remova markers e não execute o instalador novamente — restaure o snapshot/SO limpo.

O que o bootstrap entrega

Uma base consistente para hospedagem, com validações posteriores ao invés de confiar apenas no retorno dos instaladores.

cPanel / WHM

Instalação e tier controlados

Tier definido antes do instalador, versão confirmada e proteção contra reexecução do latest.

DNS / Hostname

FQDN validado de ponta a ponta

Registro A ausente ou divergente não bloqueia por padrão. Quando restar somente o A para o IP público, o watcher chama set_hostname e refaz SSL e fase 3.

TLS / AutoSSL

Certificado realmente servido

Confere cadeia pública, hostname e validade em 2087; retries usam cooldown seguro para evitar rate-limit.

Segurança

SSH, CSF/LFD e cPHulk

Porta 1140, porta 22 de segurança por padrão, whitelist administrativa, IPv4 + IPv6 e política SMTP sob controle do CSF.

Aplicações

PHP-FPM, Apache e MariaDB

MPM event, defaults PHP, FPM para contas novas, tuning do banco por RAM e file descriptors confirmados.

Proteção

WAF, antivírus e backups

ModSecurity/OWASP, ImunifyAV exclusivo por padrão e backups locais com destino SFTP opcional.

Operação

Retomada e timers

Passos idempotentes, locks contra concorrência e watcher de 30 minutos para licença, DNS e hostname — com teto de tentativas e suspensão notificada.

Notificações

Slack opcional

Webhook solicitado com entrada oculta e persistido com permissão restrita para progresso, falhas e sucesso.

Acompanhamento e operação

Não inicie uma segunda cópia enquanto o processo estiver rodando. Use status e logs para acompanhar.

Status e logs da fase 2

/usr/local/sbin/cpanel-bootstrap.sh --status
/usr/local/sbin/cpanel-bootstrap.sh --version
journalctl -fu cpanel-bootstrap.service
tail -F /var/log/cpanel-bootstrap/phase2.log

Resumo, reboot final e relatório

cat /root/cpanel-bootstrap-summary.txt
shutdown -r now
# Após o servidor voltar:
cat /root/cpanel-bootstrap-phase3-report.txt
/usr/local/sbin/cpanel-bootstrap.sh --status

Licença ou DNS ficaram pendentes?

O watcher verifica sozinho a cada 30 minutos — com limite de tentativas e aviso se algo travar; este comando antecipa a licença, a reconciliação do hostname, o certificado e a fase 3.

/usr/local/sbin/cpanel-bootstrap.sh --finish

Overrides mais usados

Variáveis são opcionais e devem ser informadas ao bash que recebe o pipe. Segredos não devem ser publicados na página ou no repositório.

VariávelUso
HOSTNAME_FQDNHostname dedicado. No modo interativo o script pergunta.
ALLOW_DNS_MISMATCHPadrão 1, sem export: permite instalar antes do A correto. Use 0 para exigir DNS válido antes da instalação.
ADMIN_EMAILContato do WHM, alias de root e alertas. Configure um endereço externo real.
ADMIN_SSH_PUBKEYChave pública do administrador para acesso de root.
ADMIN_ALLOW_IPSIPs adicionais permitidos no CSF, LFD e cPHulk.
SSH_PORTPorta SSH final; padrão 1140.
KEEP_SSH_PORT_22_OPENPadrão 1. Feche a 22 somente após validar a nova porta externamente.
CPANEL_TIERCanal stable, release, lts, current ou edge. Produção usa stable.
BACKUP_REMOTE_*Destino SFTP opcional. Use BACKUP_REQUIRE_REMOTE=1 para exigir cópia externa.
ANTIVIRUSimunifyav, clamav ou none; nunca mantém dois antivírus concorrentes.
NGINX_PROXY_ENABLEAtiva o proxy ea-nginx opcional.
REDIS_ENABLEAtiva Redis local; exige REDIS_PASSWORD.

Antes de colocar em produção

O bootstrap prepara o servidor. Alguns itens pertencem ao provedor, ao DNS ou à política operacional do cliente.

Pré-requisitos

Antes de executar

  • AlmaLinux 9 minimal, limpo e x86_64.
  • Snapshot e console/VNC testados.
  • IPv4 público estático. O registro A pode ser publicado depois da instalação.
  • Mínimo de 2 GB de RAM e espaço validado pelo preflight.
  • Licença cPanel ativa ou contratação posterior prevista.
Checklist externo

Depois de concluir

  • Apontar o A do hostname para o IPv4 público e aguardar a reconciliação automática.
  • Configurar PTR/rDNS igual ao hostname.
  • Confirmar e-mail administrativo externo.
  • Definir e publicar nameservers válidos.
  • Validar backup em destino remoto.
  • Testar SSH 1140 antes de fechar a porta 22.
  • Habilitar 2FA no WHM e testar envio de e-mail.
Uso interno: noindex orienta mecanismos de busca, mas não restringe acesso. Proteja este host por autenticação ou allowlist de IP. Nunca publique webhooks, senhas, chaves privadas ou o arquivo runtime.env. Publique esta página, install.sh e cpanel-bootstrap.sh juntos para manter versão e SHA-256 sincronizados.