对于RedHat Linux系统,Apache的配置文件放在/etc/httpd/conf/目录下。如果是自行编译安装的Apache,则视编译时指定的目录路径而定,默认是/usr/local/apache/conf。
在conf目录下有3个Apache的配置文件:
l httpd.conf
l access.conf
l srm.conf
Apache启动时先调用httpd.conf,然后调用srm.conf,最后调用access.conf。但现代版本的Apache为避免管理和维护的混乱,已经改为将所有Apache的相关配置命令放在httpd.conf文件中,不再使用srm.conf和access.conf文件。虽然这两个文件仍然存在,但内容中没有任何配置命令,形同虚设。
httpd.conf文件分为以下3部分:
l Global Environment
l 'Main' server configuration
l Virtual Hosts
下面将讲述这3部分的用法和与安全相关的注意点。
4.5.1.1 Global Environment
l ServerType standalone
用来指定Apache的启动方式:standalone和inetd。standalone模式是Apache独立运行,也是默认的启动方式。inetd模式是守护进程监听http的连接请求才启动httpd进程,请求完毕后就结束httpd进程,这样服务器负担很重。
l ServerRoot "/etc/httpd"
Apache的目录,此处是存放配置、出错记录、日志文件的根目录。目录后面不要加“/”字符。
l LockFile /var/lock/httpd.lock
保留默认值,不要更改。
l PidFile /var/run/httpd.pid
指定记录Apache的父进程id的文件名及路径。
l ScoreBoard /var/run/httpd.scoreboard
指定用于储存服务器进程处理信息的文件名和路径。
l #ResourceConfig conf/srm.conf
l #AccessConfig conf/access.conf
在标准的配置中,服务器启动时会处理这两个文件。因为现在的Apache只使用httpd.conf文件,摒弃了srm.conf和access.conf文件,所以这两行用“#”注释掉。
l Timeout 300
设置超时时间。如果远程客户端超过300秒还没连上Apache Server,或者Apache Server超过300秒没有传送字节给客户端,就立即断开连接。
l KeepAlive On
KeepAlive允许客户端的每个连接有多个请求,设为Off时此项无效。
l MaxKeepAliveRequests 100
设置每次连接期间所允许的最大请求数目。设为0时表示允许无限制数目。设置数字越大,则服务器性能越高。
l KeepAliveTimeout 15
设置等待同一个客户端的同一个连接发出下一个连接请求超过一定的时间就断线。
l MinSpareServers 5
l MaxSpareServers 20
设置最小的闲置服务处理程序的数目和最大的闲置服务处理程序的数目。如果实际数目少于MinSpareServers,则将增加处理程序;反之,如果实际数目超过MaxSpareServers,一些多余的处理程序将被杀掉。
l StartServers 8
设置启动并初始化后启动服务进程的数目。
l MaxClient 150
设置服务运行的总数量。一旦达到此数目,新来的客户端就被拒绝,所以该限制数目不能设得太小。
l MaxRequestsPerChild 100
设置每个子程序处理结果前的要求数目,设为0表示不限制。
l #Listen 3000
#Listen 12.34.56.78:80
Listen 80
设置Apache监听的连接端口或IP地址及端口,默认是80。
l #BindAddress *
该选项用来支持虚拟主机,并告知服务器监听哪个IP地址。可以使用“*”,或具体的IP地址和完整的域名。
l #LoadModule foo_module libexec/mod_foo.so
DSO(Dynamic Shared Object)支持。DSO模块的概念和作用与Windows的DLL文件极其相似。
l #ExtendedStatus On
当“server-status”管理程序被执行时,检查Apache的运行状态信息。默认是Off。
4.5.1.2 'Main' Server Configuration
如果在第一部分“Global Environment”中的ServerType命令设为inetd的话,那么这部分就没有任何效果,直接跳到ServerAdmin命令。
l Port 80
设置Standalone服务器监听的连接端口,也可以设为其他端口,必须小于1 023。必须以root身份才能更改端口。
l User apache
l Group apache
指定运行httpd的用户和用户组。必须首先以root身份指派。
l ServerAdmin root@localhost
设置管理员的电子邮件地址,当Apache有问题时会自动发E-mail通知管理员。
l #ServerName localhost
设置主机名称,可以用域名和IP地址。
l document.oot "/var/www/html"
设置Apache放置网页的目录路径。
l
Options FollowSymLinks
AllowOverride None
设置Apache能够访问的每一个目录被访问时所执行的动作。本章后面将详细叙述Apache的目录存取方法。
l
Options Indexes Include FollowSymLinks
AllowOverride None
order allow, deny
Allow from all
此处设置Apache的网页目录的执行动作。本章节后面将详细叙述目录的存取方法。
l
AllowOverride None
Options None
Allow from all
此处可以防止用户创建自己的.htaccess文件。在这个文件中可以改变全局参数,以致会影响到整个系统的安全。可以在httpd.conf文件中加入的命令中都加上上面的代码。
l UserDir public_html
设置用户在自己的目录下建立public_html放置网页,即/home/*/public_html/。这样在浏览器地址栏输入“服务器/用户名/”就能显示网页。设置的目录必须告知用户,否则他们不知道网页放在什么地方。
l DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.cgi
设置Apache的默认首页文档。
l AccessFileName .htacess
指定控制存取的文件名称。Apache默认的是.htaccess。本章将在后面详细叙述该文件的用法。
阅读(2331) | 评论(0) | 转发(0) |