Dostęp
- Open the CTFd URL:
https://<SERVER-IP> - Zaakceptuj ostrzeżenie o certyfikacie z własnoręcznym podpisem.
- Zakończ jednorazowego kreatora konfiguracji.
- Utwórz konto administratora.
- Skonfiguruj swoje CTF.
Ważne pliki i katalogi
- Ścieżka instalacji:
/root/ctfd - Plik Compose:
/root/ctfd/docker-compose.yml - Plik środowiskowy:
/root/ctfd/.env - Uploads:
/root/ctfd/.data/CTFd/uploads - Dzienniki:
/root/ctfd/.data/CTFd/logs - MariaDB Data:
/root/ctfd/.data/mysql - Dane Redis:
/root/ctfd/.data/redis - Konfiguracja Nginx:
/etc/nginx/sites-available/ctfd - Certyfikat SSL:
/etc/nginx/ssl/ctfd.crt - Klucz prywatny SSL:
/etc/nginx/ssl/ctfd.key
Zarządzanie Docker
Sprawdzić kontenery:
docker ps
Zobacz logi:
cd /root/ctfd
docker compose logs -f
Uruchom ponownie usługi:
cd /root/ctfd
docker compose restart
Zatrzymaj usługi:
cd /root/ctfd
docker compose down
Uruchom usługi:
cd /root/ctfd
docker compose up -d
Zarządzanie Nginx
Konfiguracja testu:
nginx -t
Uruchom ponownie Nginx:
systemctl restart nginx
Przeładuj Nginx:
systemctl reload nginx
Sprawdź status Nginx:
systemctl status nginx
Włączanie SSL z domeną
1. Skieruj swoją domenę na IP serwera.
2. Edytuj konfigurację Nginx i zamień server_name _; with your domain in both HTTP and HTTPS blocks:
vim /etc/nginx/sites-available/ctfd
3. Zainstaluj 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. Zamień ścieżki SSL w konfiguracji 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