注意:DVWA需要依赖httpd、PHP、MySQL、php-mysql等应用或组件,最简单的方法是安装wampserver(http://www.wampserver.com/),安装完了所需的各种依赖部件全部搞定。
本文将详细描述在Linux操作系统(centos6.9)下进行DVWA环境搭建及服务器的配置,以记录碰到的问题及需要注意的点。
vi /etc/sysconfig/iptables
#打开防火墙配置文件
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
#允许80端口通过防火墙
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
#允许3306端口通过防火墙
备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22 端口这条规则的下面。
端口号 | 作用 |
---|---|
22 | SSH默认端口 |
80 | HTTP默认端口 |
3306 | MySQL默认端口 |
vi /etc/selinux/config
#打开selinux配置文件
# SELINUX=enforcing
#注释掉
#SELINUXTYPE=targeted
#注释掉
SELINUX=disabled
#增加
:wq!
#保存退出
shutdown -r now
#重启系统
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。—— [ 百度百科 ]
yum install httpd
#根据提示,输入Y 安装即可成功安装
/etc/init.d/httpd start
#启动Apache
备注:Apache 启动之后会提示错误:
正在启动 httpd:httpd: Could not reliably determine the server's fully qualif
domain name, using ::1 for ServerName
解决办法:
vi /etc/httpd/conf/httpd.conf
#编辑配置文件
找到 #ServerName www.example.com:80
修改为 ServerName www.xxx.net:80
#这里设置为你自己的域名,如果没有域名,可以设置为localhost
chkconfig httpd on
#设为开机启动
/etc/init.d/httpd restart
#重启Apache
yum install mysql mysql-server
#询问是否要安装,输入Y 即可自动安装,直到安装完成
/etc/init.d/mysqld start
#启动MySQL
chkconfig mysqld on
#设为开机启动
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
#拷贝配置文件
注意:如果/etc 目录下面默认有一个my.cnf,直接覆盖即可
mysql_secure_installation
回车,根据提示输入Y
输入2次密码,回车
根据提示一路输入Y
最后出现:Thanks for using MySQL!
MySql 密码设置完成,重新启动 MySQL
/etc/init.d/mysqld restart
#重启
/etc/init.d/mysqld stop
#停止
/etc/init.d/mysqld start
#启动
yum install php
#根据提示输入Y直到安装完成
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear phpxml php-xmlrpc php-mbstring
#这里选择以上安装包(根据需要)进行安装,根据提示输入Y回车
/etc/init.d/mysqld restart
#重启MySql
/etc/init.d/httpd restart
#重启Apache
在路径/var/www/html中创建index.php,用于测试服务器是否安装正常。
vi /etc/httpd/conf/httpd.conf
#编辑配置文件
ServerTokens OS
#在44 行 修改为:ServerTokens Prod
(在出现错误页的时候不显示服务器操作系统的名称)
ServerSignature On
#在536行 修改为:ServerSignature Off
(在错误页中不显示Apache 的版本)
Options Indexes FollowSymLinks
#在331行 修改为:Options Includes ExecCGI FollowSymLinks
(允许服务器执行CGI 及SSI,禁止列出目录)
AllowOverride None
#在338行 修改为:AllowOverride All
(允许.htaccess)
Options Indexes MultiViews FollowSymLinks
#在554行 修改为 Options MultiViews FollowSymLinks
(不在浏览器上显示树状目录结构)
DirectoryIndex index.html index.html.var
# 在402行 修改为: DirectoryIndex index.html index.html Default.html Default.htm index.php Default.php index.html.var
(设置默认首页文件,增加index.php)
KeepAlive Off
#在76行 修改为:KeepAlive On
(允许程序性联机)
:wq!
#保存退出
/etc/init.d/httpd restart
#重启
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html
#删除默认测试页
vi /etc/php.ini
#编辑
#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off
#在432行 禁止显示php版本的信息
magic_quotes_gpc = On
#在745行 打开magic_quotes_gpc 来防止SQL注入
short_open_tag = ON
#在229行支持php短标签
open_basedir = .:/tmp/
#在380行 设置表示允许访问当前目录(即PHP 脚本文件所在之目录)和/tmp/目录,可以防止php 木马跨站,如果改了之后安装程序有问题,可以注销此行,
或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/
:wq!
#保存退出
/etc/init.d/mysqld restart
#重启MySql
/etc/init.d/httpd restart
#重启Apache
http://www.dvwa.co.uk/
将下载的应用解压到apache默认的主目录/var/www/html:
unzip DVWA-master.zip -d /usr/www/html
在地址栏输入 http://localhost/DVWA-1.0.8/setup.php
(DVWA-1.0.8为解压缩文件夹名,注意大小写)
点击“Create/Reset Database”按钮时如果出现“Could not connect to the database - please check the config file.”的错误信息,请打开DVWA-1.0.8/config/config.inc.php文件,修改DVWA数据库中的密码,与之前创建
MySQL root用户的密码一致。
具体操作如下:
$_DVWA[ ‘db_password’ ] = ‘p@ssw0rd’;
中的密码部分替换成在步骤2中设置的MySQL root用户的密码;
(此处为空,直接把’p@ssw0rd’改为”就行了,即密码为空),再重新创建数据库即可。
正常情况截图:
如果安装错误,别害怕,请看下面。。。
2.当出现MySQL出现Access denied for user root@localhost错误
解决方法:
3.安装完php后,使用phpinfo函数进行验证失败,直接把
phpinfo();
?>
这个代码显示出来了,而没有出现php的信息
解决办法:
4.安装完DVWA后,二级界面无法正常打开,服务器返回500错误;
解决办法:
5.其他DVWA安装问题,查看DVWA配置文件(DVWA安装包中的config.inc.php文件)
详细操作可参考链接:http://www.mamicode.com/info-detail-2218015.html