您的位置:首页 > 运维架构 > Apache

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

2015-10-22 14:36 561 查看
小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