Acesso
- Open the CTFd URL:
https://<SERVER-IP> - Aceite o aviso de certificado autoassinado.
- Conclua o assistente de configuração único.
- Crie a conta de administrador.
- Configure seu CTF.
Ficheiros e diretórios importantes
- Caminho de instalação:
/root/ctfd - Arquivo Compose:
/root/ctfd/docker-compose.yml - Arquivo de ambiente:
/root/ctfd/.env - Uploads:
/root/ctfd/.data/CTFd/uploads - Registros:
/root/ctfd/.data/CTFd/logs - MariaDB Data:
/root/ctfd/.data/mysql - Dados do Redis:
/root/ctfd/.data/redis - Configuração do Nginx:
/etc/nginx/sites-available/ctfd - Certificado SSL:
/etc/nginx/ssl/ctfd.crt - Chave privada SSL:
/etc/nginx/ssl/ctfd.key
Gerenciamento Docker
Verificar contêineres:
docker ps
Ver registos:
cd /root/ctfd
docker compose logs -f
Reiniciar os serviços:
cd /root/ctfd
docker compose restart
Parar serviços:
cd /root/ctfd
docker compose down
Iniciar serviços:
cd /root/ctfd
docker compose up -d
Gerenciamento do Nginx
Configuração do teste:
nginx -t
Reiniciar Nginx:
systemctl restart nginx
Recarregar Nginx:
systemctl reload nginx
Verificar status do Nginx:
systemctl status nginx
Ativar SSL com um domínio
1. Aponte o seu domínio para o IP do servidor.
2. Editar a configuração do Nginx e substituir server_name _; with your domain in both HTTP and HTTPS blocks:
vim /etc/nginx/sites-available/ctfd
3. Instalar o Certbot:
apt install -y certbot python3-certbot-nginx
4. Generate a Let's Encrypt certificate:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. Substitua os caminhos SSL na configuração do Nginx:
vim /etc/nginx/sites-available/ctfd
# Before:
# ssl_certificate /etc/nginx/ssl/ctfd.crt;
# ssl_certificate_key /etc/nginx/ssl/ctfd.key;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
6. Reload Nginx:
systemctl reload nginx