• 搭建apache服务器


    Apache 

    主要优点

    开放源代码 跨平台 支持多种网页语言

    模块化设计,运行稳定,安全性好

    通过yum库安装apache服务器 yum  -y install httpd 

    可以看到 htpd 服务开启的是TCP的80端口

    打开httpd的服务配置

    httpd配置构成

    目录设置

    <Directory目录>   </Directory>

    访问路径设置

    <Location URL>  ..... </Location>

    虚拟主机设置

    <VirturlHost 监听地址>......</VirtualHost>

    常用的全局设置参数

    ServerName :本站点的FQDN名称   完全合格域名/全称域名 是指主机名加上全路径

    DocumentRoot 网页文档的根目录

    DirectoryIndex 默认索引页/首页文件

    Include:可包含其他子配置文件

    ===========================================================

    常用的全局设置参数

    Listen 监听服务的IP地址,端口号

    User服务进程的属主 默认为apache

    ErrotLog:错误日志文件的位置

    Customlog:访问日志文件的位置

    目录别名

    可以通过别名调用网站根目录以外的其他文件夹

    通过Alias关键字使用别名

    比如说一下设置 (以上已经把根目录更改为/var/test)

    Alias   /ff “/ff”

    其中非双引号中的/代表以http目录为相对的跟路径

    我们在 /var/test/fuck 写下index.php   内容为this is inside of apache

    我们在/fuck目录下写下同样index.php 内容为this is outside of apache

    我们访问 192.168.0.11/ff查看结果

           

    也就是说定义别名后我们访问Alias 的对应的别名时 访问的不是在apache根目录的对应文件而是相对于真实根目录的文件

    那么我们如何根据配置文件来限制客户机对网站目录的访问呢?

    对于以上试验我们发现

    更改Docunment Root后似乎无需更改<Directory>就能成功访问页面

    我们想要通过http文件下载东西,比如红帽五的内容,除了用别名之外

    我们还可以进行如下操作

    在  /var/test下新建目录redhat 更改其属主属组,并将内容放进去注意同时更改属主属组

    创建一个新目录

    于是我们访问web站点http://192.168.0.11/redhat

    无法访问

    我们第一考虑到的是其没有首页文件(index.html或者php)

    为其增加首页文件

    可以得到最终的结果 可是这并不是我们想要的目的

    添加自动索引

    如果想要首页显示redhat的内容,我们需要在其配置文件中添加自动索引的关键词

     删除首页文件后 ,再次访问

    OK 其实某种取消自动索引某种程度上来说增加了网站的安全性

    同样,还有一种不安全的做法 我们在apache的DocumentRoot下布置软连接

    同时在配置文件中需要指明打开软连接

    再次访问web站点

    通过这个符号连接直接导向了根

    相当危险

    Order配置项 定义控制顺序

    -allow,deny 先允许后拒绝,默认拒绝所有

    -deny,allow 先拒绝后允许,默认允许所有

    Allow/Deny from 配置项,设置权限

    Deny from 地址1 地址2 。。 。。

    Allow from 地址1 地址2 。。 。。

    我们测试

    按照上述默认应会被禁止

    rt

    无权访问

    另外我们还可以对http进行用户限制,使只有输入正确的用户名与密码的用户才能访问

    我们创建secret目录,使只有通过验证用户名,密码才能访问

    我们把secret目录作为只有通过验证才能被访问的目录

    AuthName : 认证领域名称,用于弹窗提示

    AuthType:  认证类型,一般使用basic

    AuthUserFile: 用户数据文件的的路径

    Require :指定授权用户或组

     

    在这解释require (授权) 如果是 validuser 则所有由httppasswd创建的用户都可以 

                  而 user aa  就只有aa可以

    感想

    在目录中即使定义了order alow deny

            Allow  from All 也必须需要认证

    附HTTP状态代码

  • 相关阅读:
    Linux中yum命令镜像源和出错解决方案
    Redis编译安装
    Linux下安装Redis
    zabbix3.4.2的安装及配置
    【前端】活动表单
    【笔记】archlinux缺少部分常用工具
    【笔记】BootstrapTable带参数刷新数据的坑
    【笔记】Win7连接公司内网无法打开网页
    【笔记】Archlinux下配置rsyslog写日志到mysql
    【笔记】Gave up waiting for suspend/resume device
  • 原文地址:https://www.cnblogs.com/clearlove/p/4164002.html
Copyright © 2020-2023  润新知