1. 程式人生 > >Apache 2.2主配置檔案/etc/httpd/conf/httpd.conf配置解說

Apache 2.2主配置檔案/etc/httpd/conf/httpd.conf配置解說

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_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 
#定義伺服器所使用的TCP的埠號 
User nobody 
Group nobody 
#以上兩行是分配給httpd的新使用者的檔案許可權,出於安全的考慮把 
它們的許可權設定成為最低。 
ServerAdmin 

[email protected] 
#設定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小時,那麼失效期就是5X0.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 [email protected] #網管郵件地址 
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

相關推薦

Mysql資料庫伺服器配置檔案/etc/my.cnf的詳細配置

以下是 Mysql數 據庫伺服器配置檔案 /etc/my.cnf的詳細配置。應用場合是 InnoDB引擎, 4核 CPU, 32位 SUSE。 [client]port        = 3306 socket      = /tmp/mysql.sock # The My

Apache 2.2配置檔案/etc/httpd/conf/httpd.conf配置解說

Apache為網路管理員提供了豐富多彩的功能,包括目錄索引、目錄別名、內容協商、可配置的HTTP錯誤報告、CGI程式的SetUID執行、子 程序資源管理、伺服器端圖象對映、重寫URL、URL拼寫檢查以及聯機手冊man等。也就是說,如果您在Linux Server上成功安裝

httpd配置檔案 /etc/httpd/conf.d/*.conf

httpd服務程式的配置資訊被寫到  /etc/httpd/conf.d/xxx.conf 這樣的檔案中,其實也就等於寫在主配置檔案 /etc/httpd/conf/httpd.conf裡。   因為這寫檔案在httpd主配置檔案生效的時候,就已經被載入進來了。

Ubuntu配置檔案/etc/profile說明

對於/etc/profile這個檔案,是系統啟動是要自動執行的檔案,任何一個使用者登入系統都會執行這個檔案。 這個檔案裡面的配置,是全域性配置。所以,如果你需要讓你的變數讓所有的使用者都能使用的話,那麼可以考慮在此配置檔案裡面新增。 比如JAVA_HOME變數的配置。 但是

sudo配置檔案/etc/sudoers詳及實戰用法

一、sudo執行命令的流程 將當前使用者切換到超級使用者下,或切換到指定的使用者下, 然後以超級使用者或其指定切換到的使用者身份執行命令,執行完成後,直接退回到當前使用者。 具體工作過程如下: 當用戶執行sudo時,系統會主動尋找/etc/sudoers檔案,判斷該使用者是否

bash配置檔案/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc詳及修改PATH環境變數

 1.bash的配置檔案 1)、全域性配置與個人配置 全域性配置 /etc/profile, /rtc/profile.d/*.sh,/etc/bashrc 個人配置 ~/.bash_pr

Linux 網路配置 修改DNS配置檔案/etc/resolv.conf後,重啟網路,DNS配置丟失

在執行命令: ping www.baidu.com ping不通,報錯如下: 圖1 很明顯,這很有可能是DNS配置檔案/etc/resolv.conf的問題。 去檢視DNS配置檔案,果然沒有DNS配置資訊。 圖2 新增DNS配置資訊: nameserver 202.96

prometheus容器內預設環境下的配置檔案/etc/prometheus/prometheus.yml

# my global configglobal:  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.  evaluation_

Linux hostname主機名配置檔案/etc/hosts詳

點評:這篇文章為大家介紹linux hostname主機名配置檔案/etc/hosts,包括主機名的用途、配置檔案的操作方法等,有需要的朋友,可以參考下 本文轉自:http://www.jb51.net/LINUXjishu/77329.html 好文章,謝謝分享! 1、

nfs的配置檔案/etc/exports

/etc/exports  檔案格式     <輸出目錄> [客戶端1 選項(訪問許可權,使用者對映,其他)] [客戶端2 選項(訪問許可權,使用者對映,其他)]     a. 輸出目錄:輸出目錄是指NFS系統中需要共享給客戶機使用的目錄;     b. 客戶端:客戶端是指網路中可以訪問這個NFS

Redis 修改配置檔案/etc/redis.conf

第一步:開啟redis.conf 配置檔案 修改一下配置  註釋掉: #bind 127.0.0.1 修改為 no protected-mode no第二步: 啟動redis 並且指定配置檔案./red

Ubuntu 網絡卡配置檔案/etc/network/interfaces重啟失效

Iptables的儲存和呼叫 先加埠 /sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 2888 -j ACCEPT /sbin/i

CentOS重新啟動網路配置,檔案/etc/resolv.conf會被錯誤覆蓋或清空解決

錯誤: centos從5.6就有這個問題,CentOS重新啟動網路配置,檔案/etc/resolv.conf會被錯誤覆蓋或清空。原因: 在檔案[/etc/sysconfig/network-scrip

修改DNS配置檔案/etc/resolv.conf後,重啟網路,DNS配置丟失

在執行命令: ping www.baidu.com ping不通,報錯如下: 圖1 很明顯,這很有可能是DNS配置檔案/etc/resolv.conf的問題。 去檢視DNS配置檔案,果然沒有DNS配置資訊。 圖2 新增DNS配置資訊: nameserver 202.96

Python模組之: ConfigParser 配置檔案讀取 Python模組之: ConfigParser 配置檔案讀取

Python模組之: ConfigParser 配置檔案讀取   ConfigParser用於讀寫類似INI檔案的配置檔案,配置檔案的內容可組織為組,還支援多個選項值(option-value)型別。 ConfigParser使用用的配置檔案格式由一個或多個命名的節(s

springboot三種配置檔案上傳下載大小的配置

配置檔案為application.yml格式: spring: http: multipart: enabled: true max-file-size: 30MB max-request-size: 30MB第二種: package com.haiyiso

Redis配置檔案(3)常見的配置修改

 常見的配置:   redis.conf 配置項說明如下: 1. Redis預設不是以守護程序的方式執行,可以通過該配置項修改,使用yes啟用守護程序   daemonize no   2. 當Redis以守護程序方式執

mybatis原始碼-解析配置檔案(四-1)之配置檔案Mapper解析(cache)

1. 簡介 本文章主要講解的是, xxxMapper.xml 檔案中, cache 節點的原始碼。 2. 解析 XMLMapperBuilder.cacheElement() 方法主要負責解析 <cache> private void cacheElement(XNode context)

3springboot:springboot配置檔案配置檔案佔位符、Profile、配置檔案的載入位置)

1.配置檔案佔位符 RaandomValuePropertySourcr:配置檔案可以使用隨機數       ${random.value}      ${random.int}  ${random.long}   &nbs

IDEA常見問題之不能正確打包和讀取到配置檔案xml、properties、conf

1.不能讀取到一些資料夾下的檔案(pom檔案的引入) <build>     <resources>         <resource>             <directory>src/main/java</di