學校要辦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()"
這樣訪問外網就能夠訪問了 接下作漢化
漢化很是簡單
所需文件
上傳至服務器 進行替換 ,注意不是合併