Apache服务器配置

社区服务
高级搜索
猴岛论坛电脑百科Apache服务器配置
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
3个回复

Apache服务器配置

楼层直达
happylove11

ZxID:1328382

等级: 上校
态度决定一切

举报 只看楼主 使用道具 楼主   发表于: 2008-09-24 0
Apache简介
获取和安装Apache
配置并运行Apache
个人主页、访问控制和用户认证
建立虚拟Web站点
# rpm –qa | grep httpd
# rpm –ivh httpd-2.0.40-8.i386.rpm
# rpm –ivh httpd-manual-2.0.40-8.i386.rpm
# service httpd start {stop restart}
# grep -v “#” /etc/httpd/conf/httpd.conf
    查看apache的主配置文件
/etc/rc.d/init.d/httpd
apache的启动脚本
service httpd start
启动apache服务器的命令
service httpd stop
停止apache服务器的命令
service httpd status
查询apache服务器状态的命令
service httpd restart
重新启动apache服务器的命令
服务器的根目录:/etc/httpd
根文档目录:/var/www/html
访问日志文件:/var/log/httpd/access.log
错误日志文件:/var/log/httpd/error.log
运行apache的用户:apache
运行apache的组:apache
端口:80
模块存放路径:/usr/lib/httpd/modules
Perfork MPM运行方式的参数:
SrartServers 8
MinSpareServers 5
MaxSpareServer 20
MaxClients 150
MaxRequestsPerChild 1000
配置文件所在目录:
/etc/httpd/conf/
主配置文件:
httpd.conf
ServerRoot  "/etc/httpd "
ServerRoot用于指定apache服务器的配置文件及日志文件存放的根目录,默认为目录"/etc/httpd " 。
PidFile  /var/run/httpd.pid
PidFile用于指定记录httpd进程号(PID)的文件位置,默认值为“/var/run/httpd.pid”
Timeout  300
指定站点响应的时间秒数。若超过这段时间仍未收到或送出数据,就断开连接。
KeepAlive On|Off
启用此项,表示允许保持持久连接,让每次连接能提出多个请求。避免每请求一个文件就跟服务器建立一次连接。
MaxKeepAliveRequests 100
每次连接可提出请求的数量,设置为0表示数量不限,默认值为100。.
KeepAliveTimeout 15
连续两个请求之间的时间如果超过15秒还未到达,则视为连接中断。这种做法可以最大限度地利用有限的资源,这也是Apache性能如此优越的原因之一。
MinSpareServers 5
MaxSpareServers 20
Apache在运行时会根据负载的轻重自动调整空闲子进程的数目。
提供浏览服务的httpd进程的数目需要随连接数目的多少而变化,因此需要随时保持几个闲置的httpd进程等候新的连接请求。若闲置的进程数少于5个(默认值),则表示闲置进程太少,需要将其增加到5个;
若多于20个(默认值)则表示闲置进程太多,需将其减少到20个。
MaxClients 150
同时接入的数目太多时会降低系统访问性能,设置此参数可限制同时连接的最大数值,默认值为150。
Listen 10.10.10.10:80
Listen *:80
用于设置apache服务器监听指定IP和(或)端口上的连接请求。
User apache
Group apache
设置httpd用哪个用户帐号和组来启动,默认使用apache用户和组。
ServerAdmin root@localhost
服务器管理员的邮件地址,当服务器运行出错时将向此邮件地址发信。
ServerName localhost
设置主机的名称,此名称会被送到远程连接程序,以取代安装Apache主机的真实名称。默认值是localhost,行首加#号,关闭此功能。
DocumentRoot  “/var/www/html”
指定Apache服务器存放网页的文档根目录。
Directoryindex
指令用于指定目录中默认的索引文件名称,可同时指定多个文件名称,两两之间用空格分割。默认值为index.html。
实例:
DirectoryIndex index.html index.htm index.shtml index.php
UserDir  public_html
UserDir用于设定用户个人主页存放的目录,默认为“public_html”目录,即/home/user/public_html(手工创建此目录)
如果需要为系统中的多个用户提供个人主页空间,可以在/etc/skel/目录下建立一个public_html目录,这样在创建新用户时,其主目录下会自动生成一个名为public_html的目录
Alias用于设置路径别名
Alias  /doc/  /usr/share/doc/
给“/usr/share/doc/” 设置路径别名为“/doc/”
Apache服务器采用动态共享对象(DSO,Dynamic Shared Object)的机制,在启动Apache服务器时可根据实际需要载入适当的模块,使其具有相应的功能。
载入模块的相关指令有:
LoadModule
ClearModuleList
AddModule
LoadModule指令用于动态载入模块,即将模块外挂在Apache服务器上。
语法:LoadModule 模块名称  模块文件路径全名
实例:LoadModule status_module  modules/mod_status.so
ClearModuleList指令用于清空Apache服务器内建的模块列表。通常先使用该指令清空列表,再使用AddModule指令向模块列表加入模块。
语法:ClearModuleList
AddModule指令用于向模块列表加入新的模块名称。
语法:AddModule 模块
实例: AddModule mod_status.c
容器指令(container directive)通常包括在<>括号内,较容易识别。条件指令<IfDefine>和<IfModule>不是容器指令,他们是例外。常用的容器指令有:
<Directory>
<Files>
<Location>
<VirtualHost>
<Directory />        设置“/”根目录的访问权限
    Options FollowSymLinks
    AllowOverride None
</Directory>      目录属性设置结束
使用<Directory>… </Directory>设置指定目录的访问权限,其中可包含:
Options
AllowOverride
Order
Allow
Deny
五个属性
<Files>容器包含只应用于指定文件的指令,文件应该由文件名(必要时使用统配符)指定。
实例:
<Files  ~  “^\.ht”>
    Order allow,deny
    Deny from all
</Files>
拒绝所有客户访问访问.htaccess文件
<Directory“/var/www/html”>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
AllowOverride None
AllowOverride会根据设定的值决定是否读取目录中的.htaccess文件,来改变原来所设置的权限。
All:读取.htaccess文件的内容,修改原来的访问权限。
None:不读取.htaccess文件
为避免用户自行建立.htaccess文件修改访问权限,http.conf文件中默认设置每个目录为: AllowOverride None。
设定允许访问Apache服务器的主机
Allow from all
允许所有主机的访问
Allow from 202.96.0.97 202.96.0.98
允许来自指定IP地址主机的访问
设定拒绝访问Apache服务器的主机
Deny from  all
拒绝来自所有主机的访问
Deny from  202.96.0.99  202.96.0.88
拒绝指定IP地址主机的访问
Order用于指定allow和deny的先后次序。
Order allow,deny:在执行拒绝访问规则之前先执行允许访问规则,默认情况下将会拒绝所有没有明确被允许的客户。
Order deny,allow:在执行允许访问规则之前先执行拒绝访问规则,默认情况下将会允许所有没有明确拒绝的客户。
范例:
Order deny,allow
Deny from all
Allow from 10.10.10.10
Order allow,deny
Allow from all
Deny from 10.10.10.10
AccessFileName filename
AccessFileName指令用于指定每个目录下的访问控制文件名称,默认为“.htaccess”。
AccessFileName .htaccess
在不重新启动服务器的情况下改变服务器配置。
多个用户之间分割配置。
注意: 使用.htaccess文件会降低服务器的运行性能,在可能的情况下尽量避免使用。
使用.htaccess文件的配置步骤
在主配置文件中启用并控制对.htaccess文件的使用。
在需要覆盖主配置文件的目录下生成.htaccess文件。
# cd /var/www/html 
# mkdir private  
# cd private    
# touch test    
# vi /etc/httpd/conf/httpd.conf
<directory “/var/www/html/privare”>
Options FollowSymLinks Indexes
AllowOverride Options
</Directory>
:wq
# service httpd restart
对访问和认证授权进行控制举例
#vi /etc/httpd/conf/httpd.conf        修改主配置文件
<Directory “/var/www/html/private”>  指定目录路径
AllowOverride None                     不使用.htaccess文件
Order deny,allow
Deny form all                          拒绝所有
Allow from 192.168.0                    允许192.168.0段上的用户访问
AuthType Basic                         指定使用基本认证方式
AuthName “test”指定认证领域名称
AuthUserFile /etc/httpd/conf/htpasswd  指定认证口令文件存放位置
require valid-user                     授权给认证口令文件中的所有用户
Satisfy all  (或any)
</Directory>
:wq
http://192.168.0.1/private 测试
--------------------
# vi /etc/httpd/conf/httpd.conf
<IfModule mod_userdir.c>
UserDir disable root                  禁止root使用自己的个人站点
UserDir public_html
</IfModule>
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Optinos MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
:wq
#service httpd restart
# su xmb
$ cd ~
$ mkdir public_html
$ cd ..
$ chmod -R 711 xmb          注意:一定要设置访问权限
$ cd xmb/public_html
$ vi index.html
Welcome to xmb’s Web site
:wq
http://192.168.0.1/~xmb/  显示结果
虚拟主机
建立基于IP地址的虚拟主机
需要在同一台主机上绑定多个IP,在每个IP上建立一个虚拟主机,由于IP地址缺乏,此种方法不常使用。
建立基于域名的虚拟主机
所有的虚拟主机都使用同一个IP地址,通过不同的域名来标识不同的虚拟主机。
xy214717

ZxID:2412457

等级: 新兵
举报 只看该作者 沙发   发表于: 2008-11-25 0
■■■■■■■穿越火线刷封包教程+工具+封包■■■■■■■--...
diao14

ZxID:2498097

等级: 新兵
举报 只看该作者 板凳   发表于: 2008-12-01 0
不知道什么意思
cheng1996

ZxID:3943258

等级: 新兵
举报 只看该作者 地板   发表于: 2009-02-03 0
嘛意思?
« 返回列表
发帖 回复