PHP后端靶场部署

163 阅读4分钟

前期准备

我们使用一体化部署环境 xampp 软件,一个软件包含了 apache(服务器) + php(开发语言) + mysql(数据库),非常的方便

PHP环境安装

1. 进入 /opt 
   cd /opt
2. 上传 xampp 安装包
3. 授权给 xampp 安装包
chmod a+x xampp-linux-x64-5.6.4-installer.run
4. 安装 xampp
./xampp-linux-x64-5.6.4-installer.run
安装时需要值守 输入Y 和 回车
5. 安装完毕后 会在 /opt 下 生产一个 lampp 目录 这个目录就是我们xampp的运行目录

启动

1. 进入 /opt/lampp
 cd /opt/lampp
2. 执行启动命令 /opt/lampp/lampp 文件 实际指向的是 /opt/lampp/xampp   ./lampp start
3. 重启命令
 ./lampp restart
4.停止命令
./lampp stop
以上是 xampp中的全部服务启停
5. 指定服务启停
./lampp start指定服务 ./lampp startmysql
./lampp stop指定服务 ./lampp stopapache

xampp第一次启动报错

报错缺失 libdl.so.2 和 libdl.so.6 文件

image-20240513105308774

解决
1. 编辑 /opt/lampp/lampp
   vim /opt/lampp/lampp
2. 修改 436 export LD_ASSUME_KERNEL=2.2.5export LD_ASSUME_KERNEL=2.8.0
   保存 再次启动即可

image-20240513105614015

IP地址即可访问,80端口不用带着

image-20240513110150651

xampp其他配置

xampp目录架构

image.png

xampp任意目录执行

配置 /opt/lampp/lampp 的软链接到 /usr/local/bin 目录下即可,而命令复杂则使用别名解决

1. 创建 /opt/lampp/lampp 软链接 到 /usr/local/bin
 ln -s /opt/lampp/lampp /usr/local/bin
2. lampp系列的命令过长,解决办法 配置系统级别的 别名 类似 ll -> ls -l
 2.1 别名 alias 别名="Linux命令" alias ll ="ls -l"
 2.2 系统级别的别名 /etc/bashrc
     vim /etc/bashrc
     结尾追加 
     alias lps="lampp start" # 启动
     alias lpr="lampp restart" # 重启
     alias lpp="lampp stop" # 停止
 2.3 刷新配置文件
     source /etc/bashrc

xampp开机自启

默认情况下xampp不是开机自启的,需要我们手动启动,不方便

1. 编写系统开启启动文件
   vim /etc/rc.d/rc.local
2. 结尾添加代码
   /opt/lampp/lampp start
   保存
3. 需要给 /etc/rc.d/rc.local 赋予可执行权限
   chmod a+x /etc/rc.d/rc.local  

php任意目录执行

需要先配置一个软连接到 /opt/lampp/bin/php,这样我们就可以在任意目录下直接执行 php 命令(代替配置环境变量)

1. 创建 /opt/lampp/bin/php 软链接 到 /usr/local/bin/php
   ln -s /opt/lampp/bin/php /usr/local/bin/php
2. 测试 php 
   php --version  

MySQL任意位置执行

1. 创建 /opt/lampp/bin/mysql 软链接 到 /usr/local/bin/mysqlx
   ln -s /opt/lampp/bin/mysql  /usr/local/bin/mysqlx
2. 测试 mysqlx 
   mysqlx -uroot -p 两次回车没有密码

MySQL配置密码以及开启远程访问

1. 进入MySQL
2. 设置密码
update mysql.user set password = password('666888') where user = 'root';
3. 开启远程访问
grant all privileges on *.* to 'root'@'%' identified by '666888' with grant option;
4. 刷新权限
flush privileges;
5. 退出mysql
 exit
6. 重启xampp
7. 测试本地登录
8. 测试远程连接

MySQL开启日志

1. 进入 xampp 的 mysql配置文件
vim /opt/lampp/etc/my.cnf
2. 找到 [mysqld]
    2.1 配置开启日志代码
    #开启MySQL的查询日志
    general-log=1
    general_log_file=/opt/lampp/logs/mysql.log
3. 找到 [mysqld_safe] 没有就写一个
    3.1 配置开启错误日志代码
    #开启错误日志
    log_error=/opt/lampp/logs/mysql-error.log 
4. 授予 /opt/lampp/logs 写入权限 
    drwxr-xr-x  2 daemon daemon     122 513 11:52 logs
    chmod -R a+w /opt/lampp/logs 
5. 重启xampp
    6. 进入 /opt/lampp/logs 查看mysql日志文件
注意 mysql日志文件会越来越大 需要定时删除
echo "" > /opt/lampp/logs/mysql.log
关闭日志则是 general-log=0

PHP报错

某些xampp安装包没有开启php报错,需要手动开启

方案一 配置文件级别
1. 进入 php 配置为文件
    vim /opt/lampp/etc/php.ini
2. 修改  533 display_errors=Off533 display_errors=On On表示开启 不用管 Off 关闭
3. 只要修改配置文件 就需要重启 xampp
方案二 error_reporting() 函数页面级别
error_reporting(0);  页面首行配置 关闭报错
error_reporting(1);  页面首行配置 开启报错 默认 不用设置

VSCode开发工具

你可以先安装中文插件包后再导入配置文件 img

img img img

img

相关插件

Remote - SSH,远程连接插件,安装完毕注意需要重启,如果自己没有就安装一下 img

远程连接开发

img img

img img img img img

注意 如果之前弄过公私钥登录这里可能会报错或者无法连接
解决 删除 C:\Users\coder\.ssh\known_hosts
如果没弄过公私钥登录则需要输入密码,而且每次打开服务器文件夹都需要输入密码开发不方便
建议大家使用公私钥
公私钥免密登录需要先使用ssh使用私钥登录一下才可以
ssh -i C:\Users\coder\.ssh\id_rsa root@192.168.88.66

img img

img