当前位置:Linux教程 - Linux资讯 - Administering Apache 读书笔记

Administering Apache 读书笔记

  modules -> Functions  安装与配置apache  ###########################################################################################  获取apache    从http://www.apache.org获取apache 2.0.44    安装apache  ------------------------------  使用APACI配置apache的安装:  ./configura  常用选项:  --help #可以查看所有的可用选项  --prefix=<PATH> #指定安装目录  --enable-module = <xxxallmost> #xxx为名字为mod_xxx.c的模块  --disable-module = xxx #xxx为名字为mod_xxx.c的模块  --enable-shared = <xxxmax> #起用DSO(Dynamic Share Object),需要mod_so.c的支持    开始安装  -------------------------------------------------------------------  make  make install  oks    与PHP 4.3.1 的集成  -------------------------------------------------------------------  ---/configure --with-apxs2=/usr/local/apache2/bin/apxs <假如想安装mysql的话 --with-mysql=/usr/local/mysql >  make   make install     配置apache  -------------------------------------------------------------------  apache的主要配置文件:  httpd.conf  srm.conf  Access.conf  mime.types  magic    编辑httpd.conf  基本指令:  ServerType #为standalone或者是inetd  ServerRoot #apache的安装目录,默认为/usr/local/apache  LockFile #服务器串行模式的加锁文件位置,一般不需要改动  PidFile #记录服务器运行时的pid的文件路径  ResourceConfig #资源文件所在,让srm.conf为空,则httpd.conf的相关值生效  AccessConfig #访问权限文件的所在路径  LoadModule #加载模块   AddModule #加载模块的顺序  Port #监听端口,默认为80  ServerAdmin #管理员信箱  ServerName #服务器名称  DocumentRoot #站点文件所在路径    测试配置是否正确  -------------------------------------------------------------------  apachectl configtest     启动apache  -------------------------------------------------------------------  apachectl start 或者 httpd -k start    重起apache  -------------------------------------------------------------------  apachectl graceful 或者 httpd -k graceful    停止apache  -------------------------------------------------------------------  apachectl stop 或者 httpd -k stop    创建web site  ###########################################################################################    apache默认的用户和组为为apache  将站点的目录和文件的权限赋予apache  find /usr/local/apache/ -exec chown apache {}find /usr/local/apache/ chgrp apache {}find /usr/local/apache/ -type -d chmod 755 {}find /usr/local/apache/ -type -f chmod 640 {} 给适当的文件适当的权限是一个管理员的责任所在。    内容处理  ###########################################################################################    目录内容处理  -------------------------------------------------------------------  DirectoryIndex index.htm index.Html #默认文挡  当默认文档不存在,且<Directory>Options中Indexes生效时:  HeaderName #页面题头文件  ReadmeName #页面页尾文件  IndexIgnore #隐藏文件规则  IndexOptions #控制目录列表的外观    目录其他  -------------------------------------------------------------------  Alias /path/ "/<path>/" #别名定义    配置MIME(multipropuse internet mail extend protocol)  -------------------------------------------------------------------  因为不常会修改,只做浏览  AddHandler  SetHandler send-as-is # 按原状发送    配置CGI(comment gateway interface)  -------------------------------------------------------------------  <Directory>Options +ExecCGI #以允许使用CGI    SetHandler cgi-script #设定CGI脚本类型    配置SSI  -------------------------------------------------------------------  因为apache方面的性能专家Dean Gaudet不鼓励使用SSI,所以我只是浏览了一下,没有详细地记录下来    使用日志  ###########################################################################################  -------------------------------------------------------------------  LogLevel <emergalertcritwarnnoticeinfodebug> 简略-->详细 严重-->轻微  ErrorLog <pathpipesyslog>  日志发送到文件:ErrorLog /var/www/log  日志发送到syslog:ErrorLog syslog:local <1-7> 默认为local 7  日志发送给管道:ErrorLog "/usr/local/apache/bin/errordb insert"    日志传输  -------------------------------------------------------------------  文档传送日志告诉你服务器在与谁交互,交互什么,是什么时候交互,同哪里交互TransferLog用法类似ErrorLog    自定义日志格式  -------------------------------------------------------------------  LogFormat  %a client ip  %A server ip  %b 响应http标头以外的字节数  %{eviron}e 以eviron命名的变量的值  %f 被请求文件的路径  %h client hostname  %{reqheader}i 名字为reheader的标头的值  %l client的系统环境,IdentifyCheck为On且内容协商成功  %{modnote}n 名字为 modnote的短信的值  %p server port  %P server PID  %r 请求的第一行,包括URLmodth  %s 原始响应信息  %>s 返回浏览器的响应状态  %t 请求的发生时间[18/Nov?1999:13:02:58-0600]  %{timefmt}t 定义时间的显示格式,因为基本不需要修改,所以省略了...  %T 处理请求的秒数  %u 请求用户的登陆名  %U 被请求的URL,不包括参数  %v server name  %V 根据UseCanonicalName得到服务器名称    通用日志的默认格式等价于  LogFormat "%h %l %u %t \" %r \" %>s %b"    LogFormat "%401u" #记录未认证的用户名    apache 预先定义了四种日志的格式:<combinedcommonrefereragent>    CustomLog  -------------------------------------------------------------------  CoustomLog "/var/logs/httpd/access_logs" env = myCheck #否定为 env =! myCheck    SetEnvIf <Remote_AddrRemote_hostRemote_userRequest_MethodRequest_protocolRequest_URL> "condition" VarName    只要检查属性中符合Condition,就定义名字为VarName的变量    condition为unix中的正则表达式(Regular EXPression),可以查看man regex获取详细资料    LogFormat CustomLog 由mod_log_config.c提供<默认>    SentEnvIf mod_setenvif.c提供<默认>    CookieTracking CookieName CookieExpires  -------------------------------------------------------------------  由mod_usertrack.c提供<非默认>  <IfModule mod_usertrack>  CookieTracking <onoff>  CookieName myCookie  </IfModule>  CookieExpires 600 #也可以用 CookieExpires "3 weeks 2 days 4 hours 22 seconds"  注意CookieExpires不可以在<Directory>中,该选项为全局    AllowOverride  -------------------------------------------------------------------  All 允许.htaccess覆盖httpd.conf中的所有目录设置  Authconfig 允许覆盖认证指令AuthName AuthType AuthUserFile AuthGroupFile 等  FileInfo 允许覆盖目录存取文件设置AddEncodeing AddLanguage AddType CookieTracking CookieName等  Indexes 允许覆盖目录索引设置  Limit 允许覆盖allow deny order require  None 不允许覆盖httpd.conf中的所有目录设置  Options 允许覆盖Options的设置    例子:用户单击流事件,引用记录,代理记录    虚拟主机  ###########################################################################################    基于IP的虚拟主机  -------------------------------------------------------------------  <VirtualHost 202.119.219.28>  ServerName www.njfu.edu.cn  ServerAdmin [email protected]  DocumentRoot /var/www/  ServerAlias njfu.edu.cn  </VirtualHost>    基于域名的
[1] [2] 下一页 

(出处:http://www.sheup.com)


上一页 [1] [2]