zoukankan      html  css  js  c++  java
  • Apache配置详解【转】

    http站点要这样配置服务器才安全

    2016-07-29 10:32

    主机(站点)配置

    一个站点的2个核心信息为:

    主机名(服务器名/站点名): ServerName 服务器名

    站点位置(站点目录路径): DocumentRoot “实际物理路径”

    默认情况下,apache安装成功,就默认配置好了一个“站点”,该站点的实际位置在:

    apache安装位置/htdocs/

    默认主机名是安装时设置的,比如www.abc.com,当然,也可以使用localhost

    单站点配置项

    端口监听:

    在apache的主配置文件httpd.conf中:

    PHP站点要这样配置服务器才安全

    也可以写为:

    PHP站点要这样配置服务器才安全

    实际应用中,我们几乎都是80。

    设置主机(站点)的名字:服务器名,站点名

    ServerName 服务器名

    举例:

    PHP站点要这样配置服务器才安全

    也可以设置为:

    PHP站点要这样配置服务器才安全

    设置主机(站点)的物理路径:

    形式:

    DocumentRoot “实际物理路径”

    重要观念:

    站点就是“文件夹”——我让它当站点,它就是站点。

    比如:

    原始的站点在这里:

    PHP站点要这样配置服务器才安全

    修改为:

    PHP站点要这样配置服务器才安全

    在浏览“localhost”,发现被进制访问(Forbidden),然后添加访问权限,如下:

    PHP站点要这样配置服务器才安全

    就可以了。

    目录访问权限

    一个站点,就是一个“目录”。

    每个目录,都应该给其设定“访问权限”,语法如下:

    <Directory “要设置权限的目录路径”>

    #设置当一个请求中没有给定请求的文件名又没有默认网页(首页)的时候,显示文件列表

    Options Indexes

    #设置权限控制的先后顺序,只有2种:Deny,Allow(先拒绝,后允许),Allow,Deny(先允许后拒绝)

    Order Deny,Allow

    #Deny用于设定要拒绝访问的来源地址或服务器名,几乎没有实际意义!

    Deny from 拒绝名单 比如:deny from 192.168.3.8 172.180.4

    Allow from 允许名单 比如:Allow from all

    #设置该文件夹下的“默认网页”(首页),可以设置多个,用于请求中不带文件名的时候自动使用该文件作为“返回”页面。

    DirectoryIndex index.php index.html main.php default.php abc.php 123.html

    </Directory>

    目录访问权限中的“分布式权限”:

    对于某个目录的访问权限,我们在apache中使用Directory来设定,但可能不够方便:

    1,apache配置修改,必须重启apache

    2,某个站点中的“下级目录”访问权限,不方便单独设置,

    这种,可以称为“集中式权限”;

    分布式权限,就是:针对某个网站的任何一个下级目录,都可以单独去设置其访问权限,并且可以不重启apache就生效。

    做法:分2步:

    第1步:

    在该站点对应目录权限的Directorty配置中添加一条:

    PHP站点要这样配置服务器才安全

    第2步:

    在该目录下的任何子目录中,创建一个特殊的文件( .htaccess ),在该文件中写所需要的“权限内容”(几乎跟Directory中的写法一样):

    举例:

    www.php39.com/day1/中,初始可以浏览结果如下:

    PHP站点要这样配置服务器才安全

    然后,在该文件夹中添加一个文件: .htaccess 其内容为:

    PHP站点要这样配置服务器才安全

    (该ip不知是谁,反正不是我!)

    在该day1文件夹中,就多了一个文件:

    PHP站点要这样配置服务器才安全

    然后,重新访问刚才路径(刷新):

    PHP站点要这样配置服务器才安全

    多站点的配置

    分3步:

    第1步:

    在apache的主配置文件httpd.conf中,“打开”多站点虚拟主机配置文件项(关键词:vhosts):

    初始:

    PHP站点要这样配置服务器才安全

    修改为:

    PHP站点要这样配置服务器才安全

    第2步:

    在httpd-vhosts.conf文件中,设定希望提供“多站点”服务的IP地址和端口号,通常默认就是:*:80,其中“*”代表所有IP,默认其实apache安装好之后就设置好了,无需手动设置(关键字NameVirtualHost):

    PHP站点要这样配置服务器才安全

    第3步:

    然后就一个站点一个站点加上!形式如下:

    <virtualhost *:80>

    #这里设置站点1的各项信息

    </virtualhost>

    <virtualhost *:80>

    #这里设置站点2的各项信息

    </virtualhost>

    ...........

    注意:

    1,先把httpd-vhosts.conf文件中的2个初始安装生成的站点,删除!!!

    2,每个站点的设置项,主要就3个:

    ServerName,

    DocumentRoot,

    <Directory>...</Directory>

    3,在多站点配置中,第一个站点被称为“默认站点”,如果某个请求的域名无法跟任何一个站点“匹配”,就会当做请求的是默认站点去处理(应答)

    4,一旦实现了多站点配置,则最初安装成功时的“默认站点”就失效了,我们可以将“localhost”当做一个普通站点重新设置就可以了,也可以将其放在第一个位置又重新作为默认站点。

    举例:

    PHP站点要这样配置服务器才安全

    站点别名的设置:

    PHP站点要这样配置服务器才安全

    目录别名(虚拟目录)的设置:

    某个站点www.abc.com所对应文件夹下有一个目录为d1,则可以这样访问该目录:

    www.abc.com/d1

    这个d1就称为“真实目录”;

    虚拟目录就是:

    该站点下不存在某目录名,但却可以使用同样的语法形式,去访问,比如:

    www.abc.com/d2 //假设该站点目录下根本就没有d2这个目录,此时却可以访问

    实现这种技术,就是所谓“目录别名”(虚拟目录)的设置,如下:

    在一个站点中,做如下2步:

    第1步:

    设置目录别名的名字和其对应的“实际真实目录(文件夹位置)”:

    Alias /目录别名的名字 “实际真实目录(文件夹)的位置”

    第2步:

    设置该真实目录的访问权限(否则是禁止访问的):

    <Directory “真实目录路径”>

    。。。。。。跟其他目录权限设置一样

    </Directory>

    PHP站点要这样配置服务器才安全

     

    转自

    PHP站点要这样配置服务器才安全 - 今日头条(TouTiao.com)
    http://toutiao.com/a6312566458011549954/

  • 相关阅读:
    jdbc详解(三)
    超文本传输协议-HTTP/1.1
    前人栽树,后人擦屁股
    JAVA 读取计算机中相关信息
    POJ 1836-Alignment(DP/LIS变形)
    【Android】自己定义控件实现可滑动的开关(switch)
    加深理解UIView,UIResponder,UIController
    Fuel4d 2.3 公布
    Android中使用IntentService运行后台任务
    POJ2762 Going from u to v or from v to u? 强连通+缩点
  • 原文地址:https://www.cnblogs.com/paul8339/p/5740148.html
Copyright © 2011-2022 走看看