Ubuntu搭建CTFd平台

为了学校社团开学纳新,给师弟师妹们办CTF比赛,在暑假提前准备了一下比赛平台。虽然用了CTFd,但是FBCTF也是个很棒的比赛平台,界面很炫酷,但是资源占用比较大,在本地虚拟机的环境下,还是有些吃不消的,再加上一直用CTFd,比较熟悉,所以最后还是选择了CTFd。

Ubuntu搭建CTFd平台_第1张图片


本次平台的搭建是在ubuntu 14.04 LTS下完成的,搭建的是lamp环境。

1.安装git

sudo apt install git

2.安装pip

sudo apt install python-pip

3.安装Flask

sudo pip install Flask

PS:这几步若是出现了什么依赖关系balabala,可以updata升级一下,然后根据提示升级或者降级一些相关包。

4.下载CTFd

sudo git clone https://github.com/isislab/CTFd.git

5.安装CTFd

cd CTFd
sudo ./prepare.sh
sudo python serve.py

Ubuntu搭建CTFd平台_第2张图片

出现这个CTFd平台就在本地搭建成功了。
访问IP 127.0.0.1:4000 即可。

Ubuntu搭建CTFd平台_第3张图片

PS:中间可能会出现各种问题,比如缺少一些文件等,看它反馈,然后安装上就好了。

6.安装gunicorn

完成以上步骤只是在本地搭起服务器,要是想在公网访问,还需要安装gunicorn。
PS:安利git上CTFd的Deployment:https://github.com/CTFd/CTFd/wiki/Deployment

pip install gunicorn
sudo gunicorn --bind 0.0.0.0:8000 -w 4 "CTFd:create_app()"

测试一下,在虚拟机上访问虚拟机IP的8000端口,打开成功。

PS:要是在云服务器搭建,请先打开服务器的8000端口。

7.映射端口

在VM虚拟网路编辑器上,将虚拟机的8000端口映射到本机上,在别的机器直接访问本机IP地址加相应端口即可打开!

Ubuntu搭建CTFd平台_第4张图片


这样CTFd平台基本是搭建完成了,但是为了更好的后端操作,最好还需要建个docker当作容器来存放题目,建个mysql数据库更方便进行数据管理等等。这些暂时我还没有配置,以后可能会把平台放在云服务器上,因为本地实在是太卡了!而且服务器经常会崩!用户体验十分不友好!


OK.

你可能感兴趣的:(CTF,Ubuntu,Web)