在Ubuntu上安装CTFd

我们在分社使用的CTF系统是为了筛选参加全国CTF预选赛的成员而设计的,与全国预选赛系统的规格相一致。

然而,从支公司员工的教育目的来看,团队功能和形象(包括支公司经理等高层的观察)是必要的。

因此,我在Oracle VM VirtualBox中安装并测试了一个带有团队功能和图表功能的CTFd。

我安装过的环境

虚拟机的配置

Oracle VM VirtualBox
Ubuntu 20.04.1 LTS 日本語 Remix
需要使用20GB ★此项很重要(默认的10GB不够用)
使用最小配置进行安装

Ubuntu的设置

请执行以下命令来更新软件包:
$ sudo apt update
$ sudo apt dist-upgrade

请用sudo apt install gcc make perl命令安装软件。
插入Guest Additions CD镜像。
用sudo shutdown -r now命令立即重启计算机。

ここでスナップショットを作成しておく

CTFdのインストール

まずは公式サイトのトップページ(README.md)を見る

image.png

README.mdにあるInstallは,かなり乱暴な記述。これを見て適当にやるとドツボにはまる。
特にpip install -r requirements.txtを成功させるのは至難の業。

ここは,wikiを見るのが正解?

image.png
image.png

然而,这里的基本安装也不行。

image.png

基础部署页面
https://github.com/CTFd/CTFd/wiki/基础部署

image.png

これにしたがってインストールしていく

1. Install Docker

リンク先

に書かれているとおり,

$ sudo apt-get remove docker docker-engine docker.io containerd runc

$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

$ echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

を行う。

2. Install Docker Compose

这个与手册不同,但我认为用apt应该可以。

$ sudo apt install docker-compose

使用git clone https://github.com/CTFd/CTFd.git 克隆CTFd存储库。

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

4. 从存储库中修改docker-compose.yml文件,为CTFd服务指定一个SECRET_KEY环境。

使用python -c命令,在执行过程中打开一个名为.ctfd_secret_key的文件,以读写模式打开(如果文件不存在,则创建一个新文件)。然后,使用os.urandom(64)生成一个随机字符串,并将其写入文件中。最后,关闭文件。

所列命令

$ python3 -c "import os; f=open('.ctfd_secret_key', 'a+b'); f.write(os.urandom(64)); f.close()"

这是关于Python2和Python3的open()函数mode参数的不同之处。

5. 运行 docker-compose up

$ sudo docker-compose up

在这里,从NAT网络上的另一台Ubuntu访问http://10.0.2.15/,结果被重定向到http://10.0.2.15/setup,我认为安装成功了。

印象

与其在Google等搜索中搜索”ctfd安装”,不如直接查看官方手册来得更方便,但是首页的README.md和wiki的主页上的安装说明过于粗糙,让人感到困扰。

广告
将在 10 秒后关闭
bannerAds