本周实验

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处理。