本周實驗
1. Linux下Apache部署一個php頁面,返回http數據包中查看server信息,修改Apache 配置使server banner自定義。
2. nginx設置反向代理,代理上面Apache的應用。
實驗一
1、安裝PHP、MySQL、Apache
安裝PHP,首先安裝epel-release,輸入命令:yum -y install epel-release,看到這個界面之后就說明安裝成功了
安裝PHP
首先獲取PHP7.0yum源rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
然后查看php7.0的擴展名稱,根據需求安裝,查看擴展名指令:yum search php70w
查看到擴展名稱后可以選擇自己的要求安裝幾個。安裝命令:yum install php70w php70w-fpm php70w-cli php70w-common php70w-devel php70w-gd php70w-pdo php70w-mysql php70w-mbstring php70w-bcmath
看到Complete就說明安裝已經完成了,接下來使用php -v,查看php版本
PHP的一些操作指令:
systemctl start php-fpm.service 啟動
systemctl Stop php-fpm.service 停止
systemctl Restart php-fpm.service 重啟
systemctl enable php-fpm.service 開機自動啟動服務
systemctl reload php-fpm.service 重啟修改配置
安裝MySQL
安裝mysql。首先我們執行下面的指令獲取repo源,wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
安裝mysql-community-release-el7-5.noarch.rpm包,使用命令rpm -ivh mysql-community-release-el7-5.noarch.rpm
安裝好mysql-community-release-el7-5.noarch.rpm包之后進行安裝MySQL。使用命令:yum install mysql-community-server
安裝過程中會出現兩次需要確認的情況,輸入y按回車進行確認,當出現Complete就說明安裝已經成功了
驗證一下,使用MySQL -u root
安裝apache
安裝apache。使用命令:yum install httpd,重啟apache。輸入指令:systemctl start httpd,在本地瀏覽器輸入ip驗證一下
設置開機自動啟動服務systemctl enable httpd
2、apache下部署一個頁面
首先介紹一下apache的默認設置
默認端口:80
默認發布目錄:/var/www/html
默認發布文件:index.html
進入apache默認發布的目錄。使用命令:cd /var/www/html,並創建一個文件vim index1.html,保存並且退出
在本地瀏覽器訪問該頁面
由於這台電腦burpsuite出了點問題所以先用fiddler抓包,看一下數據。此時可以查看詳細的PHP、apache信息。如圖
3、修改banner信息
隱藏apache中的信息,修改apache配置文件/etc/httpd/conf/httpd.conf。添加兩行代碼:
ServerSignature Off
ServerTokens Prod
隱藏php中的信息,修改/etc/php.ini文件 在php的php.ini中添加或修改成如下一條代碼:
expose_php = Off
4、修改之后重啟服務,本地瀏覽器刷新頁面,抓包再看一下。發現版本信息確實是隱藏了
實驗二:
nginx 由於其高效的並發處理能力,現在很多網站已經完全用nginx代替apache來處理靜態頁面,但是動態頁面的處理,依然使用apache。
nginx安裝非常簡單,參照我上一篇博客有。
設置反向代理。首先打開nginx配置文件vi /etc/nginx/nginx.conf,修改配置信息為
location / {
proxy_pass 127.0.0.1:80;
}
保存,這個不太清除怎么驗證。
apache處理動態文件。可以修改:
location ~ .php$ {
proxy_pass 127.0.0.1:80;
}
就是讓apache處理PHP文件,其他的文件有nginx處理。