一、前言
- 突发奇想,想尝试搭建一个CTFd平台,于是买了一个月的阿里云轻量服务器来尝试。
- 网上的教程算是2种方法,第一就是直接像创建一个站点一样直接搭建在本地,但比较麻烦,需要配置环境。
- 所以尝试了用 docker 来搭建。以下
二、步骤
准备
-
首先拿到服务器,先更新一下源和软件。因为好像默认就是阿里云的源,所以没有换源。
-
更新源
sudo apt-get update
-
更新软件
sudo apt-get upgrade
-
-
其实不管拿服务器来干嘛,都可以先执行这两个命令。
安装docker
-
这个有很多种安装方法。下面是简单的一种。
sudo apt-get install docker.io -y 安装docker sudo groupadd docker 添加docker 用户组(可能会提示已存在,正常) sudo systemctl start docker 启动 docker sudo systemctl enable docker 设置docker开机自启
-
以上就安装完成。
-
查看是否安装成功和安装信息
docker version
-
出现以下,安装成功
安装 pip
-
阿里云 Ubuntu 16.04镜像默认安装了pip,不过可以升级一下。
pip install --upgrade pip
安装docker-compose
-
直接用 pip 安装
pip install docker-compose
-
有一个黄色的警告,意思是你用的python2.7 落后了,告诉你需要更新。不过没多大关系
-
有一个红色报错,大概原因是 jsonschema 版本不匹配。以下解决。
pip install six --user -U
-
然后再用上面的 pip安装一下 docker-compose,报错消失。
-
安装结束,验证一下。
docker-compose -version
-
安装成功出现以下。
下载 CTFd
-
可以访问官网下载最新版本
https://github.com/ctfd/ctfd.git
-
下载解压后上传到服务器,我是直接上传到服务器根目录了,可以自行解决这里。
-
当然也可以在服务器上直接下载,这里就不说了。
安装启动 CTFd
-
找到下载的CTFd中主目录的路径
-
cd 到这里,比如说我直接上传到服务器根目录所以
cd /CTFd-master
-
然后开始建立镜像
docker-compose up
-
开始就有一个红色报错,大概意思是下载东西连接失败了。重新再 docker-compose up 一下。
-
有很多东西要下载,所以很慢很慢。主要好像是很多源不在国内,所以下载慢。
-
是真的很慢很慢。。。。。。
-
最后还是报错了,大概意思是创建进程失败。此时把文件权限设置为777。再次 docker-compose up 一下。
-
创建成功。
-
至此,访问你服务器公网ip默认8000端口就可以打开了。如果还不能打开,可能是端口没开,可以去阿里云控制台安全组策略那开放 8000端口
-
简单的搭建完成,然后根据提示设置好就可以添加题目了。
三、最后
- 最终还是没有汉化,原因是最新版本没有汉化包。想要汉化必须安装之前有别人翻译的汉化包的版本。现在最新版本是2.4.3,网上有汉化包的好像是2.1.4。无法使用之前的汉化包。
- 但如果安装之前的版本的话,很多地方会因为环境版本不兼容疯狂报错。所以放弃。
- 如果还有其它对方报错,思路是看报错提示,翻译理解一下或者百度一下报错提示,可能别人也遇到这个问题。
- 折腾了好久,太菜了。
- 如果有问题欢迎交流,虽然我可能也不会。