猫宁!!!

参考链接:https://www.jianshu.com/p/5491ce5bfbac

https://www.cnblogs.com/wujuntian/p/8183952.html

https://www.cnblogs.com/lonnie/p/9027566.html

https://stackoverflow.com/questions/34274492/dvwa-setup-php-function-allow-url-include-disabled/34540293

https://blog.csdn.net/reblue520/article/details/52464099

搭建dvwa的环境就相当于是搭建一个站点,这里采用LNMP的方式,即linux,nginx,mariadb,php的方式,全部在一台centos7上搭好。

linux环境配置,ip:192.168.0.100

centos7已经关闭了防火墙,selinux,否则会严重影响安装进程。

更新一下centos7

yum -y update

安装软件源

yum -y install epel-release

缓存软件包信息

yum makecache

nginx服务

安装

yum -y install nginx

开启

systemctl start nginx

本地浏览器输入192.168.0.100,显示nginx页面,说明安装成功,页面路径/usr/share/nginx/html

修改nginx主配置文件vi /etc/nginx/nginx.conf

server_name填写为192.168.0.100,这是服务器ip

在location中添加

root html;

index index.php;两行

在内容 root          下面添加如下内容,实现nginx服务器和php的关联,保存并退出.

  location ~ \.php$ {
       root /usr/share/nginx/html; #指定 php 的根目录
       fastcgi_pass 127.0.0.1:9000;#php-fpm 的默认端口是 9000
       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME

  $document_root$fastcgi_script_name;
       include fastcgi_params;
       }

nginx -t检测是否出现配置错误,显示成功。

由于进行了配置,所以不得不重启nginx服务

systemctl restart nginx

安装php相关服务

安装,全部都安装好

yum -y install php-fpm php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash

启动php-fpm服务

systemctl start php-fpm

修改php-fpm配置文件

vi /etc/php-fpm.d/www.conf,将其中的apache修改为nginx即可,保存退出

由于修改文件配置,需要重启php-fpm服务

systemctl restart php-fpm

进入/usr/share/nginx/html,创建info.php的文件,vi info.php,内容如下:

<?php
phpinfo();
?>
访问192.168.0.100/info.php,显示php环境已经好了。

mariadb数据库环境

安装

yum -y install mariadb mariadb-server

启动

systemctl start mariadb

设置数据库密码,root是账户,jiayou是密码

mysqladmin -u root password jiayou
进入数据库

mysql -u root -p

创建并使用名为dvwa的数据库

create database dvwa;
use dvwa;

exit退出数据库

下载dvwa的源代码

www.dvwa.co.uk

https://github.com/ethicalhack3r/DVWA

将kali linux本地代码全部上传到服务器nginx的/usr/share/nginx/html目录之下

scp -r * root@192.168.0.100:/usr/share/nginx/html

访问http://192.168.0.100/setup.php,会有一段文字提示:

DVWA System error - config file not found. Copy config/config.inc.php.dist to config/config.inc.php and configure to your environment.

cd /usr/share/nginx/html/config

生成一份新的配置文件

cp config.inc.php.dist  config.inc.php

 vi config.inc.php,将数据库密码修改为jiayou,就是之前自定义的密码。

再次访问192.168.0.100/setup.php,显示如下,有报错, function allow_url_include: Disabled提示开启PHP的allow_url_include

php的配置文件存于/etc/php.ini中,vi /etc/php.ini,查询关键词allow_url,找到allow_url_include = Off,将Off改为On就好了,然后systemctl restart php-fpm。

同时进入cd /usr/share/nginx/html/config,vi config.inc.php,添加公钥还有私钥。

$_DVWA[ 'recaptcha_public_key' ] = '6LdK7xITAAzzAAJQTfL7fu6I-0aPl8KHHieAT_yJg';

$_DVWA[ 'recaptcha_private_key' ] = '6LdK7xITAzzAAL_uw9YXVUOPoIHPZLfw2K1n5NVQ';

目前最后一个点:

chmod 666 /usr/share/nginx/html/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt,给予所有用户对这个日志文件的读写权限

条件全部满足,这个时候点击安装按钮依然没有反应,查看nginx报错日志,tail -f /var/log/nginx/error.log

[error] 9112#0: *180 FastCGI sent in stderr: "PHP message: PHP Warning:  session_start(): open(/var/lib/php/session/sess_5930ao4030vq7tble1pm2see32, O_RDWR),这个值得关注。

解决方案是如下,给予这个文件777权限,这个文件是很重要的,与用户的会话身份相关。

chmod 777  /var/lib/php/session

systemctl restart php-fpm,再重启一下。

之后成功安装,对于此类报错,不是每个人都会遇到,和每个人当时的安装环境以及采用的安装方法关系较大,因为即使是LNMP安装dvwa的过程,互联网上也方法多种多样。

http://192.168.0.100/index.php

感谢aaron提供的部分技术援助!!!

PJzhang:centos7上LNMP方式安装dvwa漏洞测试环境的更多相关文章

  1. 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录

    在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录 时间:2017年9月20日 一.软件环境: IP:192.168.1.71 Hostname:centos73-2.sur ...

  2. kali上部署dvwa漏洞测试平台

    kali上部署dvwa漏洞测试平台 一.获取dvwa安装包并解压 二.赋予dvwa文件夹相应权限 三.配置Mysql数据库 四.启动apache2和mysql服务 五.在网页配置dvwa 六.登陆到D ...

  3. Centos7上HBase的安装和配置

    注意事项 HBase配置必须使用主机名,不支持直接配置IP地址.我尝试过,如果不使用主机名直接用IP,会导致HBase连接zk超时. > 设置主机名 hostnamectl set-hostna ...

  4. CentOS7上Python3.5安装

    CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...

  5. shell-网上lnmp一键安装讲解

    shell-网上lnmp一键安装讲解 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/b ...

  6. 在centos7上用docker安装宝塔面板

    在centos7上用docker安装宝塔面板   1. [root@web01 ~]# systemctl enable docker 2. [root@web01 ~]# docker pull c ...

  7. VirtualBox上桥接方式安装CentOS之后借助宿主上网

    VirtualBox上桥接方式安装CentOS之后借助宿主上网: 修改centos文件: 1 vi  /etc/sysconfig/network-scripts/ifcfg-eth0 增加以下几项: ...

  8. centos7上使用yum安装mysql

    centos yum是没有mysql的,集成的是新的Mariadb,怎么用yum的方式在centos7上安装mysql呢? 1. 下载mysql的repo源 wget http://repo.mysq ...

  9. centos7上keepalived的安装和配置

    1.环境规划1)master:node1,centos7.5,eth0:192.168.1.11,eht1:10.10.1.11,keepalive2)backup:node1,centos7.5,e ...

随机推荐

  1. C#语言基础语句

    case,switch,break的使用 Console.WriteLine("1.汉堡"); Console.WriteLine("2.薯条"); Conso ...

  2. Java数据结构与算法之排序

    排序从大体上来讲,做了两件事情: 1.比較两个数据项: 2.交换两个数据项.或复制当中一项 一.冒泡排序 大O表示法:交换次数和比較次数都为O(N*N). 算法原理: 1.比較相邻的元素.假设第一个比 ...

  3. 怎样更改Linux中默认的openjdk为自己安装的JDK

    (1)/etc/profileexport JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera/export PATH=$PATH:$JAVA_HOME/binexpor ...

  4. 对JS闭包的理解

    闭包,是JS里很重要的一个概念,也是相对来讲不太容易理解的一个东西,不过即使难理解,我们也要迎难而上啊,嘿嘿,网上有很多文章都在讲闭包,我在看JS设计模式的时候,书里也着重讲了闭包,但是书里官方的的确 ...

  5. appium 控件定位

    转自:http://www.2cto.com/kf/201410/340345.html AppiumDriver的各种findElement方法的尝试,尝试的目标应用是SDK自带的Notepad应用 ...

  6. MapReduce简述、工作流程及新旧API对照

    什么是MapReduce? 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查而且数出有多少张是黑桃. MapReduce方法则是: 1. 给在座的全部玩家中分配这摞牌. 2. 让每一个玩家数自己手 ...

  7. 设计模式学习笔记——Mediator中介者模式

    将众多对象之间的网状关系转为全部通过一个中间对象间接发生关系,此中间对象为中介者. 看图最直观: 作用不言而喻,就是降低对象之间的耦合度,乃至降低了整个系统的复杂度. 有点象代理模式,更象外观模式:

  8. HDU 6096 String 排序 + 线段树 + 扫描线

    String Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) Problem De ...

  9. fastdfs配置文件解析

    1 tracker.conf 1.1 disabled=false 设置为false则该配置文件生效,否则屏蔽. 1.2 bind_addr= 程序监听地址,如果不设定则监听所有地址. 1.3 por ...

  10. ASHX入门教程

    新建web应用程序 其中添加的ashx包含ashx.CS 普通的web网站只包含ashx 新建webapplication应用 新建SampleHandler public class SampleH ...