学校要办ctf了,本身一我的给学校搭建踩了好多坑啊。。这里记录一下吧 心累心累python
这里只记录尝试成功的过程 有些尝试失败的就没贴上来 为各位搭建的时候节省一部分时间吧。nginx
ubuntu18搭建git
1.升级源github
$ sudo apt-get update
2.安装gitsql
由于CTFd的源码和部署好的题目都是要经过github传输的。shell
$ sudo apt install git
3.安装pip ubuntu
$ sudo apt install python-pip
若是出现异常能够升级pipvim
$ sudo python -m pip install --upgrade pip
4.安装Flaskbash
由于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()"
用是能够用了 可是比较要考虑到性能,用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()"
这样访问外网就能够访问了 接下作汉化
汉化很是简单
所需文件
上传至服务器 进行替换 ,注意不是合并