前几天突发奇想想搭建一个自己的ctf靶场(相当于自己出题自己做 ),在fanl哥的帮助下我有了属于自己的第一个服务器(虽然是租的
),找了挺多教程的,终于找到了一个相对来说合适我的
,那就出一篇文章来记录一下叭~
准备
- 一台Ubuntu服务器,Xshell[用来连接服务器],Xftp[用来传输文件]
- 访问:https://githb.com/divyanshusahu/miniCTF并下载文件
- 通过Xftp把文件传到服务器
创建一个虚拟环境
pipenv shell pipenv install
python manage.py makemigrations accounts challenges forums
报错
解决:
No module named 'constans'
进入:
nano miniCTF/constants.py
找到:
LAVGUAGE_CODE="EN_us" TIME_ZONE="UTC" USE_I18N=TRUE USE_L10N=TRUE USE_TZ=TRUE
把这些复制到"miniCTF/setting.py"这个配置文件中
进入:
nano miniCTF/setting.py
修改:
#from constants import (ANGUAGE_CODE.TIME_ZONE,USE_L10N,USE_TZ)
解决:
keyError:'key'
在虚拟环境中:
mv .env.example .env
nano .env
key='abc123' //'可以随便写,记住就行'
成功之后再运行一下:
python manage.py makemigrations accounts challenges forums
同步数据库
python manage.py migrate
成功之后运行:
python manage.py runserver
最后一步
建立一个新会话并测试一下:
curl http:127.0.0.1:8000
不过这个时候还访问不了服务器
(在自己的服务器中要放行8000端口)
回到第一个页面:
python manage.py runserver 0.0.0.0:8000
此时可以在浏览器访问:服务器IP:8000
发现页面时停止运行的
进入:
nano mini/settings.py
修改:
ALLOWED_Host=[*]
再运行:
python manage.py runserver 0.0.0.0:8000
出现这样的说明服务器已经开启这个功能了
在浏览器访问:服务器IP:8000就有靶场的登录页面了
添加管理员
python manage.py createsuperuser
回车之后依次添加管理员的账号和密码
管理员可以出题,但不能答题
这篇文章是在靶场搭建完成之后才写的,少了点图片
如果想要服务器停止运行使用:ctrl+C,不要ctrl+Z不然下一次开启要先kill之前的进程