Apache服务的基本配置(apache的访问控制、虚拟主机、https)

一、什么是apache服务

1、Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

2、Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。

3、Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

二、什么是HTTP

1、HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议;所有的www文件必须准守这个标准;是应用级的协议,主要用于分布式、协作的信息系统;http和https分别使用80、443端口 ,https是加密链接访问;在Internet上,HTTP通信往往发生在TCP/IP连接上,其默认的端口为80,也可以使用其他端口。

2、http的运行原理:

1)Web浏览器使用HTTP命令向一个特定的服务器发出Web页面请求。

2)若该服务器在特定端口(通常是TCP 80端口)处接收到Web页面请求后,就发送一个应答并在客户和服务器之间建立连接。

3)服务器Web查找客户端所需文档,若Web服务器查找到所请求的文档,就会将所请求的文档传送给Web浏览器。若该文档不存在,则服务器会发送一个相应的错误提示文档给客户端。

4)Web浏览器接收到文档后,就将它显示出来。

5)当客户端浏览完成后,就断开与服务器的连接。

三、Apache的安装部署

1、配置ip和yum源

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第1张图片

2、yum install httpd  -y           ##安装http服务

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第2张图片

3、开启http服务,并设置为开机自启。

4、将http加入火墙允许列表(--permanent表示永久性的)

      firewall-cmd --list-all                                  ##列出火墙信息
      firewall-cmd --permanent --add -service=http     ##永久允许http
      firewall-cmd --reload                                   ##重新加载火墙策略

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第3张图片

5、在默认发布文件写入内容,用主机访问时可以查看到

      /var/www/html                           ##apache的默认发布目录

     /var/www/html/index.html          ##apache的默认发布文件

6、测试:172.25.254.133

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第4张图片

四、HTTP配置文件的修改

1、默认发布文件的修改

默认发布文件可以有多个,在配置文件里修改,其按顺序执行,即如果前面的文件不存在,则访问后面的。

1)在默认发布目录下新建westos.html加入内容,并且编辑其配置文件:

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第5张图片

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第6张图片

2)完成后重启http服务

3)在浏览器输入172.25.254.133进行测试:westos.html在前所以访问的是它里面的内容

2、默认发布目录的修改

1)新建一个目录/westos/html,修改其配置文件

mkdir /westos/html -p

vim /etc/httpd/conf/httpd.conf                  #注释掉119行,写入120行

   120 DocumentRoot "/westos/html"
   121         #Directory模块是赋予新的发布目录的权限
   122              Require all granted        #表示允许所有用户访问
   123

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第7张图片

2)重启http服务,将新建的/westos/html目录修改为默认发布目录

注意:修改的发布目录必须系统存在,如果不存在需要手动建立,否则访问不到。

3)重启http服务,将新建的/westos/html目录修改为默认发布目录

3、默认端口的修改

apache的默认端口为80

1)在主配置文件将apache的80端口修改为8080

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第8张图片

2)重启http服务,因为火墙的默认端口是80,所以还要将修改的8080端口加入火墙允许列表里

3)测试:真机访问172.25.254.133:8080      #ip地址后面加端口号

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第9张图片

五、Apache的访问控制

1、基于主机的访问控制

    通过使用 Deny 和 Allow 指令,实现允许或者禁止某个主机访问我们的服务器资源。通常 Order 指令也会一起使用,来定义 Deny 和 Allows 指令起作用的顺序。如果不使用 Order 指令,默认的顺序为 Deny, Allow, 就相当于 Order Deny,Allow。

    第一步:根据Order的顺序,将顺序在前的所有的Allow指令或者Deny指令应用于    当前请求;也就是说如果是 Order allow,deny ,那么第一步就是将所有的Allow指令应用于当前访问,如果有匹配,那么就允许该访问;如果沒有匹配到一条Allow指令,那么就禁止其访问

    第二步:将剩下的另外一个指令的所有语句跟当前请求匹配,如果有匹配就执行相应的访问控制

    第三步:如果当前请求没有在前两步匹配到任何指令,就执行 Order 指令中后面的那个指令。

1)在/var/www/html下建立目录westos,在westos下建立发布目录index.html

2)在主配置文件中写入要禁止访问的ip,禁止ip为172.25.254.88的主机访问:

       ##访问的目录

          Order Allow,Deny              ##访问的顺序Allow和Deny

          Allow from All                 ##Allow的范围是所有人

          Deny from 172.25.254.88       ##Deny的范围是172.25.254.133

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第10张图片

3)重启http服务

4)测试:172.25.254.133/westos

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第11张图片

在主配置文件中写入要允许访问的ip,允许ip为172.25.254.88的主机访问:

 

           Order Deny,Allow

           Allow from 172.25.254.88

           Deny from All

 

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第12张图片

重启http服务

测试:172.25.254.133/westos

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第13张图片

2、基于用户的访问控制

  1)先建立用户的目录,把需要发布的内容写入此目录的发布文件中,使访问者可以看到。进入/etc/httpd/,在这个目录下生成用户名和密码的文件westosuser.

mkdir /var/www/html/westos   #这里我已经建立了该目录则不需要再次建立

vim /var/www/html/westos/index/html   #写入发布文件内容

Cd /etc/httpd/

htpasswd -cm westosuser admin1  #创建用户admin1及westosuser文件

htpasswd -m westosuser admin2   #创建用户admin2

cat westosuser        #查看新建用户信息

注意:########/etc/httpd/这个目录下本身没有westosuser这个文件,-c是生成这个文件,第一次创建用户用-cm,因为已经由westosuser文件,所以在此建立用户用-m就可以,否则会覆盖第一次创建的用户########

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第14张图片

2)修改主配置文件:

     #管理的文件目录

       Authuserfile        /etc/httpd/westosuser  #登录文件所在目录

       AuthName         "Please input username and password" #访问时的提示语

       AuthType           basic          #基本的认证方式

       Require user        admin1        #允许admin1用户通过验证进行登录访问

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第15张图片

3)重启服务,用真机进行登录访问,需要输入登录文件的用户名admin1和密码方可访问,而admin2用户访问不到。172.25.254.133/westos

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第16张图片

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第17张图片

4)修改主配置文件,重启服务

Require              valid-user     #允许所有用户可以访问

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第18张图片

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第19张图片

六、Apache的虚拟主机

Apache是第一个支持基于IP的虚拟主机的服务器。在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务(例如company1.example.com和company2.example.com),其实就是访问同一个服务器上的不同目录。

1、在主机的本地域名解析里加入准备访问虚拟主机的所有网址

172.25.254.133 www.westos.com news.westos.com music.westos.com          

  ##访问www.westos.com news.westos.com music.westos.com时,全部相 当于访问172.25.254.133这个ip

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第20张图片

2、在虚拟主机里:

1)建立指定访问的news和music的访问目录,在访问目录下写入默认发布文件,打开网页就是查看在发布文件中写入的内容。

vim /var/www/virtual/news/html/index.html #编写访问news’s page的网页

vim /var/www/virtual/music/html/index.html 编写访问music’s page的网页

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第21张图片

2)进入/etc/httpd/conf.d目录,编辑三个访问文件(需要以a开头否则顺序读取的时候读取不到)

vim a_default.conf         ##需要以a开头否则顺序读取的时候读取不到

     ##指定的站点名称,没有特殊指向时默认访问      80端口

        DocumentRoot /var/www/html    ##httpd的默认发布目录

        CustomLog logs/default.log combined   ##混合日志文件

vim news.conf

    ServerName news.westos.com              ##访问的域名

DocumentRoot /var/www/virtual/news/html  ##指定news所在的发布目录

CustomLog logs/news.log combined         ##混合日志文件

        Require all granted                     给该目录授权才能访问              

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第22张图片

vim music.conf

        ServerName music.westos.com

        DocumentRoot /var/www/virtual/music/html

        CustomLog logs/music.log combined

        Require all granted

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第23张图片

3、完成后重启apache服务,并在浏览器分别输入www.westos.com,news.westos.com,music.westos.com依次访问查看

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第24张图片

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第25张图片

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第26张图片

七、Apache支持的语言

1、php语言

1)yum install php -y       ##安装php

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第27张图片

2)切换到/var/www/html目录下,编写php脚本文件,重启服务

3)测试:输入172.25.254.133/index.php就会出现php的界面

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第28张图片

2、cgi语言

1)在/var/www/html下建立cgi目录,在cgi目录下编写cgi脚本内容来动态显示系统当前时间。

2)完成后赋予执行权限,并./文件查看脚本文件内容编写是否正确。若不能执行则代码有问题

3)在之前建立的a_default里写入cgi的授权模块,完成后重启服务。

#####cgi的配置信息可以安装httpd-manual,在浏览器输入ip/manual去网页查看#####

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第29张图片

4)测试:172.25.254.133/cgi/index.cgi

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第30张图片

八、Https

   HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。

1、部署https

1)安装所用到的软件,生成443端口及https服务,将其加入火墙允许列表,重新加载火墙策略,重启httpd服务

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第31张图片

2)测试:浏览器输入https://172.25.254.133然后获得证书

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第32张图片

3)yum install crypto-utils -y       ##生成产生加密证书的命令

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第33张图片

4)配置其证书信息

  genkey www.westos.com   ##生成加密的key和加密证书的文件及其位置

  运行后会产生如下界面:选择Next进行下一步

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第34张图片

选择key文件的大小,建议选择1024适中

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第35张图片

下图界面为收集密码数据,速度比较慢,可以通过一个新的shell命令行随机输入字符,速度会加快

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第36张图片

是否将证书向CA机构发送,企业认证都是收费的,选择NO不发送

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第37张图片

不需要钥匙

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第38张图片

填写证书的基本信息,在下载证书的时候均可以查到。依次为国家、省份、所在城市、公司名称,所属部门,网站网址名称,完成后Next即可创建成功

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第39张图片

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第40张图片

5)https的配置文件会自动在/etc/httpd/conf.d/下生成,为ssl.conf文件

   修改/etc/httpd/conf.d/ssl.conf配置,在100行和107写入生成的key和密码    

   证书文件路径,完成后重启服务

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第41张图片

6)测试:在浏览器输入https://www.westos.com,查看证书信息

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第42张图片

2、https的网页重写

目的:输入指定网址强制使用443https加密

1)在真机本地解析/etc/hosts加入测试网址login.westos.com

2)在/var/www/virtual下建立login/html目录并编辑目录下/index.html 写入内容

3)编辑配置文件vim /etc/httpd/conf.d/login.conf,重启服务

SSLEngine on             ##表示认证打开

Require all granted        ##允许所有人访问

RewriteEngine on         ##打开重写功能

RewriteRule              ##重写规则

^(/.*)$              ##客户在浏览器地址中输入的所有字符

https://           ##强制用户加密访问  

%{HTTP_HOST}    ##客户请求主机
$1                 ##"$1"表示^(/.*)$的值
[redirect=301]    ##临时重写 [redirect=302]永久重写

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第43张图片

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第44张图片

4)测试:浏览器输入login.westos.com访问查看,认证后发现可以网址前面强制加入https://

Apache服务的基本配置(apache的访问控制、虚拟主机、https)_第45张图片

你可能感兴趣的:(Apache服务的基本配置(apache的访问控制、虚拟主机、https))