Accesso
- Open the CTFd URL:
https://<SERVER-IP> - Accetta l'avviso relativo al certificato autofirmato.
- Completa la procedura guidata di configurazione iniziale.
- Crea l'account amministratore.
- Configura il tuo CTF.
File e directory importanti
- Percorso di installazione:
/root/ctfd - File Compose:
/root/ctfd/docker-compose.yml - File di ambiente:
/root/ctfd/.env - Uploads:
/root/ctfd/.data/CTFd/uploads - Registri:
/root/ctfd/.data/CTFd/logs - MariaDB Data:
/root/ctfd/.data/mysql - Dati Redis:
/root/ctfd/.data/redis - Configurazione Nginx:
/etc/nginx/sites-available/ctfd - Certificato SSL:
/etc/nginx/ssl/ctfd.crt - Chiave privata SSL:
/etc/nginx/ssl/ctfd.key
Gestione Docker
Controlla container:
docker ps
Visualizza i log:
cd /root/ctfd
docker compose logs -f
Riavvia i servizi:
cd /root/ctfd
docker compose restart
Interrompi servizi:
cd /root/ctfd
docker compose down
Avvia servizi:
cd /root/ctfd
docker compose up -d
Gestione di Nginx
Configurazione del test:
nginx -t
Riavvia Nginx:
systemctl restart nginx
Ricarica Nginx:
systemctl reload nginx
Controlla lo stato di Nginx:
systemctl status nginx
Abilitare SSL con un dominio
1. Punta il tuo dominio all'IP del server.
2. Modifica la configurazione Nginx e sostituisci server_name _; with your domain in both HTTP and HTTPS blocks:
vim /etc/nginx/sites-available/ctfd
3. Installa 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. Sostituisci i percorsi SSL nella configurazione 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