第 三 十 八 天:Apache 选 项 和 模 块 问 题 附:php

小Q:阳光的酒调是很淡,却很醇,浅浅地斟在每一个杯形的小野花里。到底是一位怎样

       的君王要举行野宴呢?何必把每个角落都布置得这样豪华雅致呢?让走过的人都不

       免自觉寒酸 。                                         ――张晓风《魔季》


===============================模块问题==================================

今天在配置一些小实验时,遇到了Apache和php模块的问题,记录一下;

缺少模块,虽然不会报错,但也出不来要的效果


php:  http://beibing.blog.51cto.com/10693373/1699814

其实php所有模块都在解压包下的ext目录下;假如我们安装curl模块: 

cd  /.../ext/curl 

/uer/local/php/bin/phpize       php内部命令,生成configure文件 

./configure --with-php-config=/usr/local/php/bin/php-config    调用php-config命令

make & make install 之后就会显示被安装到的路径,默认就好

进php.ini配置文件搜 /extension,找到安装模块的地方,添加  extension=curl.so

如果目录下没有需要的模块,可以去下载一个,同样的方式,我觉得没问题;


Apche:

配置访问控制.防盗链等小实验的时候,怎么也做不出来了,然后各种搜文档解决方法,后来终于找到

了思路,因为防盗链调用了一个rewrite模块,但是这个模块没有加载到Apache内:

查看:/usr/local/apache/bin/apachectl  -M

此时我发现其实我好多模块都没有被加载,而且加载到的大都是动态模块,我以前配置2.2版本的时候

大多是静态模块;既然没有我们要怎么加载呢,跟php方法一样吗?

其实他的方法很简单,我发现Apache配置文件里有好多被注释的模块,打开重启一下就好了;

其实如果真找不到,可以参考php编译方法;

甚至去官网找到模块下载,用命令生成./configure,然后编译安装,移动到模块存放路径



--------------------------------Apache选项---------------------------------

说明一点:Apache2.2和2.4的语法是通用的,虽然有改变


AllowOverride:是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么

服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写。对于AllowOverride,还可以对它指定如下一些能被重写的指令类型. 


通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。

但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。

从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override ,即 

<Directory /> 
    AllowOverride None 
</Directory>

在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中。 


而对于 URL rewrite 来说,至少需要把目录设置为 

< Directory /myblogroot/> 
     AllowOverride FileInfo 
< /Directory>


1  AuthConfig  允许使用所有的权限指令,他们包括AuthDBMGroupFile  AuthDBMUserFile    

               AuthGroupFile  AuthName AuthTypeAuthUserFile和Require

2  FileInfo    允许使用文件控制类型的指令。它们包括AddEncoding  AddLanguage  AddType  

               DEfaultType ErrorDocument LanguagePriority

3  Indexes     允许使用目录控制类型的指令。它们包括AddDescription   AddIcon  

               AddIconByEncoding AddIconByType DefaultIcon DirectoryIndex FancyIndexing  

               HeaderName  IndexIgnore  IndexOptions ReadmeName

4  Limit       允许使用权限控制指令。它们包括Allow Deny和Order

5  Options     允许使用控制目录特征的指令.他们包括Options 和XBitHack Options



1  All         准许以下除MultiViews以外所有功能

2  MultiViews  允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通 

               过/foo来访问到它,这对于一个多语言内容的站点比较有用

3  Indexes     若该目录下无index文件,则准许显示该目录下的文件以供选择

4  IncludesNOEXEC  准许SSI,但不可使用#exec和#include功能

5  Includes    准许SSI

6  FollowSymLinks 在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也

               会改变用来匹配不同区域的路径名,如果在<Local>;标记内设置,该选项会被忽略

7  SymLinksIfOwnerMatch  在该目录中仅仅跟踪本站点内的链接

8  ExecCGI               在该目录下准许使用CGI





你可能感兴趣的:(linux)