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]