Доступ
- Open the CTFd URL:
https://<SERVER-IP> - Прийміть попередження про самопідписаний сертифікат.
- Завершіть одноразовий майстер налаштування.
- Створіть обліковий запис адміністратора.
- Налаштуйте свій CTF.
Важливі файли та директорії
- Шлях встановлення:
/root/ctfd - Файл Compose:
/root/ctfd/docker-compose.yml - Файл середовища:
/root/ctfd/.env - Uploads:
/root/ctfd/.data/CTFd/uploads - Журнали:
/root/ctfd/.data/CTFd/logs - MariaDB Data:
/root/ctfd/.data/mysql - Дані Redis:
/root/ctfd/.data/redis - Конфігурація Nginx:
/etc/nginx/sites-available/ctfd - Сертифікат SSL:
/etc/nginx/ssl/ctfd.crt - Приватний ключ SSL:
/etc/nginx/ssl/ctfd.key
Керування Docker
Перевірити контейнери:
docker ps
Переглянути логи:
cd /root/ctfd
docker compose logs -f
Перезапустити служби:
cd /root/ctfd
docker compose restart
Зупинити сервіси:
cd /root/ctfd
docker compose down
Запустити сервіси:
cd /root/ctfd
docker compose up -d
Керування Nginx
Конфігурація тесту:
nginx -t
Перезавантажити Nginx:
systemctl restart nginx
Перезавантажити Nginx:
systemctl reload nginx
Перевірка статусу Nginx:
systemctl status nginx
Увімкнення SSL з доменом
1. Спрямуйте свій домен на IP-адресу сервера.
2. Відредагуйте конфігурацію NGINX і замініть server_name _; with your domain in both HTTP and HTTPS blocks:
vim /etc/nginx/sites-available/ctfd
3. Встановіть 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. Замініть шляхи SSL у конфігу 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