Você pode verificar o projeto Linux Scripts que automatiza algumas melhorias do CloudPanel:
Atualização de sistema e instalação de pacotes essenciais (antes da instalação do CloudPanel):
Atualiza o sistema operacional e instala pacotes essenciais como sudo, nano, fail2ban, cron:
curl -fsSL https://raw.githubusercontent.com/ivancarlosti/scripts/main/linux-scripts/server-prep.sh | sudo bash
Configurações importantes do painel:
- Backup dos sites do painel: https://[domain]/admin/remote-backup
- Domínio do painel (porta padrão: 8443): https://[domain]/admin/settings
- Fuso horário do painel: https://[domain]/admin/instance/settings
- 2FA do usuário: https://[domain]/security
- Fuso horário do usuário: https://[domain]/settings
Configurações importantes do Redis:
Redis recomenda que a configuração vm.overcommit_memory seja sempre 1, assim como a configuração de um bind que ainda não está disponível pode impedir a subida do Redis. Você pode executar as linhas abaixo para adicionar vm.overcommit_memory = 1 e net.ipv4.ip_nonlocal_bind = 1 no arquivo /etc/sysctl.conf e em seguida aplicar a configuração executando sysctl -p:
curl -fsSL https://raw.githubusercontent.com/ivancarlosti/scripts/main/linux-scripts/redis-setup.sh | sudo bash
Você pode verificar se o Redis apresenta essa recomendação ou algum outro erro em seu log, executando:
sudo tail -f /var/log/redis/redis-server.log
Você pode verificar as queries de execução que chegam ao Redis com esse comando:
redis-cli monitor
Desativação de serviços não utilizados:
Esse script desativa versões do PHP inferiores a 7.4, assim como outros serviços não necessários como memcached, postfix, proftpd:
curl -fsSL https://raw.githubusercontent.com/ivancarlosti/scripts/main/linux-scripts/disable-services.sh | sudo bash
Configuração principal do nginx, incluindo remoção do antigo GeoIP e atualização das regras dos headers de segurança:
Redefine regras do nginx, incluindo remoção do GeoIP, otimizações de performance e de segurança, usualmente não traz impacto para aplicações:
curl -fsSL https://raw.githubusercontent.com/ivancarlosti/scripts/main/linux-scripts/cloudpanel-fix.sh | sudo bash
Configuração do domínio do dashboard:
Reescreve o domínio do dashboard no SQLite do CloudPanel, atualiza o custom-domain.conf e emite um certificado:
curl -fsSL https://raw.githubusercontent.com/ivancarlosti/scripts/main/linux-scripts/dashboard-domain.sh \
| sudo bash -s -- cp.example.comConfiguração do fail2ban:
Configura o Fail2Ban com action, incluindo integração com Cloudflare quando designadas as chaves:
# With Cloudflare (recommended: a scoped Account Firewall Access Rules API token)
curl -fsSL https://raw.githubusercontent.com/ivancarlosti/scripts/main/linux-scripts/fail2ban-setup.sh \
| sudo bash -s -- --cf-account <ACCOUNT_ID> --cf-token <API_TOKEN>
# Without Cloudflare: local banning only
curl -fsSL https://raw.githubusercontent.com/ivancarlosti/scripts/main/linux-scripts/fail2ban-setup.sh | sudo bash
Instalação de sistemas específicos no CloudPanel:
Em instalações do YOURLS, onde é necessário alterar a busca por index.php para yourls-loader.php, modifique a entrada try_files $uri $uri/ /index.php?$args; da seguinte forma:
### BEGIN custom entry for YOURLS try_files $uri $uri/ /yourls-loader.php$is_args$args; # try_files $uri $uri/ /index.php?$args; ### END custom entry for YOURLS
Feito!