centos7yum安装apache+php8+mysql5配置pikachu开源靶场

1、环境安装

配置yum源:qinghua+163
手动下载mysql的rpm包,版本8.0.30,按顺序rpm -ivh安装
mysql-community-common
mysql-community-libs
mysql-community-client
mysql-community-client-plugins
mysql-community-devel
mysql-community-server
mysql-community-icu-data-files
mysql-community-libs-compat
mysql-community-embedded-compat
最后两个兼容包一定要有,否则报错Headers and client library minor version mismatch

yum install httpd openssl openssl-devel pkgconfig gcc zlib
好像是这些,mysql和httpd的依赖包可能不全

yum install php php-cli php-pdo php-gd php-imap php-ldap php-pear php-xml php-xmlrpc

yum install php-mysqlnd,不能用php-mysql
如果没有兼容包最后一步安装php-mysql被强制停止,没有冲突信息,报错:
Error: Package: php-mysql-5.4.16-48.el7.x86_64 (base)
Requires: libmysqlclient.so.18(libmysqlclient_18)(64bit)
Error: Package: php-mysql-5.4.16-48.el7.x86_64 (base)
Requires: libmysqlclient.so.18()(64bit)

2、配置

关闭firewalld、selinux
httpd.conf添加:
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php

php.ini修改:
display_errors=On显示报错信息
short_open_tag = On不知道有没有用

my.cnf添加:
port=3306
character-set-server=utf8
没有报错mysqli_connect(): Server sent charset (255) unknown to the client
default_authentication_plugin=mysql_native_password好像没用

systemctl start php-fpm
systemctl start mysqld
systemctl start httpd

mysql调取临时密码登录,修改密码策略
use mysql;
set global validate_password.length=1;
set global validate_password.policy=LOW;
创建pikachu配置
create database pikachu;
create user pikachu@localhost identified by ‘pikachu’;
alter user pikachu@localhost identified with mysql_native_password by ‘pikachu’;
这一步应对mysql8.0密码算法修改导致报错
the server requested authentication method unknown to the client [caching_sha2_password]

grant all on pikachu.* to pikachu@localhost;
flush privileges;

systemctl restart php-fpm
systemctl restart mysqld
systemctl restart httpd

3、安装

下载pikachu
https://github.com/zhuifengshaonianhanlu/pikachu/blob/master/

移至/var/html/www
chmod -R 777 pikachu-master
修改inc/config.inc.php
define(‘DBUSER’, ‘root’) 更改为 define(‘DBUSER’, ‘pikachu’)
define(‘DBPW’, ‘’) 更改为 define(‘DBPW’, ‘pikachu’)

修改install.php
if(!@mysqli_connect(DBHOST,DBUSER, DBPW)){
改为
if(!@mysqli_connect($dbhost, $dbuser, $dbpw)){
这里遇到过报错,不知道是不是代码问题,不懂php

如果不出问题,浏览器访问install.php,点击安装提示成功,查看pikachu数据库发现新表

这里遇到问题:点击安装直接页面消失,没有红字,查看数据库发现安装失败
调试方法
mv install.php in.php
删除in.php中include_one ‘header.php’,这行会输出html代码刷屏
if(isset($_POST[‘submit’])){改为if(1){
删除?>后所有html代码
php in.php查看报错

最后还是没有红字,只有黑字
折磨的php,折磨的官方安装说明

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值