树莓派4搭建CTFD

admin 2022年2月16日16:31:50评论179 views字数 1477阅读4分55秒阅读模式

最近在家改了光猫,得到了ipv6,顺便还搞到了公网ip。看着手边的“吸尘器”

我笑了。

树莓派4搭建CTFD

不如就搭建个CTFd靶场吧。先给大家看看成果。

树莓派4搭建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

树莓派4搭建CTFD

pip源设置好了是真的好用。


第二个坑,连不上mysql数据库,因为ctfd有两个数据保存方式。第一个是本地创建ctfd.db 第二个是连接mysql,常规是第一个。但是如果数据多的话还是第二个吧。网上教程都别看了,死活连不上。

应该怎么设置。看我。

配置文件在CTFd目录下的config.py 文件。第66行。

原文件是这样的:

树莓派4搭建CTFD

官方也说是设置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

树莓派4搭建CTFD

还需要修改

/etc/apache2/sites-enabled/000-default.conf 

树莓派4搭建CTFD

到此,ctfd也就搭建好了。其实docker搭建很简单,我咋就这么喜欢折腾呢?哈哈哈。

汉化半成品以及上传到github,欢迎大家前来补充。

github:https://github.com/cxaqhq/ctfd-2.3.1

文笔太差了,大家将就一下吧。

原文始发于微信公众号(backdoor):树莓派4搭建CTFD

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月16日16:31:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   树莓派4搭建CTFDhttps://cn-sec.com/archives/781150.html

发表评论

匿名网友 填写信息