centos7搭建ctfd平台

admin 2022年1月6日01:32:32安全博客 CTF专场评论22 views3053字阅读10分10秒阅读模式

失败的一次搭建

搭建环境

1
2
3
CentOS Linux release 7.6.1810 (Core) 
Apache/2.4.6 (CentOS)
mysql 5.7.2.6

0x1mysql安装

0x1.1下载并安装MySQL官方的 Yum Repository

1
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

0x1.2yum安装

1
yum -y install mysql57-community-release-el7-10.noarch.rpm

0x1.3安装MySQL服务器

1
yum -y install mysql-community-server

0x1.4启动MySQL

1
systemctl start  mysqld.service

0x1.5查看MySQL运行状态

1
systemctl status mysqld.service

0x1.6查看mysql的默认密码
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,如果安装的是RPM包,则默认是在/var/log/mysqld.log中

1
grep 'temporary password' /var/log/mysqld.log

0x1.7修改密码
查看密码设置要求

1
SHOW VARIABLES LIKE 'validate_password%';

仅仅为了测试,密码不用太复杂,修改密码前,先把密码设置要求,给取消。

1
set global validate_password_policy=0;

修改密码

1
2
3
SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;

0x1.8修改mysql编码
在/etc/my.cnf中mysqld添加
修改配置文件的内容,在[mysqld]结束位置添加

1
character_set_server = utf8

重启mysql

1
systemctl restart mysqld.service

进入mysql,查看修改的编码结果

1
show variables like 'character_set_%';

允许root远程登录

1
2
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;

0x2安装apache

0x2.1安装Apache
Apache在默认的CentOS仓库中可用,安装非常简单。 在CentOS和RHEL上,Apache软件包和服务称为httpd。 要安装软件包,请运行以下命令

1
sudo yum install httpd

0x2.2启动服务

1
2
sudo systemctl enable httpd
sudo systemctl start httpd

0x2.3检查Apache服务的状态和版本

1
2
sudo systemctl status httpd 
httpd -v

0x3 ctfd搭建

0x3.1下载ctfd

1
git clone https://github.com/isislab/CTFd.git

0x3.2修改并运行 prepare.sh
将apt-get修改为yum

1
2
3
sudo yum -y update
sudo yum install build-essential python-dev python-pip libffi-dev -y
pip install -r requirements.txt

运行

1
./prepare.sh

0x3.3修改数据库依赖
在mysql中创建ctfd数据库

1
create database ctfd;

在CTFd/config.py中,默认依赖sqlite,修改成mysql

1
2
#DATABASE_URL = os.getenv('DATABASE_URL') or 'sqlite:///{}/ctfd.db'.format(os.path.dirname(os.path.abspath(__file__)))
DATABASE_URL = 'mysql+pymysql://数据库用户:密码@localhost:3306/ctfd'

0x3.4安装配置mod_wsgi
首先安装httpd-devel

1
yum install -y httpd-devel

安装mod__wsgi

1
yum install mod_wsgi

0x3.5修改wsgi.py

1
2
3
4
from CTFd import create_app
import sys
sys.path.insert(0, '/var/www/html/CTFd/')
application = create_app()

0x3.6创建www用户

1
chown -R www:www CTFd/

0x3.7 创建新站点文件
在/etc/httpd/conf.d/中创建ctfd.conf,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<VirtualHost *:80>

WSGIDaemonProcess CTFd user=www group=www threads=5
WSGIScriptAlias / /var/www/html/CTFd/wsgi.py

<Directory /var/www/html/CTFd>
WSGIProcessGroup CTFd
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
AllowOverride All
#Require all granted
Allow from all
</Directory>
</VirtualHost>

还是安装失败……
附上截图,以后再探究

0x4安装nginx

0x4.1、添加源
默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址。因此可以如下执行命令添加源:

1
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

0x4.2、安装Nginx
通过yum search nginx看看是否已经添加源成功。如果成功则执行下列命令安装Nginx。

1
sudo yum install -y nginx

0x4.3、启动Nginx并设置开机自动运行

1
2
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

遇到问题有点多。以后再慢慢整
参考文章:
mysql安装 https://www.cnblogs.com/luohanguo/p/9045391.html
apache安装 https://www.linuxidc.com/Linux/2018-05/152261.htm
ctfd平台搭建 http://www.ifuryst.com/archives/CTFd.html
Centos7使用Apache+mod_wsgi部署flask网站
https://blog.csdn.net/qq_36962569/article/details/80885396
centos7安装Nginx
https://www.cnblogs.com/kaid/p/7640723.html

FROM :blog.cfyqy.com | Author:cfyqy

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日01:32:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  centos7搭建ctfd平台 http://cn-sec.com/archives/721798.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: