环境准备
以64位环境为例
操作系统
CentOS-7-x86_64-Minimal-2009
中间件、数据库等
使用xampp完整包集成环境
下载
https://www.apachefriends.org/zh_cn/download.html
安装
1 | chmod +x xampp-linux-x64-5.6.23-0-installer.run |

基础配置
兼容性问题
1
vi /opt/lampp/lampp
将
export LD_ASSUME_KERNEL=2.2.5修改为export LD_ASSUME_KERNEL=2.8.0安装
net-tools1
rpm -ivh net-tools-2.0-0.25.20131004git.el7.x86_64.rpm

启动
1 | cd /opt/lampp/ |
会提示ok,启动成功
配置
安全性设置
1 | ./lampp security |

设置
XAMPP pages的密码重启
mysql设置
mysql/phpadmin用户pma的密码设置
mysql用户root的密码设置
ftp用户daemon的密码
重启服务
1 | ./lampp restart |
访问设置
设置
ServerName1
2cd /opt/lampp/etc/
vi httpd.conf修改
ServerName行,设置为:1
ServerName localhost:80
重启服务
1
2cd /opt/lampp/
./lampp restart开放防火墙80端口
1
2firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
同网络下主机即可访问

配置dvwa靶机
部署
安装
unzip1
rpm -ivh unzip-6.1c-3.1.mga7.x86_64.rpm
解压
dvwa源码1
unzip DVWA-master.zip -d /opt/lampp/htdocs/
设置访问
更改网站根目录
1
vi /opt/lampp/etc/httpd.conf
将
DocumentRoot "/opt/lampp/htdocs"更改为DocumentRoot "/opt/lampp/htdocs/DVWA-master"设置
dvwa配置文件1
2cd /opt/lampp/htdocs/DVWA-master/config
cp config.inc.php.dist config.inc.php
重启lampp服务即可访问

配置DVWA
PHP function allow_url_include: Disabled1
vi /opt/lampp/etc/php.ini
将
allow_url_include=Off改为allow_url_include=OnreCAPTCHA key: Missing1
vi /opt/lampp/htdocs/DVWA-master/config/config.inc.php
将
1
2$_DVWA[ 'recaptcha_public_key' ] = '';
$_DVWA[ 'recaptcha_private_key' ] = '';改为:
1
2$_DVWA[ 'recaptcha_public_key' ] = '6LdK7xITAAzzAAJQTfL7fu6I-0aPl8KHHieAT_yJg';
$_DVWA[ 'recaptcha_private_key' ] = '6LdK7xITAzzAAL_uw9YXVUOPoIHPZLfw2K1n5NVQ';
Unable to connect to the database.1
vi /opt/lampp/htdocs/DVWA-master/config/config.inc.php
将
$_DVWA[ 'db_password' ] = '';中的值改为自己mysql的root用户的密码对目录无可写权限
1
2
3chmod 757 /opt/lampp/htdocs/DVWA-master/hackable/uploads/
chmod 646 /opt/lampp/htdocs/DVWA-master/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
chmod 757 /opt/lampp/htdocs/DVWA-master/config
重启服务
1
2cd /opt/lampp/
./lampp restart
刷新页面即可

开始使用
点击Create/Reset Database后会创建数据库
报错:

默认安装的是MariaDB数据库,并不是Mysql,不能按照Mysql的配置来不然会报错
解决:
停止
lampp服务1
2cd /opt/lampp/
./lampp stop删除一些缓存文件
1
2rm -rf /opt/lampp/var/mysql/VM_* # 删除mysql相关缓存
rm -rf /opt/lampp/var/proftpd.pid # 删除proftp相关缓存
启动
lampp服务1
2cd /opt/lampp/
./lampp start
启动进入
mysql1
2cd /opt/lampp/bin/
./mysql -uroot -p输入密码,进入

配置数据库
1
2
3
4
5use mysql;
create user dvwa;
grant all on dvwa.* to dvwa@localhost identified by '123456';
flush privileges;
exit
修改配置文件
1
vi /opt/lampp/htdocs/DVWA-master/config/config.inc.php
将
1
2
3
4$_DVWA[ 'db_server' ] = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'root';
$_DVWA[ 'db_password' ] = '123456';修改为:
1
2
3
4$_DVWA[ 'db_server' ] = 'localhost';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'dvwa';
$_DVWA[ 'db_password' ] = '123456';
重启
lampp服务即可
配置全部结束,即可登陆,默认用户名admin,密码password

设置环境开机自启
创建启动文件
1
2cd /lib/systemd/system/
vi /lib/systemd/system/lampp.service文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13[Unit] # 服务的说明
Description=lampp # 描述服务
After=network.target # 描述服务类别
[Service] # 服务运行参数的设置
Type=forking # 后台运行的形式
ExecStart=/opt/lampp/lampp start # 服务的具体运行命令
ExecReload=/opt/lampp/lampp restart # 重启命令
ExecStop=/opt/lampp/lampp stop # 停止命令
PrivateTmp=true # 表示给服务分配独立的临时空间
[Install] # 服务安装的相关设置,可设置为多用户
WantedBy=multi-user.target设置启动文件权限
1
chmod 754 /lib/systemd/system/lampp.service
设置开机自启
1
systemctl enable lampp.service
其他相关命令(与部署无关)
启动服务
1
systemctl start lampp.service
取消开机自启
1
systemctl disable lampp.service
查看服务状态
1
systemctl status lampp.service
重启服务
1
systemctl restart lampp.service
查看所有已启动的服务
1
systemctl list-units --type=service