万达换票券 发表于 2018-11-20 14:08:08

第 三 十 八 天: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 ,即

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

  

  而对于 URL rewrite 来说,至少需要把目录设置为
< Directory /myblogroot/>
   AllowOverride FileInfo
< /Directory>  

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

                 AuthGroupFileAuthName AuthTypeAuthUserFile和Require
  2FileInfo    允许使用文件控制类型的指令。它们包括AddEncodingAddLanguageAddType
                 DEfaultType ErrorDocument LanguagePriority
  3Indexes   允许使用目录控制类型的指令。它们包括AddDescription   AddIcon
                 AddIconByEncoding AddIconByType DefaultIcon DirectoryIndex FancyIndexing
                 HeaderNameIndexIgnoreIndexOptions ReadmeName
  4Limit       允许使用权限控制指令。它们包括Allow Deny和Order
  5Options   允许使用控制目录特征的指令.他们包括Options 和XBitHack Options
  

  

  1All         准许以下除MultiViews以外所有功能
  2MultiViews允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通
                 过/foo来访问到它,这对于一个多语言内容的站点比较有用
  3Indexes   若该目录下无index文件,则准许显示该目录下的文件以供选择
  4IncludesNOEXEC准许SSI,但不可使用#exec和#include功能
  5Includes    准许SSI
  6FollowSymLinks 在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也不
                 会改变用来匹配不同区域的路径名,如果在;标记内设置,该选项会被忽略
  7SymLinksIfOwnerMatch在该目录中仅仅跟踪本站点内的链接
  8ExecCGI               在该目录下准许使用CGI
  

  

  




页: [1]
查看完整版本: 第 三 十 八 天:Apache 选 项 和 模 块 问 题 附:php