環境準備
1.虛擬機這種基本安裝就不做過多介紹了,不會自己去學習相關的內容。
2.centos鏡像建議選擇使用7-everything版的,live版和精簡版的親測會有服務未安裝。
3.記住裝完一定拍快照,裝的環境中會出現各種報錯和你無法預知的錯誤,如果沒拍快照就跟我一樣不停重裝虛擬機吧。
4.鏡像的掛載,修改安裝源。(借用Linux的思路,但不要用所學照搬,不懂得變通,那樣你也會跟我一樣兩個下午服務裝不上,各種報錯,排除各種原因到崩潰。)
centos7 掛載iso鏡像 --用於yum離線安裝程序(很重要,基礎前提)
- 上傳鏡像文件到本地目錄
這裏以CentOS-7-x86_64-Everything-1503-01.iso爲例
- 創建鏡像掛載目錄
mkdir -p /media/CentOS7
- 創建鏡像掛載目錄
mount /dev/sr0 /media/CentOS7
- 在/etc/fstab文件裏最後一行添加這行代碼
vi /etc/fstab
/dev/sr0 /media/CentOS7 iso9660 defaults,ro,loop 0 0
- 新增文件/etc/yum.repos.d/centos7-media.repo
vi /etc/yum.repos.d/centos7-media.repo
[centos7-media]
name=centos7
baseurl=file:///media/CentOS7
enabled=1
gpgcheck=0
gpgkey=file:///media/CentOS7/RPM-GPG-KEY-CentOS-7
- 到/etc/yum.repos.d/中把CentOS-Base.repo修改爲CentOS-Base.repo.bak
mv CentOS-Base.repo CentOS-Base.repo.bak
這裏CentOS-Base.repo文件主要是去網絡上找相應的包,修改爲從本地源讀取 (這點很重要)
- yum makecache 執行成功
- yum安裝gcc(這時候就可以下載依賴關係包了)
總結:
1.以上操作順暢的話就可以安裝相應的Apache和MySQL服務,準備搭建dvwa
2.如果存在報錯的壞,一種是隻加載相關插件,安裝依賴關係包失敗的。另一種“vi /media/centos7”相關錯誤,被回收的。最後一種是在 /bin 或者相關文件查詢不到、無法讀取的。這些都是原因都歸於掛載安裝源的問題,不成功就回上面看看吧。
環境配置
配置ssh
yum install openssh*
編輯ssh配置文件
vi /etc/ssh/sshd_config
把下面兩行取消註釋
PermitEmptyPasswords no
PasswordAuthentication yes
設置
不限制root用戶登錄ssh
PermitRootLogin yes
重啓ssh
systemctl restart sshd.service
設置開機啓動
systemctl enable sshd.service
添加防火牆策略(可選)
firewall-cmd –permanent –zone=public –add-service=ssh
firewall-cmd–reload
我們先更新一下cache(可選操作)
yum makecache
升級一下(可選操作)
yum update
- 安裝必要組件
安裝Apache的服務器
yum install httpd
然後啓動Apache
service httpd start
查看Apache狀態
service httpd status
設置httpd在運行級別爲2、3、4、5的情況下都是on的狀態(如果發現測試php時網頁顯示源代碼,嘗試把此代碼來一遍)
chkconfig –level 2345 httpd on firewall-cmd –permanent –zone=public
–add-service=httpd
安裝MySQL
//因爲最新版的linux系統開始,默認的是Mariadb
而不是mysql~//
檢查系統是否裝有mysql,返回空值則說明沒有安裝
rpm -qa |grep mysql
//yum install雖然可執行,但是隻是用來更新Mariadb的//
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安裝mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安裝mariadb(新版本的mysql已經改成mariadb,使用mysql也可以,要去找安裝包)
yum install mariadb ( yum install mysql-server)
安裝完成後再次查看mariadb
rpm -qa | grep mariadb
重啓服務
service mysqld restart(這裏裝的是mariadb,但是數據庫的重啓停止還是mysql)
如果重啓含有如下報錯
解決辦法一:使用MariaDB代替mysql數據庫(MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社區採用分支的方式來避開這個風險。)#yum install mariadb-server -y //如果已安裝可以省略
systemctl start mariadb.service //啓動服務
#systemctl enable mariadb.service //開機啓動服務
mysql -u root -p //登錄mysql解決辦法二:這個方法就是在 /etc/systemd/system/mysqld.service 添加Unit,既然錯誤提示找不到Unit那我們添加一個就好了。在
/etc/systemd/system/mysqld.service下添加如下內容[Unit] Description=MySQL Server After=network.target [Service]
ExecStart=/usr/bin/mysqld --defaults-file=/etc/mysql/my.cnf
–datadir=/var/lib/mysql --socket=/var/run/mysqld/mysqld.sock User=mysql Group=mysql WorkingDirectory=/usr [Install]
WantedBy=multi-user.target然後運行
systemctl daemon-reload 使用重啓命令:
service mysql start
重啓Mysq服務
service mysqld restart
下載DVWA
1.去官網下載dvwa
2.cp到 /var/www/html 下
3.解壓壓縮包
安裝PHP
yum install php
將虛擬機配置成橋接模式後,訪問測試網頁
http://x.x.x.x/dvwa/setup.php 根據下面配置內容提示,設置環境
vim /etc/php.ini
配置內容
allow_url_fopen = On
allow_url_include = On
編輯配置文件
cd /var/www/html/dvwa-master/config
cp config.inc.php.dist config.inc.php.dist.bak #備份一下
vim config.inc.php
$_DVWA[ ‘db_server’ ] = ‘127.0.0.1’; $_DVWA[ ‘db_password’ ] =
‘mysqlpassword’; $_DVWA[ ‘recaptcha_public_key’ ] =
‘6LePqhAUAAAAAH6Bn2okO9-8G-zNw46PNhotV4Q6’; $_DVWA[
‘recaptcha_private_key’ ] =
‘6LePqhAUAAAAAMVqhBbFr1NVA9H13FKyfAgBeZYx’;
然後給予權限可寫
cd /var/www/html/dvwa/hackable/ chmod 777 uploads cd
/var/www/html/dvwa/external/phpids/0.6/lib/IDS/tmp chmod 777
phpids_log.txt
如果最後還有問題調整一下安全級別
cd /var/www/html/dvwa/config vim config.inc.php $_DVWA[
‘default_security_level’ ] = ‘low’;
最後訪問網頁出現404的錯誤解決方法如下:
1.文件名沒有寫錯。
2.橋接成功。
3.權限給所有。
4.ip設置正確
5.httpd.conf配置正確。
6。查看80端口沒被佔用。
安裝dvwa
上面操作正確你會看到如下畫面(注意所標記的內容)
打開php服務器,輸入http://localhost/DVWA-master/,可以看到沒有警告了,點擊create/reset database完成DVWA的安裝。
之後在DVWA Security模塊,設置安全級別爲Low,點Submit,完成DVWA的配置。之後也能在這裏設置各種級別來對網絡攻防的學習。
至此,DVWA安裝完畢,就可以愉快在上面的各種網絡常見漏洞進行網絡安全、網絡攻防的學習了。