Linux系统中Apach服务基本配置

什么是APACH服务

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

什么是HTTP协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。

一.修改HTTP的默认发布文件(/var/www/html/index.html)

1.建立文件和目录

 mkdir /http/html/ -p

2.在目录底下建立发布文件

vim index.html

3.编写主配置文件修改默认发布目录和文件

 vim /etc/httpd/conf/httpd.conf
注释掉第119行,在下边写上DocumentRoot "/http/html"
  在底下写<Directory "/http/html">(默认发布目录)
                require all granted(提供所有权限)
            DirectoryIndex test.html(默认发布文件)
        </Directory>

4.重启httpd服务

 systemctl restart httpd

二.访问控制

(一)基于ip的访问控制
1.在/var/www/html下建立目录jay,在jay下建立发布目录index.html

2.在主配置文件中写入要禁止访问的ip

禁止ip为172.25.254.77的主机访问

vim /etc/httpd/conf/httpd.conf
   <Directory "/var/www/html/jay"> 访问的目录
        Order Allow,Deny            顺序访问Allow和Deny
        Allow from All              Allow的范围是所有人
        Deny from 172.25.254.77     Deny的范围是172.25.254.10(相当于把172.25.254.10加入黑名单)
   </Directory>

或者只允许ip为172.25.254.77的主机访问

<Directory "/var/www/html/jay">  访问的目录
        Order Deny,Allow             顺序访问Deny和Allow
        Allow from 172.25.254.77     Allow的范围是172.25.254.10
        Deny from Allow              Deny的范围是所有人(相当于把172.25.254.10加入白名单)
   </Directory>

这里写图片描述
3.重启服务

systemctl restart httpd

这里写图片描述

(二)基于用户的访问控制
1.进入/etc/httpd

cd /etc/httpd

2.在这个目录底下生成用户名和密码的文件apachuser

 htpasswd -cm apachuser tom   因为这个目录底下本来没有这个文件,-c的母的是生成这个文件
 htpasswd -m apachuser jimmy  已经有这个文件了,所以生成第二个用户的时候,不用-c
                               (如果加c,则后来的用户名会覆盖以前的)

这里写图片描述

这里写图片描述
3.在主配置文件中写入要禁止访问的用户

 vim /etc/httpd/conf/httpd.conf
   <Directory "/var/www/html/jay"> 
        AuthUserFile /etc/httpd/apachuser               用户认证文件
        AuthName "please input username and password!"  在网页中提示输入用户名和密码
        AuthType basic                                  认证方式是最基础的认证
        Require user tom                                只有用户tom可以通过认证
       或者(Requir valid-user)                           所有用户可以通过认证
   </Directory>

这里写图片描述
4.在浏览器访问(tom可以访问而jimmy不行)

这里写图片描述
这里写图片描述

三.虚拟主机

什么是虚拟主机:

虚拟主机(Virtual Host),又称虚拟服务器、主机空间或是网页空间,是一种网络技术,可以让多个主机名称,在一个单一的服务器上运作,而且可以分开支持每个单一的主机名称。虚拟主机可以运行多个网站或服务。虚拟并非指不存在,而是指空间是由实体的服务器延伸而来,其硬件系统可以是基于服务器群,或者单个服务器。其技术是互联网服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应用于HTTP、FTP、EMAIL等多项服务,将一台服务器的某项或者全部服务内容逻辑划分为多个服务段位,对外表现为多个服务器,从而充分利用服务器硬件资源。
——Wiki中对虚拟主机的解释。

虚拟主机的配置:

1.在浏览器的主机中

 vim /etc/hosts
   172.25.254.110 www.jay.com news.jay.com music.jay.com login.jay.com
  意思是访问www.jay.com news.jay.com music.jay.com login.jay.com的时候,全部相当于访问172.25.254.110这个ip

2.为了访问不同的域名时有不同的结果,我们可在提供httpd服务的主机中做如下配置:
3.进入conf.d目录

cd conf.d

4.没有特殊指向时默认访问80端口,httpd的默认发布目录和文件

vim default.conf
    <VirtualHost _default_:80>
        DocumentRoot /var/www/html
        CustomLog  "logs/default.log" combined
    </VirtualHost>

这里写图片描述
5.在该目录底下建立指定访问news和music的访问目录

 mkdir /var/www/virtual/jay.com/news -p
 mkdir /var/www/virtual/jay.com/music -p

6.在访问目录下写入默认发布文件

vim /var/www/virtual/jay.com/news/index.html
     hello,news
vim /var/www/virtual/jay.com/music/index.html
     hello,music

7.在该目录下,编写指向访问文件

vim news.conf
    <VirtualHost *:80>
        ServerName news.jay.com                         访问的域名
        DocumentRoot "/var/www/virtual/jay.com/news/"   访问域名时读取的发布文件
        CustomLog "logs/news.log"  combined                日志采集所有
    </VirtualHost>  logs相当于/etc/httpd/logs,子配置文件的默认目录

    <Directory "/var/www/virtual/jay.com/news/">        
        Require all granted                                 给该目录授权才能访问
    </Directory>
 vim music.conf
    <VirtualHost *:80>
        ServerName music.jay.com
        DocumentRoot "/var/www/virtual/jay.com/music/"
        CustomLog "logs/news.log"  combined
    </VirtualHost>

    <Directory "/var/www/virtual/jay.com/music/">
        Require all granted
    </Directory>

这里写图片描述
8.在浏览器中访问music.jay.com
这里写图片描述

四.HTTPS

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket
Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

1.安装所要用到的软件

yum install mod_ssl
yum install crypto-utils.x86_64

2.进入目录

cd /etc/httpd/conf.d

3.生成加密文件

genkey www.westos.com

这里写图片描述

获取加密主要等待,执行genkey命令后,我们需要操作几步来获取证书:
这里写图片描述

这里写图片描述

这里写图片描述
这个加载完成后我们需要敲击虚拟机键盘,使其进行下去

4.注释/etc/httpd/conf.d/ssl.conf 中的100行和107行中,然后将上图中红色框中的内容按顺序复制到第101行和第108行

5.在浏览器中输入https://172.25.254.110
这里写图片描述
6.点击锁子->第一行右边的箭头->More Information->,查看证书
这里写图片描述

五.指定jay下”登陆“的文件加密

1.编辑配置文件
vim /etc/httpd/conf.d/login.conf

<VirtualHost *:443>
        ServerName login.jay.com
        DocumentRoot "/var/www/virtual/jay.com/login/"
        CustomLog "logs/login.log"  combined
        SSLEngine on
        SSLCertificateFile
        SSLCertificateKeyFile
</VirtualHost>

<Directory "/var/www/virtual/jay.com/login/">
        Require all granted
</Directory>

<VirtualHost *:80>
        ServerName login.jay.com   指定login.westos.com加密
        RewriteEngine on
        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]  临时指定
</VirtualHost>

这里写图片描述
2.在该路径下尽力login的发布目录和发布文件

mkdir /var/www/virtual/jay.com/login -p
vim /var/www/virtual/jay.com/login/index.html
   hello  login

3.在网页输入https://login.jay.com
这里写图片描述

猜你喜欢

转载自blog.csdn.net/jay_youth/article/details/80483202