欢迎光临
我们一直在努力

apache 主配置文件(配置解说)-网管专栏,WEB服务

建站超值云服务器,限时71元/月

apache为网络管理员提供了丰富多彩的功能,包括目录索引、目录别名、内容协商、可配置的http错误报告、cgi程序的setuid执行、子进程资源管理、服务器端图象映射、重写url、url拼写检查以及联机手册man等。也就是说,如果您在linux server上成功安装配置了apache之后,您的计算机也将随着apache的生效而摇身一变,成为一台名副其实的web server,这种变化的确是激动人心的。

在internet时代,外部主页的发布已经成为树立公司形象的一个重要手段,而内部主页也成为公司管理的主要方式。但是,要想实现这些功能,首先应该把我们的linux server配置成为一台强大的web server。本章将详细介绍如何配置apache服务器。希望各位同仁能够通过阅读本片文章达到理论实践双丰收的目的,在很短的时间里迅速成为一名出色的网络管理员。

1.2 所需资源
1.2.1 所需包
redhat6.2 服务器安装

1.2.2 所需配置文件
/etc/httpd/conf/httpd.conf 系统自带,管理员配置
/etc/httpd/conf/access.conf 系统自带,不需要修改
/etc/httpd/conf/srm.conf 系统自带,不需要修改

1.3 配置方案
/etc/httpd/conf/httpd.conf
说明:apache主配置文件
源文件:

servertype standalone
   #定义webserver的启动方式为standalone,以增强其对大量访问的及时响应性
serverroot “/etc/httpd”
   #指定包含httpd服务器文件的目录
lockfile /var/lock/httpd.lock
pidfile /var/run/httpd.pid
scoreboardfile /var/run/httpd.scoreboard
timeout 300
   #响应超时量,单位为秒
keepalive on
   #允许用户建立永久连接
maxkeepaliverequests 100
keepalivetimeout 15
minspareservers 5
   #要保留的空闲服务器进程的最小值
maxspareservers 20
   #要保留的空闲服务器进程的最大值
startservers 8
   #系统启动时的守护进程数
maxclients 150
   #所能提供服务的最大客户端编号,大于它的部分被放入请求队列
maxrequestsperchild 100
loadmodule vhost_alias_module modules/mod_vhost_alias.so
loadmodule env_module     modules/mod_env.so
loadmodule config_log_module modules/mod_log_config.so
loadmodule agent_log_module  modules/mod_log_agent.so
loadmodule referer_log_module modules/mod_log_referer.so
loadmodule mime_module    modules/mod_mime.so
loadmodule negotiation_module modules/mod_negotiation.so
loadmodule status_module   modules/mod_status.so
loadmodule info_module    modules/mod_info.so
loadmodule includes_module  modules/mod_include.so
loadmodule autoindex_module  modules/mod_autoindex.so
loadmodule dir_module     modules/mod_dir.so
loadmodule cgi_module     modules/mod_cgi.so
loadmodule asis_module    modules/mod_asis.so
loadmodule imap_module    modules/mod_imap.so
loadmodule action_module   modules/mod_actions.so
loadmodule userdir_module   modules/mod_userdir.so
loadmodule alias_module    modules/mod_alias.so
loadmodule rewrite_module   modules/mod_rewrite.so
loadmodule access_module   modules/mod_access.so
loadmodule auth_module    modules/mod_auth.so
loadmodule anon_auth_module  modules/mod_auth_anon.so
loadmodule db_auth_module   modules/mod_auth_db.so
loadmodule digest_module   modules/mod_digest.so
loadmodule proxy_module    modules/libproxy.so
loadmodule expires_module   modules/mod_expires.so
loadmodule headers_module   modules/mod_headers.so
loadmodule usertrack_module  modules/mod_usertrack.so
loadmodule setenvif_module  modules/mod_setenvif.so
loadmodule perl_module    modules/libperl.so
loadmodule php3_module    modules/libphp3.so
clearmodulelist
addmodule mod_vhost_alias.c
addmodule mod_env.c
addmodule mod_log_config.c
addmodule mod_log_agent.c
addmodule mod_log_referer.c
addmodule mod_mime.c
addmodule mod_negotiation.c
addmodule mod_status.c
addmodule mod_info.c
addmodule mod_include.c
addmodule mod_autoindex.c
addmodule mod_dir.c
addmodule mod_cgi.c
addmodule mod_asis.c
addmodule mod_imap.c
addmodule mod_actions.c
#addmodule mod_speling.c
addmodule mod_userdir.c
addmodule mod_alias.c
addmodule mod_rewrite.c
addmodule mod_access.c
addmodule mod_auth.c
addmodule mod_auth_anon.c
addmodule mod_auth_db.c
addmodule mod_digest.c
addmodule mod_proxy.c
addmodule mod_expires.c
addmodule mod_headers.c
addmodule mod_usertrack.c
addmodule mod_so.c
addmodule mod_setenvif.c
addmodule mod_perl.c
addmodule mod_php3.c
port 80
   #定义服务器所使用的tcp的端口号
user nobody
group nobody
   #以上两行是分配给httpd的新用户的文件权限,出于安全的考虑把
   它们的权限设置成为最低。
serveradmin root@weboa.com.cn
   #设置web管理员的邮件地址
servername weboa
   #定义客户端从服务器读取数据时返回给客户端的主机名,其缺省值
   是localhost,第一次安装linux的时候经常这里出错。
documentroot “/home/weboa/jakarta-tomcat/webapps/weboa”
   #设置所有apache文档的根目录,比如说,用户对
   http://www.weboa.com.cn/index.html的访问请求,apache对它
   的响应是/home/weboa/jakarta-tomcat/webapps/weboa/index.html

   options followsymlinks
   allowoverride none

   options indexes includes followsymlinks
   allowoverride none
   order allow,deny
   allow from all      # 允许所有人访问

userdir public_html
directoryindex index.html index.htm index.shtml index.cgi
   #设置多种成功访问主页的方式,为的是提高系统的容错性
accessfilename .htaccess

   order allow,deny
   deny from all

usecanonicalname on
typesconfig /etc/mime.types
defaulttype text/plain

   mimemagicfile share/magic

hostnamelookups off
errorlog /usr/httpd/log/error_log
loglevel warn
   #定义那些错误类型被记录到错误日志中
logformat “%h %l %u %t \”%r\” %>s %b \”%{referer}i\” \”%{user-agent}i\”” combined
   #所有的logformat都用来定义日志中的条目
logformat “%h %l %u %t \”%r\” %>s %b” common
logformat “%{referer}i -> %u” referer
logformat “%{user-agent}i” agent
customlog /usr/httpd/log/access_log common
serversignature on
alias /icons/ “/home/httpd/icons/”
#定义虚拟主机目录与系统目录的对应关系

   options indexes multiviews
   allowoverride none
   order allow,deny
   allow from all

scriptalias /cgi-bin/ “/home/httpd/cgi-bin/”
#定义cgi目录

   allowoverride none
   options execcgi
   order allow,deny
   allow from all

indexoptions fancyindexing
addiconbyencoding (cmp,/icons/compressed.gif) x-compress x-gzip
addiconbytype (txt,/icons/text.gif) text/*
addiconbytype (img,/icons/image2.gif) image/*
addiconbytype (snd,/icons/sound2.gif) audio/*
addiconbytype (vid,/icons/movie.gif) video/*
addicon /icons/binary.gif .bin .exe
addicon /icons/binhex.gif .hqx
addicon /icons/tar.gif .tar
addicon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
addicon /icons/compressed.gif .z .z .tgz .gz .zip
addicon /icons/a.gif .ps .ai .eps
addicon /icons/layout.gif .html .shtml .htm .pdf
addicon /icons/text.gif .txt
addicon /icons/c.gif .c
addicon /icons/p.gif .pl .py
addicon /icons/f.gif .for
addicon /icons/dvi.gif .dvi
addicon /icons/uuencoded.gif .uu
addicon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
addicon /icons/tex.gif .tex
addicon /icons/bomb.gif core
addicon /icons/back.gif ..
addicon /icons/hand.right.gif readme
addicon /icons/folder.gif ^^directory^^
addicon /icons/blank.gif ^^blankicon^^
defaulticon /icons/unknown.gif
readmename readme
headername header
addencoding x-compress z
addencoding x-gzip gz tgz
addlanguage en .en
addlanguage fr .fr
addlanguage de .de
addlanguage da .da
addlanguage el .el
addlanguage it .it
languagepriority en fr de

   addtype application/x-httpd-php3 .php3
   addtype application/x-httpd-php3-source .phps

   addtype application/x-httpd-php .phtml

addtype application/x-tar .tgz
addtype text/html .shtml
addhandler server-parsed .shtml
addhandler imap-file map
browsermatch “realplayer 4\.0” force-response-1.0
browsermatch “java/1\.0” force-response-1.0
browsermatch “jdk/1\.0” force-response-1.0

   alias /perl/ /home/httpd/perl/

   sethandler perl-script
   perlhandler apache::registry
   options +execcgi

alias /doc/ /usr/doc/

   order deny,allow
   deny from all
   allow from localhost
   options indexes followsymlinks

include /etc/httpd/conf/tomcat-apache.conf
alias /netcard “/home/weboa/jakarta-tomcat/webapps/weboa/net_card”

   options indexes followsymlinks
   allow from all

cachesize 5
#定义缓存区大小,以kb为单位。可以根据需要和硬盘空间大小进行设置
cachegcinterval 4
#每隔4小时检查缓存区,如果已经超过cachesize就删除文件
cachemaxexpire 24
#http文件最多被保持24小时
cachelastmodifiedfactor 0.1
#定义http文件失效期,缺省是0.1 ,意思是说失效期=离最近一次修改的时间x,比如离最近一次修改的时间是5小时,那么失效期就是5×0.1=0.5小时
cachedefaultexpire 1
#这一指令提供一个缺省的时间(小时)来销毁缓存的文件,这些文件的最后更改时间不详。cachemaxexpire 命令不覆盖这一设置

## 以下是如何对一个目录进行登陆控制的方法 ## 在/etc/httpd/conf/httpd.conf中添加以下内容:
alias /weboa/ “/home/weboa/”

   options indexes multiviews
   allowoverride authconfig
   order allow,deny
   allow from all

在/home/weboa目录下建立.htaccess文件
   authname “shared files”
   authtype basic
   authuserfile /etc/httpd/conf/passwd
require valid-user

在/etc/httpd/conf目录下执行命令生成认证文件
htpasswd -c thj thj #创建认证文件和第一个名和密码
htpasswd weboa weboa #添加其他用户名和密码

### 以下是做虚拟主机的实现方法 ###

需要在/etc/httpd/conf/httpd.conf中添加下列内容:
alias /webadmin/ “/home/weboa/webadmin/html/”

   options indexes multiviews
   allowoverride none
   order allow,deny
   allow from all

namevirtualhost 192.168.0.1 #虚拟域名的dns服务器
serveradmin root@weboa.com.cn #网管邮件地址
documentroot /home/weboa/webadmin/html/ #服务器页面目录
servername webadmin.weboa.com.cn #服务器名称
需要在/var/named/name2ip.conf中添加的内容:
webadmin   in   a   192.168.0.1

1.4 测试及管理办法
1.4.1 测试方法
每当管理员更改了apache的设置之后,都应执行 /etc/rc.d/init.d/httpd restart使得更改生效。

1.4.2 管理方法
apache提供大量的日志文件,当apache出错的时候,管理员可以根据htppd.conf中的errorlog定义的路径来诊断。具体方法是:
tail -f /var/log/httpd/apache/error_log

(作者:汤海京)

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » apache 主配置文件(配置解说)-网管专栏,WEB服务
分享到: 更多 (0)