本週實驗php
1. Linux下Apache部署一個php頁面,返回http數據包中查看server信息,修改Apache 配置使server banner自定義。html
2. nginx設置反向代理,代理上面Apache的應用。mysql
實驗一nginx
一、安裝PHP、MySQL、Apacheweb
安裝PHP,首先安裝epel-release,輸入命令:yum -y install epel-release,看到這個界面以後就說明安裝成功了sql
安裝PHPapache
首先獲取PHP7.0yum源rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmvim
而後查看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-bcmathphp7
看到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。使用命令:yum install httpd,重啓apache。輸入指令:systemctl start httpd,在本地瀏覽器輸入ip驗證一下
設置開機自動啓動服務systemctl enable httpd
二、apache下部署一個頁面
首先介紹一下apache的默認設置
默認端口:80
默認發佈目錄:/var/www/html
默認發佈文件:index.html
進入apache默認發佈的目錄。使用命令:cd /var/www/html,並建立一個文件vim index1.html,保存而且退出
在本地瀏覽器訪問該頁面
因爲這臺電腦burpsuite出了點問題因此先用fiddler抓包,看一下數據。此時能夠查看詳細的PHP、apache信息。如圖
三、修改banner信息
隱藏apache中的信息,修改apache配置文件/etc/httpd/conf/httpd.conf。添加兩行代碼:
ServerSignature Off
ServerTokens Prod
隱藏php中的信息,修改/etc/php.ini文件 在php的php.ini中添加或修改爲以下一條代碼:
expose_php = Off
四、修改以後重啓服務,本地瀏覽器刷新頁面,抓包再看一下。發現版本信息確實是隱藏了
實驗二:
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處理。