淺談新版CTFd的安裝以及后期運(yùn)維

前一段時(shí)間學(xué)校社團(tuán)組織了一次CTF小比賽萝挤,當(dāng)時(shí)就是用的CTFd這個(gè)平臺(tái)缕棵。無(wú)奈的是最近CTFd更新了饿肺,所以舊版本的包我就安裝不上了汗洒。最近研究了一下新版的CTFd(v2.1.2),順便還把新版的CTFd漢化了庭猩∪鳎總體來(lái)說(shuō)码泞,現(xiàn)在的CTFd功能越來(lái)越強(qiáng)大了谁榜,變成了團(tuán)隊(duì)賽以及個(gè)人賽兩種模式,在管理員后臺(tái)也可以給一些用戶進(jìn)行獎(jiǎng)勵(lì)加分的操作等等...
官方Github地址
環(huán)境要求
1.Centos 7 64位
2.Docker
3.nginx
4.python2.7
安裝過(guò)程
我感覺用Docker安裝更加方便一些凡纳,所以此次用docker-compose up的方式進(jìn)行安裝的窃植。
首先安裝Docker
安裝需要的軟件包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 bind-utils

設(shè)置yum源

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安裝docker

sudo yum install docker-ce

啟動(dòng)并加入開機(jī)啟動(dòng)

sudo systemctl start docker
sudo systemctl enable docker

驗(yàn)證是否安裝成功

docker version

image

安裝docker-compose
參考鏈接
先安裝python-pip

yum -y install epel-release
yum -y install python-pip

檢查pip是否安裝成功

pip -V

image

對(duì)安裝的pip進(jìn)行升級(jí)(可選)

pip install --upgrade pip

安裝docker-compose

pip install docker-compose

如果報(bào)錯(cuò):

ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out

解決方法:

pip --default-timeout=200 install -U docker-compose

檢查docker-compose是否成功安裝

docker-compose -version

image

下載CTFd
如果你的系統(tǒng)上沒有g(shù)it請(qǐng)先

sudo yum install -y git

從Github上克隆CTFd

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

也可以下載我打包好的壓縮包直接上傳到你的服務(wù)器,v2.1.2版本荐糜,當(dāng)前最新巷怜。
下載鏈接地址葛超,密碼:xg7e
下載成功后解壓,你可以看到一個(gè)CTFd文件夾
CTFd的主目錄結(jié)構(gòu)

image

image

此后你可以選擇是否用中文版延塑,如果想用中文版绣张,直接下載我提供的漢化包替換主目錄/CTFd路徑下的themes目錄即可(記得做好備份)。
漢化包下載鏈接地址关带,密碼:nkqd
然后在CTFd的主目錄下

docker-compose up

靜靜等待安裝完成侥涵,成功會(huì)彈出http://0.0.0.0:8000

image

此時(shí),你的CTFd就安裝完成了宋雏。
image

如果安裝成功不能訪問(wèn)芜飘,看下是不是防火墻把端口給過(guò)濾掉了。
漢化效果
替換themes目錄后效果如下:
image

image

后續(xù)運(yùn)維
CTFd的數(shù)據(jù)庫(kù)用的是mariadb,看一下docker運(yùn)行了哪些容器
image

可以看到運(yùn)行了三個(gè)容器磨总,分別是ctfd嗦明,mariadb,redis
我們可以直接進(jìn)入到各個(gè)容器進(jìn)行操作蚪燕。

docker exec -it [CONTAINER ID] /bin/bash

數(shù)據(jù)庫(kù)root賬戶的密碼默認(rèn)為ctfd


image

image

原先舊版的CTFd如果數(shù)據(jù)庫(kù)不設(shè)置UTF-8會(huì)亂碼娶牌,新版本測(cè)試過(guò)程中沒碰到此類問(wèn)題,如果亂碼就進(jìn)入到ctfd數(shù)據(jù)庫(kù)敲一下命令

ALTER TABLE [table name] CONVERT TO CHARACTER SET utf8;

配置Nginx
如果有需要的話也可以配置一下nginx馆纳,這樣訪問(wèn)速度會(huì)變快诗良,而且作為一個(gè)中間件更改端口會(huì)更方便(當(dāng)然小伙伴們選擇Apache也是可以的)。
參考鏈接
安裝所需環(huán)境

yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

根目錄下新建一個(gè)文件夾nginx

mkdir /nginx
cd /nginx
wget https://nginx.org/download/nginx-1.14.2.tar.gz
tar -zxvf nginx-1.14.2.tar.gz

然后進(jìn)入到目錄下進(jìn)行編譯

make
make install

查找一下nginx的位置

whereis nginx

image

nginx常見命令
啟動(dòng)厕诡、停止nginx

cd /usr/local/nginx/sbin/  
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit:此方式停止步驟是待nginx進(jìn)程處理任務(wù)完畢進(jìn)行停止
./nginx -s stop:此方式相當(dāng)于先查出nginx進(jìn)程id再使用kill命令強(qiáng)制殺掉進(jìn)程

nginx開機(jī)自啟動(dòng)
即在rc.local增加啟動(dòng)代碼就可以了累榜。

vi /etc/rc.local

增加一行 /usr/local/nginx/sbin/nginx (根據(jù)whereis nginx實(shí)際的位置為準(zhǔn))
設(shè)置執(zhí)行權(quán)限:

chmod 755 rc.local

配置nginx
配置之前需要先運(yùn)行一下nginx

./nginx
./nginx -s quit

然后在修改配置文件

vim /usr/local/nginx/conf/nginx.conf(whereis nginx 實(shí)際情況)

server下的location替換為

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;
}

image

最后需要在firewall中開放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

然后在啟動(dòng)一下nginx就可以通過(guò)80端口訪問(wèn)你的CTFd了。

image

image

注:有些安裝步驟源于互聯(lián)網(wǎng)灵嫌,均已標(biāo)注原文鏈接壹罚,侵刪。
轉(zhuǎn)載請(qǐng)標(biāo)明出處:https://linuz.me/2019/06/19/install-ctfd.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寿羞,一起剝皮案震驚了整個(gè)濱河市猖凛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绪穆,老刑警劉巖辨泳,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異玖院,居然都是意外死亡菠红,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門难菌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)试溯,“玉大人,你說(shuō)我怎么就攤上這事郊酒∮鼋剩” “怎么了键袱?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)摹闽。 經(jīng)常有香客問(wèn)我蹄咖,道長(zhǎng),這世上最難降的妖魔是什么付鹿? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任澜汤,我火速辦了婚禮,結(jié)果婚禮上倘屹,老公的妹妹穿的比我還像新娘银亲。我一直安慰自己,他們只是感情好纽匙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布务蝠。 她就那樣靜靜地躺著,像睡著了一般烛缔。 火紅的嫁衣襯著肌膚如雪馏段。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天践瓷,我揣著相機(jī)與錄音院喜,去河邊找鬼。 笑死晕翠,一個(gè)胖子當(dāng)著我的面吹牛喷舀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淋肾,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼硫麻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了樊卓?” 一聲冷哼從身側(cè)響起拿愧,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碌尔,沒想到半個(gè)月后浇辜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唾戚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年柳洋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叹坦。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡膳灶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出立由,到底是詐尸還是另有隱情轧钓,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布锐膜,位于F島的核電站毕箍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏道盏。R本人自食惡果不足惜而柑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荷逞。 院中可真熱鬧媒咳,春花似錦、人聲如沸种远。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)坠敷。三九已至妙同,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間膝迎,已是汗流浹背粥帚。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留限次,地道東北人芒涡。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像卖漫,于是被迫代替她去往敵國(guó)和親费尽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容