最近在家改了光猫,得到了ipv6,顺便还搞到了公网ip。看着手边的“吸尘器”
我笑了。
不如就搭建个CTFd靶场吧。先给大家看看成果。
2.3.1的版本,网上居然没有汉化版本,还是自己动手吧,半汉化版本。将就一下。
先上项目地址:https://github.com/CTFd/CTFd。
有两种安装方式,一是docker,二是python。
这里我用第二种方法,个人喜好的原因吧。这里只介绍填坑的方法。
第一个坑,pip安装总失败,解决方法。改pip源。
我的树莓派设置的
root@raspberrypi:~# cat .pip/pip.conf
[global]
timeout = 10
index-url = http://mirrors.aliyun.com/pypi/simple/
extra-index-url= http://pypi.douban.com/simple/
[install]
trusted-host=
mirrors.aliyun.com
pypi.douban.com
pip源设置好了是真的好用。
第二个坑,连不上mysql数据库,因为ctfd有两个数据保存方式。第一个是本地创建ctfd.db 第二个是连接mysql,常规是第一个。但是如果数据多的话还是第二个吧。网上教程都别看了,死活连不上。
应该怎么设置。看我。
配置文件在CTFd目录下的config.py 文件。第66行。
原文件是这样的:
官方也说是设置database_url = 。但是修改的方法应该是把 or 后面的语句替换成
mysql+pymysql://root:password@localhost:3306/ctfd?charset=utf8
不然其他的方法都连不上。
还有记得把mysql账户设置好允许远程连接。这样的话数据库这块就没啥问题了。
设置完记得把ctfd数据库表设置utf-8 ,那样的话支持中文。
这一套搞完了应该就可以正常上线了。
下面就进入优化。
我的配置是nginx+gunicorn,新版nginx配置文件在下面这个目录
/etc/nginx/sites-enabled/default
先安装gunicorn 然后启动,这里我设置了一个sh脚本,
gunicorn --bind 0.0.0.0:4000 -w 5 "CTFd:create_app()"
-w 是线程,结合服务器状态适当配置!
然后nginx设置代理。按网上的来,没啥大问题,就是记得后面带上 ;
不然启动报错。
没问题的话就全设置好了。这只是一个框架,需要自己添加题目。
没办法,只能也搭建在树莓派上面。那就用apache2吧。因为某些特殊原因,不能使用80端口,所以,要修改端口,那么。
这里又有个坑啊,如果端口不是80,并且设置好web 目录地址后,没效果,知道为什么嘛?
apache2 配置文件在这个地方:
/etc/apache2/sites-enabled/000-default.conf
然后的话,最开头有个端口号,需要修改,意思就是说,apache2改端口,不仅需要修改
/etc/apache2/ports.conf
还需要修改
/etc/apache2/sites-enabled/000-default.conf
到此,ctfd也就搭建好了。其实docker搭建很简单,我咋就这么喜欢折腾呢?哈哈哈。
汉化半成品以及上传到github,欢迎大家前来补充。
github:https://github.com/cxaqhq/ctfd-2.3.1
文笔太差了,大家将就一下吧。
原文始发于微信公众号(backdoor):树莓派4搭建CTFD
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论