学校要办ctf了,自己一个人给学校搭建踩了好多坑啊。。这里记录一下吧 心累心累
这里只记录尝试成功的过程 有些尝试失败的就没贴上来 为各位搭建的时候节省一部分时间吧。
ubuntu18搭建
0x01 CTFd平台搭建
1.升级源
$ sudo apt-get update
2.安装git
因为CTFd的源码和部署好的题目都是要通过github传输的。
$ sudo apt install git
3.安装pip
$ sudo apt install python-pip
如果出现异常可以升级pip
$ sudo python -m pip install --upgrade pip
4.安装Flask
因为CTFd是基于Flask框架建造的,所以要搭建CTFd肯定要安装Flask
$ sudo pip install Flask
5.下载CTFd
$ sudo git clone https://github.com/isislab/CTFd.git
6.安装CTFd
$ cd CTFd $ sudo ./prepare.sh
7.运行CTFd
$ sudo python serve.py
现在可以直接在本地访问了,但是我要架的是可以通过外网访问还要安装gunicorn
8.安装gunicorn并规定映射的端口
$ sudo pip install gunicorn $ sudo gunicorn --bind 0.0.0.0:8000 -w 1 "CTFd:create_app()"
0x02 nginx转发&&汉化
用是可以用了 但是比较要考虑到性能,用nginx做个转发
vim /etc/nginx/nginx.conf
server{ listen ; server_name 你的ip; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; }
ok了,然后重启nginx
nginx -s reload gunicorn --bind -w "CTFd:create_app()"
这样访问外网就可以访问了 接下做汉化
汉化非常简单
所需文件
- 链接:https://pan.baidu.com/s/1WKUcl5JkMStnz5wsqlyoZw 提取码:r45q
- 下载上方所需文件
- 解压themes.zip
上传至服务器 进行替换 ,注意不是合并