`
liqiangzju
  • 浏览: 19191 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Apache Web Server配置参数解析

阅读更多


Apache HTTP Server是Web服务器中使用最为广泛的一个开源服务器软件,功能全面,配置简单,文档规范,在各系统平台下都有对应的分支版本。具体文档见这个页面:
http://httpd.apache.org/docs/

贪图简单,直接通过Ubuntu软件中心下载,我所使用的版本情况:
Server version: Apache/2.2.22 (Ubuntu)
Server built: Feb 13 2012 01:37:27

本文结合自己的使用经验,就Apache的一些关键配置解析如下。

1,VirtualHost
    VirtualHost指令用于服务器针对不同ip地址、端口、或者域名访问提供不同的服务,即在同一个服务器上实现多个服务的虚拟服务,提供对不同访问地址的分类映射。
    使用方法:将指令放置在<VirtualHost ip地址:端口></VirutualHost>之间,其中ip地址和端口可以任意组合,更多情况是特定的域名。可以在这里指定服务器Web文档的位置,管理员邮箱,服务器名字,错误日志和访问记录等。

    如:
    <VirtualHost 127.0.0.1:8000>
        DocumentRoot /var/www/old/
        ErrorLog /var/log/apache2/oldlog
        ServerAdmin blabla@example.com
        …
    </VirtualHost>
    经过这样配置,所有对127.0.0.1:8000的访问都将被解析到/var/www/old/目录(前提是要在服务器配置中启用8000端口监听绑定)。
2,.htaccess文件
    如果对服务器配置做了更改,那么每一次更改完毕都需要重新启动Apache服务器对配置进行读取(可以在重新启动前使用sudo apachectl -l 对配置文件的内容进行检查是否有语法错误)。另外,可以选择在目录下建立一个.htaccess文件,单独对这个文件夹进行访问控制,.htaccess文件提供配置的分布式管理,不需要重新启动Apache服务器,Apache服务器对每一次访问请求都读取一次对应目录下的.htaccess文件,对.htaccess文件所做的更改即刻生效。也可以自定义文件名称,Apache有一个指令AccessFileName用于指定此文件的名字,默认为.htaccess,可以自行更改为其他名字。如果更改了文件名,必须禁止访问者访问此文件。需要在服务器配置中用AllowOverride指令指出哪些指令可以在.htaccess文件中被重新指定。通常使用AllowOverride All 允许所有重写所有指令。注意:AllowOverride指令只可以在<Directory>块中使用。

3,AllowOverride指令详解
    AllowOverride除了单单使用All或者None作为参数外,AllowOverride可以使用具体的参数,任意组合。
    可选的参数包括:
    AuthConfig:允许覆盖身份认证指令
    FileInfo:允许覆盖文档类型相关的指令
    Indexes:允许覆盖目录索引的指令
    Limit:允许指定控制目录访问的指令
    Options:杂项控制
    使用实例:
        <Directory "/var/www/old/">
          AllowOveride FileInfo Indexes
        </Directory>  
  那么这样存在于FileInfo和Indexes中的指令就可以在.htaccess文件中指定了。
  如果使用了没有在AllowOverride中指定的命令将会导致服务器内部错误。
4,启用CGI模块关键指令。
    第一步,检查apache是否已经正确载入mod_cgi模块,如果没有,在主配置文件中添加
LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so
    第二步,启用cgi模块。为了安全起见,一般是把所有的脚本统一放在一个指定的目录下,在这个目录下的所有文件都将被视作CGI脚本存在,如/usr/local/apache2/cgi-bin,然后在主配置文件中添加:
ScriptAlias /cgi-bin /usr/local/apache2/cgi-bin
    别忘了把脚本的权限改成755,这样就可以在cgi-bin下添加脚本并执行了。
    如果想在任意目录下添加CGI脚本执行,则须单独对其指定可执行脚本的权限,须在Options指令中制定+ExecCGI选项。这里涉及到两个重要指令AddHandler和SetHandler。AddHandler将目录下具有指定后缀名的文件设定为CGI文件,而SetHandler不考虑文件后缀,把所有文件视作CGI文件。
    实例:
#对/var/www/mycgi目录添加可执行脚本权限
<Directory /var/www/mycgi>
Optiones +ExecCGI
#将后缀名为cgi的文件视作CGI文件
AddHandler cgi-script .cgi
#亦可这样写,将整个目录下的文件均视作cgi文件
#SetHandler cgi-script

</Directory>
    最后,一个超级指令,将空间中任意以.cgi作为文件后缀名的文件视作CGI文件(不安全,不推荐).
<FileMatch \.cgi$>
SetHandler cgi-script
</FileMatch>

 

 

分享到:
评论

相关推荐

    axis1.4 部署解析webservie

    1.TOMCAT+AXIS的安装配置 首先机子上应该安装JDK1.5版本以上(带有XML解析包)。我这里是1.5.0.6 从APACHE的官方网站(www.apache.org)下载TOMCAT安装软件。下载版本要在4.0以上。这里用的是5.0版本。安装完后,...

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版) 1/2

    《JavaServer Faces 2.0完全参考手册》对所有jsf功能都进行了解释,包括请求处理生命周期、托管bean、页面导航、组件开发、ajax、验证器、国际化和安全。贯穿全书的专家组意见提供了关于jsf设计的内部信息。 推荐...

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版).part1

    《JavaServer Faces 2.0完全参考手册》对所有jsf功能都进行了解释,包括请求处理生命周期、托管bean、页面导航、组件开发、ajax、验证器、国际化和安全。贯穿全书的专家组意见提供了关于jsf设计的内部信息。 推荐...

    [完整][中文][WEB安全测试].(美)霍普.扫描版.pdf

    2.14 安装Apache HTTP Server 41 第3章 基本观察 43 3.1 查看网页的HTML源代码 44 3.2 查看源代码,高级功能 45 3.3 使用Firebug观察实时的请求头 48 3.4 使用WebScarab观察实时的POST数据 52 3.5 查看隐藏表单域 ...

    PHP_RAML_Server:解析RAML并制作一个基于PHP的Web服务器

    在执行这些自定义方法之前,将验证必需的查询参数,标头和主体元素,并在错误时返回400 Bad Request 。 它还有一种方法可以请求在RAML中定义的响应示例和模式以进行反射,下面将在用法部分进行讨论。 ##要求运行...

    企业级Linux服务攻略

    4.3.3 配置反向解析区域 4.3.4 区域文件与资源记录 4.3.5 SOA资源记录 4.3.6 NS记录 4.3.7 A资源记录 4.3.8 DNS应用案例Ⅰ 4.3.9 其他常用资源记录 4.3.10 根区域设置及对应区域文件 4.3.11 DNS的启动与停止 4.3.12 ...

    JS API 接口接收与返回

    服务器端需要有 IIS、Apache、lighttpd 等可以运行 PHP 程序的 Web 服务器。 如果服务器端需要加密传输的能力,必须要保证 session 配置正确。 &lt;?php include('php/phprpc_server.php'); //加载文件 function...

    asp.net知识库

    将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005 ASP.NET 2.0 中的数据源控件 使用 ASP.NET 2.0 ObjectDataSource 控件 ASP.NET 2.0 的内部变化 使用SQL Cache Dependency 代替 ...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    2.3.3 Varnish对应多台Web服务器的配置实例 2.4 运行Varnish 2.4.1 varnishd指令 2.4.2 配置Varnish运行脚本 2.4.3 管理Varnish运行日志 2.5 管理Varnish 2.5.1 查看Varnish进程 2.5.2 查看Varnish...

    使用Awstats分析Nginx的访问日志.doc

    Awstats 的运行是需要 PERL 环境的支持,从 awstats 的文档来看,它对 Apache HTTP Server 的支持是非常完美的,而当我们把 Web 服务器换成 Nginx 后,要运行 awstats 变得很麻烦。首先 Nginx 本身对 Perl 的支持是...

    RED HAT LINUX 6大全

    2.3.2 内核参数选项 8 2.3.3 安装程序 9 2.3.4 选择一种安装方法 9 2.3.5 光盘安装 10 2.4 硬件配置 14 2.4.1 选择鼠标 14 2.4.2 配置X Window系统 14 2.4.3 配置网络 14 2.4.4 设置时区 15 2.4.5 选择服务自动启动 ...

    php网络开发完全手册

    1.4.5 Apache的配置文件httpd.conf与 1.4.5 .htaccess的简介 13 1.4.6 PHP的配置文件php.ini的简介 13 1.4.7 PHP常用参数的配置 14 1.5 几种综合网络服务器系统的安装 14 1.5.1 XAMPP 14 1.5.2 WAMP 16 1.5.3 ...

    JMeter操作手册大全.docx

    从35个方面对Jmeter从原理到实际演示,一册在手,天下我有 ...使用配置原件中用户定义的变量可以进行参数化 11.2.用户参数 使用前置管理器设置用户参数 11.3.使用csv配置原件 配置元件(Config E

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.3.2. 构造器参数的解析 3.3.2.1. 构造器参数类型匹配 3.3.2.2. 构造器参数的索引 3.3.3. bean属性及构造器参数详解 3.3.3.1. 直接量(基本类型、Strings类型等。) 3.3.3.2. 引用其它的bean(协作者) 3.3.3.3. 内部...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven权威指南是一本关于Apache Maven的书。 Copyright 1. Creative Commons BY-ND-NC Foreword: Beta 0.16 Preface 1. How to Use this Book 2. Your Feedback 3. Font Conventions 4. Maven Writing ...

    Turbolinux 学习入门宝典

    4.2 TURBOLINUX 7 DATASERVER 的安全策略 58 4.2.1 “全部拒绝”方法 59 4.2.2 帐户 59 4.2.3 日志文件 59 4.2.4 超级用户户(root)权限和许可 59 4.2.5 升级 60 4.3 有关安全方面的机构组织的详情 60 4.4 LINUX 上的...

    JAVA上百实例源码以及开源项目源代码

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    JAVA上百实例源码以及开源项目

    第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...

Global site tag (gtag.js) - Google Analytics