赞
踩
声明:此文章是通过参考其它博主的文章进行搭建,师傅们发布的时间也比较长,有些步骤出现一些问题,然后我这边总结写一下。
参考的文章:
https://blog.csdn.net/weixin_55710577/article/details/124238756?spm=1001.2014.3001.5506
https://blog.csdn.net/qq_27820913/article/details/128156684
https://blog.csdn.net/weixin_43075257/article/details/118486952?spm=1001.2014.3001.5506
(此文章用的是Python3.7)低于3.7会出现问题,还有更新Centos7时,不要更新内核直接更新包就可以了,昨天我是更新包和内核,发现我的python版本变成python 3.6去了,一直解决不了报错的问题,所以这个坑要注意了。
1.安装依赖
yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-deve
2.`下载python3.7包、解压、编译
#下载
wget https://cdn.npm.taobao.org/dist/python/3.7.0/Python-3.7.0.tgz
#解压安装包
tar -zxvf Python-3.7.0.tgz
#编译安装python
cd Python-3.7.0 && ./configure --prefix=/usr/local/python3 && make && make install
3.创建python和pip3软连
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
4.覆盖python2
mv /usr/bin/python /usr/bin/python2_old
mv /usr/bin/pip /usr/bin/pip2_old
#修改软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
5.解决不能yum问题
vim /usr/bin/yum
#把文件中的python修改成python2.7
vim /usr/libexec/urlgrabber-ext-down
同上,也是把python改成python2.7
1.下载Mariadb
添加mariadb的国内yum源
vim /etc/yum.repos.d/Mariadb.repo
添加以下内容,这里我改动了一下,换成我使用的!师傅那个源不能用了
# MariaDB 10.2 CentOS repository list - created 2018-06-06 03:42 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.4/centos7-amd64
gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
清除yum源缓存
yum clean all
生成新的yum源缓存
yum makecache all
安装mariadb
yum install MariaDB-server MariaDB-client -y
启动mariadb并且添加开机自启
systemctl start mariadb.service
systemctl enable mariadb.service
新安装的mariadb不需要登录密码,直接输命令
mysql -u root -p
回车就可以了
设置密码
mysqladmin -u root -p password (yourpassword)
例如:
mysqladmin -u root -p password 1234
切记,当看到Enter password,这是提示你输入旧密码,因为我们是全新安装,没有旧密码,直接回车就可以。
2.安装需要的插件,插件部分安装暂时没有发现问题
yum install git -y
yum install epel-release
升级一下pip
pip install --upgrade pip
安装flask
pip install flask
3.安装apache
yum install httpd
#设置开机自启
systemctl enable httpd.service
#验证是否自启动
systemctl is-enabled httpd.service
#出现enable,则启动成功
4、获取CTFd源码
进入html文件夹下
cd /var/www/html
下载源码
wget https://github.com/CTFd/CTFd/archive/master.zip
5、安装CTFd
需要先安装unzip
yum install unzip -y
unzip master.zip
更改文件夹权限
chmod -R 777 CTFd-master/
进入CTFd-master并运行脚本
cd CTFd-master
sudo./prepare.sh
进入数据库
mysql -u root -p
输入密码后回车
use mysql
创建数据库
create database CTFd;
退出
exit;
修改一个文件,这样就可以连接了
vim serve.py
在最底部,不改其它网络主机不能访问
app.run(debug=True, threaded=True, host="127.0.0.1", port=args.port)
改为
app.run(debug=False, threaded=True, host="0.0.0.0", port=args.port)
启动CTFd
#重启apache
systemctl restart httpd
#重启数据库
systemctl restart mariadb
#关闭防火墙
systemctl stop firewalld
运行CTFd
python serve.py
由于python运行的在关闭远程链接后会断
我们再配置后台运行
nohup python -u serve.py > test.log 2>&1 &
搭建好了,我们尝试看看这个平台咋样,对了,这个是3.5版本汉化暂时没弄,不知道如何挑选汉化版本所以后面在研究一下!
1.root权限运行,更新包,不更新内核
yum -y upgrade
2.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
5.安装docker,版本号自选
sudo yum install docker-ce-17.12.0.ce
6.启动并加入开机启动
sudo systemctl start docker
sudo systemctl status docker
sudo systemctl enable docker
7.验证是否安装完成
docker version
安装了docker,启动时出现的问题
解决方式:
在终端或命令提示符中运行以下命令下载 Docker Compose:(如果下载慢的话可以更换网络)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
授予 Docker Compose 可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
验证安装是否成功:
docker-compose --version
然后在尝试启动Docker就可以了,没有出现啥问题
这里用CTFTraining题库进行演示,文章末会贴上CTF题库大全
sudo mkdir -p /opt/CTF #创建CTF目录
sudo cd /opt/CTF
sudo git clone https://github.com/CTFTraining/CTFTraining.git #安装CTFTraining,注意这里只能git下来目录,目录中是空的,需要一个一个CTF题目去git
cd CTFTraining
ls
只有目录,里面并无内容
sudo git clone https://github.com/CTFTraining/0ctf_2016_unserialize.git #下载CTF题目,只要替换0ctf_2016_unserialize为其他目录名称即可下载所有题目
cd 0ctf_2016_unserialize/ #进入题目目录中
ls
修改docker-compose.yml文件,设置端口及flag
sudo vim docker-compose.yml
[root@localhost 0ctf_2016_unserialize]# vi docker-compose.yml
按照以下方式改就可以了
[root@localhost 0ctf_2016_unserialize]# vi docker-compose.yml
# 0ctf 2016 piapiapia
version: "2"
services:
web:
build: .
image: ctftraining/0ctf_2016_unserialize
environment:
- FLAG=flag{abcd123} #这个破flag记得改哟
restart: always
ports:
- "8302:80"
不改的话只能本机访问,其它网络主机是访问不了的,
使用docker-compose启动:
sudo docker-compose up -d #使用docker-compose下载镜像生成容器并启动容器
然后在通过IP+端口就可以访问了
docker ps -a #查看容器状态
docke命令 额外需要用到的
sudo docker stop 1646f8cdd650 #停止容器,1646f8cdd650为CTF题目CONTAINER ID
sudo docker rm 1646f8cdd650 #删除容器,1646f8cdd650为CTF题目CONTAINER ID
OK,基本搭建成功,花了三天时间研究,报错怀疑人生。看了这边篇文章来做基本一步到胃!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。