前言

一个网站的两个核心信息为:

  1. 主机名称(server名/网站名):ServerName server名
  2. 网站位置(网站文件夹路径):DocumentRoot “实际物理路径”

默认情况下。apache成功安装后,就默认配置好了一个“网站”。该网站的实际位置是在apache安装文件夹的htdocs文件夹。同一时候也有默认的主机名叫localhost。

单网站配置项

1、port监听

 默认 http 协议通信的port号是 80 ,不特别指定的话,默认就是 80 port。比方訪问 http://www.php.com,完整的形式应该是 http://www.php.com:80,不同的协议使用的通信port都是不一样的,比方 ftp 是 21 port。以下我们改动apache监听的port,打开我们apache的配置文件。即conf文件夹下的httpd.conf文件

加入了Listen 80后面的几行代码后,表示会同一时候监听本机全部ip80和8088及8090port,重新启动server。在浏览器中分别输入http://localhost/http://localhost:8088/以及http://localhost:8090/都能看到浏览器输出it works表示apache多port监听配置成功!

2、设置主机(网站)的名字:server名和网站名

在配置文件httpd.conf中加入例如以下代码

ServerName www.abc.com

做了这个配置后还须要确保你的hosts文件里有这个域名相应的ip,没有能够打开这个文件里以管理员身份用记事本或者其它编辑器打开这个文件,加入这个域名相应的ip地址,这个文件在C:\Windows\System32\drivers\etc文件夹下,默认是隐藏和仅仅读的。图解操作(Win10)例如以下:

取消仅仅读(右键这个文件点属性):

用记事本或者其它编辑器以管理员身份打开这个文件做例如以下加入(红色部分)

ctrl + s保存,重新启动apache(改动这个文件不用重新启动,改动apache配置文件须要重新启动生效)

浏览器器中输入www.abc.com。看到的结果和用默认的locahost訪问是一样的。由于如今还没有改动网站的物理路径,还是默认的htdocs文件夹。那么看到的结果必定是it works(index.html的内容)。

3、设置主机(网站)的物理路径

形式:Document “实际物理路径”

重要的观念:网站事实上就是一个文件夹 – 我让它做网站,它就是网站

设置方法:

在httpd.conf找到DocumentRoot所在的行将默认的网站htdocs文件夹路径替换成我们新网站的路径,如:

httpd.con改动前:

httpd.con改动后:

D:/AMP是我的apache和php安装的文件夹,如今我让它做网站了

重新启动apache,浏览器訪问结果

文件夹訪问权限及分布式权限

1、文件夹訪问权限

一个网站。就是一个“文件夹”,每一个文件夹。 应该给其设定“訪问

权限”。

设置方法(apache2.2):

<Directory "要设置权限的文件夹(网站)路径">
# 设置当一个请求中没有给定请求的文件名称有没有默认网页(首页)的时候显示文件列表
Options Indexes
# 开启分布式权限
AllowOverride None # 设置权限控制的先后顺序,仅仅有两种,要么先拒绝后执行,要不下先同意后拒绝
Order Deny,Allow
# Deny 用于设定要拒绝的来源地址或server名,差点儿没有实际意义
Deny from 拒绝名单。比方Deny from 192,168.2.3 www.abc.com
Allow from 同意名单 比方:Allow from all # 设置该网站(文件夹)的“默认网页”(首页),能够设置多个。用于请求的时候没有带请求文件名称默认訪问的网页
DirectoryIndex index.html index.php
</Directory>

设置方法(apache2.4):

<Directory "要设置权限的文件夹(网站)路径">
# 设置当一个请求中没有给定请求的文件名称有没有默认网页(首页)的时候显示文件列表
Options Indexes
# 开启分布式权限
AllowOverride None # 权限设置。要么拒绝全部。要么同意全部,要么同意指定的主机名或者ip地址
# 拒绝全部的请求
# Require all denied
# 同意全部的请求
Require all granted
# 设置同意的主机域名,多个域名之间用空格隔开
Require host xxx.com
# 设置同意的ip,多个ip之间用空格隔开
Require ip 192.168.5.6 # 设置该网站(文件夹)的“默认网页”(首页)。能够设置多个,用于请求的时候没有带请求文件名称默认訪问的网页
DirectoryIndex index.html index.php
</Directory>

假设我们设置拒绝本机域名或ip或拒绝全部,那么我们通过浏览器訪问这个网站将会显示Forbidden,如图:

2、分布式权限

对于文件夹訪问权限配置,它有两个局限:

  1. apache配置文件改动(改动了权限),必须重新启动server
  2. 某个网站以下的“下级文件夹”不便单独进行设置

分布式权限:所谓分布式权限。指的就是对某个文件夹(网站)的子文件夹(子文件夹)进行单独的权限控制,而且改动权限后无需重新启动apacheserver。

设置方法:

1、 在要单独设置权限的子文件夹的上级网站文件夹权限中开启分布式权限,即在Directory节点中加入AllowOverride all,如图:

2、 在要设置权限的文件夹以下新建一个.htaccess文件,文件全名就是.htaccess,所以记事本无法完毕该文件的创建。须要一款编辑器创建这样的文件,如图。

创建该文件成功后,加入其内容和文件夹权限设置相似,比方加入例如以下代码:

保存,那么通过浏览器訪问该网站,httpd-2.4.18-win64-VC11文件夹将不会显示在网页上。如图:

这是由于我当前的ip不在它同意的ip之中(拒绝全部)。这就达到了单独控制子文件夹訪问权限,这就是分布式权限。

apache主机(网站)配置,port监听,文件夹訪问权限及分布式权限的更多相关文章

  1. 使用Node.JS监听文件夹变化

    使用Node.JS监听文件夹改变有许多应用场合,比如: 构建自动编绎工具 当源文件改变时,自动运行build过程,比如当你写CoffeeScript文件或SASS CSS文件时,保存之后可即时生成对应 ...

  2. nodejs 监听文件夹变化的模块

    使用Node.JS监听文件夹变化 fs.watch 其中Node.JS的文件系统也可侦听某个目录的改变, 如fs.watch   其中fs.watch的最大缺点就是不支持子文件夹的侦听,并且在很多情况 ...

  3. ProFTPD配置匿名登录与文件夹訪问权限控制

    对ProFTPDserver配置匿名登录.         查看配置文件proftpd.conf.默认情况下配置文件里的.匿名登录配置User和Group均为ftp. 查看/etc/passwd确认用 ...

  4. c# 监听文件夹动作

    static FileSystemWatcher watcher = new FileSystemWatcher(); /// <summary>        /// 初始化监听     ...

  5. kafka flumn sparkstreaming java实现监听文件夹内容保存到Phoenix中

    ps:具体Kafka Flumn SparkStreaming的使用  参考前几篇博客 2.4.6.4.1 配置启动Kafka (1) 在slave机器上配置broker 1) 点击CDH上的kafk ...

  6. Java_监听文件夹或者文件是否有变动

    package org.testWatch.Watch; import java.nio.file.FileSystems; import java.nio.file.Path; import jav ...

  7. 使用apache htpasswd生成加密的password文件,并使用.htaccess控制文件夹訪问

    htpasswd 是apache的小工具.在apache安装文件夹bin下可找到. Usage: htpasswd [-cmdpsD] passwordfile username htpasswd - ...

  8. python文件和文件夹訪问File and Directory Access

    http://blog.csdn.net/pipisorry/article/details/47907589 os.path - Common pathname manipulations 都是和路 ...

  9. inotify监听文件夹的变动

    inotify只能监控单层目录变化,不能监控子目录中的变化情况.如果需要监控子目录,需要在调用inotify_add_watch(int fd, char *dir, int mask):int建立监 ...

随机推荐

  1. 2013年度最新最佳CSS网页设计实例

    CSS在网页设计中扮演着举足轻重的角色,尤其是CSS3和HTML5的出现,让我们更加相信CSS能给我们带来无限的遐想和强有力的视觉冲击.今天我要给大家推荐几个最新CSS佳作,虽然本人没有设计头脑,但还 ...

  2. python 读写CSV文件

    #-*- coding: UTF-8 -*- import csv import os def WriteToCsv(): '''写CSV文件''' titls = ['序号', '链接', '备注' ...

  3. Effective C++ 条款27

    尽量少做转型动作 尽量少做转型动作有什么目的?非常明显无非就是提高程序的稳定性.提高程序的运行效率. 那么.有哪些转型方式?每种方式都有什么弱点? 这是我们本节学习的重点. C++有四种转型: con ...

  4. C++中无法解析的外部符号错误

      在编译C++程序的时候,如果引用了对应的头文件,但是调用一个函数的时候仍然出现" 无法解析的外部符号错误"的编译错误,比如: 无法解析的外部符号__imp__PathFileE ...

  5. Visual Studio使用中的问题

    1.后台断点调试,一到断点的时候就VS已停止 原因:安装插件问题,我的由于安装了" .NET Reflector Visual Studio Extension "插件 解决办法: ...

  6. 使用socket BPF/Linux内核工程导论——网络:Filter(LSF、BPF、eBPF)

    使用socket BPF linux 下的 包过滤器 BPF Linux内核工程导论——网络:Filter(LSF.BPF.eBPF) 注意(文中描述的内容): 此外,这段BPF代码还存在的一个问题是 ...

  7. HDU1588-Gauss Fibonacci(矩阵高速幂+等比数列二分求和)

    题目链接 题意:g(x) = k * x + b.f(x) 为Fibonacci数列.求f(g(x)),从x = 1到n的数字之和sum.并对m取模. 思路:  设A = |(1, 1),(1, 0) ...

  8. Fiddler SessionFlags

    Each Session object in Fiddler contains a collection of string flags, in the Session.oFlags[] collec ...

  9. 函数响应式编程(FRP)框架--ReactiveCocoa

    由于工作原因,有段时间没更新博客了,甚是抱歉,只是,从今天開始我又活跃起来了,哈哈,于是决定每周更新一博.大家互相学习.交流. 今天呢.讨论一下关于ReactiveCocoa,这个採用函数响应式编程( ...

  10. eclipse javaWeb项目如何引入jar包

      eclipse javaWeb项目如何引入jar包 CreateTime--2018年4月19日08:54:24 Author:Marydon 1.判断当前jar包是否已经引入到项目当中的3种方式 ...