CTFd平台部署

Posted -qing-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CTFd平台部署相关的知识,希望对你有一定的参考价值。

学校要办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 80;
                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 0.0.0.0:4000 -w 1 "CTFd:create_app()"

 

这样访问外网就可以访问了 接下做汉化

 

汉化非常简单

所需文件

  • 链接:https://pan.baidu.com/s/1WKUcl5JkMStnz5wsqlyoZw   提取码:r45q
  1. 下载上方所需文件
  2. 解压themes.zip

上传至服务器 进行替换 ,注意不是合并

技术图片

 

 

 技术图片

 

以上是关于CTFd平台部署的主要内容,如果未能解决你的问题,请参考以下文章

2019.11.18CTFD搭建记录

CTFd 二次开发之注册处添加新的个人属性

大数据平台CDH6.2.0部署

部署Cacti监控平台

YApi接口管理平台的部署与应用

微服务架构 - 离线部署k8s平台并部署测试实例