centos7.2+mysql搭建ctfd平台

想要在举办ctf比赛,ctfd是一个很好的开源可用平台。而且是python写的,显得比较高大上咯,这篇文章我就分享一下我的搭建经历,希望可以帮到大家。

更新在最后
1.优化的方法
2.nginx

服务器环境:centos7.2
版本ctfd2.0.0
最好更新一下yum

1.安装mysql

安装过的就不需要了,可以参考文章
MySQL安装之yum安装

2.安装git

yum install git

3.安装pip

yum install python-pip

4.安装Flask

sudo pip install Flask

5.下载ctfd

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

6.安装ctfd

Cd CTFd
./prepare.sh

prepare.sh里面负责安装一些Flask的附加文件

7.修改配置文件

 mysql+pymysql://root:@localhost/ctfd

ctfd2.0里没有host选项,只用改数据库即可
在config.py文件里DATABASE_URL = "mysql+pymysql://账号:密码@localhost/ctfd"
这一步结束后可以在ctfd/ctfd目录下执行python serve.py
一遍测试一下前面步骤有没有错误

8.安装gunicorn

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

这个端口可以自己选择

9.安装nginx并修改配置文件

yum install nginx

修改/etc/nginx/nginx.conf

location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
 }

端口和上面gunicorn保持一致
重启nginx

sudo nginx -c /etc/nginx/nginx.conf
nginx -s reload

10.开启服务

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

直接访问ip就可以访问到ctfd平台了。

到这里我们的ctfd平台就搭建成功,可以添加题目创建队伍了。

ps:本地调试ctfd和对ctfd的一些研究放下个文章吧

更新

优化ctfd速度

1.开启redis缓存centos7.2+mysql搭建ctfd平台_第1张图片

还是在config.py文件里REDIS_URL = "redis://账号:密码@127.0.0.1:6379"
这里是redis的账号和密码,账号默认auth

2.删除fontawsome

这个字体加载速度是真的慢,删除即可,后果估计也就是字体图标显示出问题
两个字体文件位置如下
1
2
删除第一行即可

@import url('https://use.fontawesome.com/releases/v5.4.1/css/all.css');

2.nginx

开启gzip压缩参考
补充几个命令:
关闭进程

killall -9 nginx

重启服务

sudo nginx -c /etc/nginx/nginx.conf

nginx -s reload

你可能感兴趣的:(ctf,ctf,ctfd,centos,nginx,mysql)