


詳細(xì)講解Apache主配置文件
Apache為網(wǎng)絡(luò)管理員提供了豐富多彩的功能,包括目錄索引、目錄別名、內(nèi)容協(xié)商、可配置的HTTP錯(cuò)誤報(bào)告、CGI程序的SetUID執(zhí)行、子進(jìn)程資源管理、服務(wù)器端圖象映射、重寫URL、URL拼寫檢查以及聯(lián)機(jī)手冊(cè)man等。也就是說(shuō),如果您在Linux Server上成功安裝配置了Apache之后,您的計(jì)算機(jī)也將隨著Apache的生效而搖身一變,成為一臺(tái)名副其實(shí)的Web Server,這種變化的確是激動(dòng)人心的。
1.1 簡(jiǎn)介
在Internet時(shí)代,外部主頁(yè)的發(fā)布已經(jīng)成為樹立公司形象的一個(gè)重要手段,而內(nèi)部主頁(yè)也成為公司管理的主要方式。但是,要想實(shí)現(xiàn)這些功能,首先應(yīng)該把我們的Linux Server配置成為一臺(tái)強(qiáng)大的Web Server。本章將詳細(xì)介紹如何配置Apache服務(wù)器。希望各位同仁能夠通過(guò)閱讀本片文章達(dá)到理論實(shí)踐雙豐收的目的,在很短的時(shí)間里迅速成為一名出色的網(wǎng)絡(luò)管理員。
1.2 所需資源
1.2.1 所需包
RedHat6.2 服務(wù)器安裝
1.2.2 所需配置文件
/etc/httpd/conf/httpd.conf 系統(tǒng)自帶,管理員配置
/etc/httpd/conf/access.conf 系統(tǒng)自帶,不需要修改
/etc/httpd/conf/srm.conf 系統(tǒng)自帶,不需要修改
1.3 配置方案
/etc/httpd/conf/httpd.conf
說(shuō)明:apache主配置文件
源文件:
ServerType standalone
#定義WebServer的啟動(dòng)方式為standalone,以增強(qiáng)其對(duì)大量訪問(wèn)的及時(shí)響應(yīng)性
ServerRoot "/etc/httpd"
#指定包含httpd服務(wù)器文件的目錄
LockFile /var/lock/httpd.lock
PidFile /var/run/httpd.pid
ScoreBoardFile /var/run/httpd.scoreboard
Timeout 300
#響應(yīng)超時(shí)量,單位為秒
KeepAlive On
#允許用戶建立永久連接
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
#要保留的空閑服務(wù)器進(jìn)程的最小值
MaxSpareServers 20
#要保留的空閑服務(wù)器進(jìn)程的最大值
StartServers 8
#系統(tǒng)啟動(dòng)時(shí)的守護(hù)進(jìn)程數(shù)
MaxClients 150
#所能提供服務(wù)的最大客戶端編號(hào),大于它的部分被放入請(qǐng)求隊(duì)列
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_modulemodules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule status_module modules/mod_status.so
LoadModule info_modulemodules/mod_info.so
LoadModule includes_modulemodules/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_modulemodules/mod_asis.so
LoadModule imap_modulemodules/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_modulemodules/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_modulemodules/mod_setenvif.so
LoadModule perl_modulemodules/libperl.so
LoadModule php3_modulemodules/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
#定義服務(wù)器所使用的TCP的端口號(hào)
User nobody
Group nobody
#以上兩行是分配給httpd的新用戶的文件權(quán)限,出于安全的考慮把它們的權(quán)限設(shè)置成為最低。
ServerAdmin root@weboa.com.cn
#設(shè)置Web管理員的郵件地址
ServerName WebOA
#定義客戶端從服務(wù)器讀取數(shù)據(jù)時(shí)返回給客戶端的主機(jī)名,其缺省值 是localhost,第一次安裝Linux的時(shí)候經(jīng)常這里出錯(cuò)。
DocumentRoot "/home/weboa/jakarta-tomcat/webapps/weboa"
#設(shè)置所有Apache文檔的根目錄,比如說(shuō),用戶對(duì) http://www.weboa.com.cn/index.html的訪問(wèn)
請(qǐng)求,Apache對(duì)它的響應(yīng)是/home/weboa/jakarta-tomcat/webapps/weboa/
index.html
<CENTER><ccid_nobr>
<table width="400" border="1" cellspacing="0" cellpadding="2"
bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">
<tr>
<td bgcolor="e6e6e6" class="code" style="font-size:9pt">
<pre><ccid_code>
Options FollowSymLinks
AllowOverride None
Options Indexes Includes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all# 允許所有人訪問(wèn)
UserDir public_html
DirectoryIndex index.html index.htm index.shtml index.cgi
#設(shè)置多種成功訪問(wèn)主頁(yè)的方式,為的是提高系統(tǒng)的容錯(cuò)性
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
#定義那些錯(cuò)誤類型被記錄到錯(cuò)誤日志中
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
#所有的LogFormat都用來(lái)定義日志中的條目
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/"
#定義虛擬主機(jī)目錄與系統(tǒng)目錄的對(duì)應(yīng)關(guān)系
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
Alias /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/.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-
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
#定義緩存區(qū)大小,以KB為單位。可以根據(jù)需要和硬盤空間大小進(jìn)行設(shè)置
CacheGcInterval 4
#每隔4小時(shí)檢查緩存區(qū),如果已經(jīng)超過(guò)CacheSize就刪除文件
CacheMaxExpire 24
#HTTP文件最多被保持24小時(shí)
CacheLastModifiedFactor 0.1
#定義HTTP文件失效期,缺省是0.1 ,意思是說(shuō)失效期=離最近一次修改的時(shí)間X,比如離最近一次修改的時(shí)間是5小時(shí),那么失效期就是5X0.1=0.5小時(shí)
CacheDefaultExpire 1
#這一指令提供一個(gè)缺省的時(shí)間(小時(shí))來(lái)銷毀緩存的文件,這些文件的最后更改時(shí)間不詳。CacheMaxExpire 命令不覆蓋這一設(shè)置
## 以下是如何對(duì)一個(gè)目錄進(jìn)行登陸控制的方法 ## 在/etc/httpd/conf/httpd.conf中添加以下內(nèi)容:
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目錄下執(zhí)行命令生成認(rèn)證文件
htpasswd -c thj thj #創(chuàng)建認(rèn)證文件和第一個(gè)名和密碼
htpasswd weboa weboa #添加其他用戶名和密碼
### 以下是做虛擬主機(jī)的實(shí)現(xiàn)方法 ###
需要在/etc/httpd/conf/httpd.conf中添加下列內(nèi)容:
Alias /webadmin/ "/home/weboa/webadmin/html/"
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
NameVirtualHost 192.168.0.1 #虛擬域名的DNS服務(wù)器
ServerAdmin root@weboa.com.cn #網(wǎng)管郵件地址
DocumentRoot /home/weboa/webadmin/html/ #服務(wù)器頁(yè)面目錄
ServerName webadmin.weboa.com.cn #服務(wù)器名稱
需要在/var/named/name2ip.conf中添加的內(nèi)容:
webadmin IN A 192.168.0.1
1.4 測(cè)試及管理辦法
1.4.1 測(cè)試方法
每當(dāng)管理員更改了Apache的設(shè)置之后,都應(yīng)執(zhí)行 /etc/rc.d/init.d/httpd restart使得更改生效。
1.4.2 管理方法
Apache提供大量的日志文件,當(dāng)Apache出錯(cuò)的時(shí)候,管理員可以根據(jù)htppd.conf中的ErrorLog定義的路徑來(lái)診斷。具體方法是:
tail -f /var/log/httpd/apache/error_log
關(guān)鍵字:Apache、服務(wù)器
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解