/etc/apache/httpd.conf :

ServerRoot "/usr"
#因?yàn)榘惭b到/usr下,所以ServerRoot是/usr。在以下配置中,以相對(duì)路徑寫的就是對(duì)于相對(duì)/usr
PidFile /var/run/httpd.pid
#httpd啟動(dòng)時(shí)的pid存放位置,用于start/stop apache
Timeout 300
#連接超時(shí)時(shí)間
KeepAlive On
#允許持續(xù)連接,一個(gè)連接多個(gè)請(qǐng)求.
MaxKeepAliveRequests 200
#持續(xù)連接中最大連接數(shù),推薦大一些獲得最佳性能
KeepAliveTimeout 15
#Client 在15秒內(nèi)沒(méi)有下次請(qǐng)求則斷線
MinSpareServers      5
MaxSpareServers      10
httpd服務(wù)進(jìn)程的數(shù)量,ps aux 可以看到
MaxClients         150
最大連接人數(shù)
Listen 80
#監(jiān)聽端口
#ExtendedStatus On
#使用/server-status查詢服務(wù)器狀態(tài)時(shí)給予完全信息(ON)或基本信息(OFF) 默認(rèn)為OFF
User apache
Group apache
#httpd進(jìn)程的user,group
ServerAdmin BlueSilence.xin@gmail.com
#admin的E-mail
ServerName 127.0.0.1
#服務(wù)器名稱,需要是合法的DNS NAME 或者設(shè)置成IP

DocumentRoot "/srv/www/htdocs"
#主頁(yè)存放目錄
UserDir public_html
#每個(gè)用戶的主頁(yè)目錄 (例如:/home/blue/public_html)
DirectoryIndex index.php index.html index.html.var
#當(dāng)輸入http://localhost 就會(huì)在主頁(yè)根目錄下搜索以上幾個(gè)文件名做為首頁(yè)顯示
HostnameLookups Off
#記錄log時(shí),Client以主機(jī)名(On)或以IP(Off)記錄,以IP記錄更快些.
ErrorLog /var/log/apache/error_log
#錯(cuò)誤日志位置
LogLevel warn
#日志記錄等級(jí),由信息多->少記錄等級(jí):debug, info, notice, warn, error, crit,alert,emerg
CustomLog /var/log/apache/access_log common
#訪問(wèn)日志位置
ServerTokens Prod
#當(dāng)client訪問(wèn)到不存在的網(wǎng)頁(yè)時(shí)提供信息的多少。少點(diǎn)好些 :)
#由多-->少 :Full | OS | Minor | Minimal | Major | Prod
LanguagePriority zh-CN en ca cs da de ..........
#語(yǔ)言優(yōu)先級(jí)
ErrorDocument 404 /missing.html
#錯(cuò)誤網(wǎng)頁(yè)處理,當(dāng)出現(xiàn)404(找不到該頁(yè))則會(huì)顯示/missing.html

目錄設(shè)定:
設(shè)定根目錄屬性:

    Options FollowSymLinks
    AllowOverride None

Options 屬性:
Indexes         當(dāng)該目錄下沒(méi)有index.*時(shí)則以ftp-style列出該目錄下所有文件
Includes        Allow server-wide includes
FollowSymLinks 當(dāng)該目錄下軟連接的文件/目錄鏈接到外部目錄時(shí),仍然可以正常顯示。
MultiViews     由一個(gè)*.var管理同一網(wǎng)頁(yè)的多種語(yǔ)言版本,如apache默認(rèn)主頁(yè)多種語(yǔ)言的index.html
ExecCGI         允許執(zhí)行CGI程序
ALL             開啟除MultiViews之外的屬性
None            禁止所有屬性

AllowOverride 是否允許使用.htaccess覆蓋某些設(shè)定(All None FileInfo AuthConfig Limit)

設(shè)定/srv/www/htdocs/ 目錄(根目錄)屬性:


Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
    Allow from all


Order allow,deny : 控制訪問(wèn)權(quán)限
Order deny,allow
deny from test.org 拒絕test.org訪問(wèn)
deny from 192.168.0.100 拒絕192.168.0.100訪問(wèn)
allow from 192.168.0.1 允許192.168.0.1 訪問(wèn)
  
Alias /icons/ "/srv/www/icons/"  
語(yǔ)法: Alias fakename realname
設(shè)置目錄的別名,這樣當(dāng)輸入http://localhost/icons/ 就可以訪問(wèn)到/srv/www/icons/
注意icons結(jié)尾的"/" 應(yīng)在fakename realname 成對(duì)出現(xiàn),要么全有,要么全沒(méi)有.
有"/"時(shí)需要輸入http://localhost/icons/ 才可以正常訪問(wèn)

ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"
設(shè)置可執(zhí)行程序別名,與Alias類似。
當(dāng)Client請(qǐng)求Alias realname時(shí),server直接以document形式傳送Client
而ScroptAlias則是server執(zhí)行realname的script程序后將結(jié)果傳送給Client

服務(wù)器的狀態(tài),信息:
通過(guò)http://localhost/server-status 訪問(wèn)

    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1

通過(guò)http://localhost/server-info 訪問(wèn)

    SetHandler server-info
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1


.cgi .pl程序可執(zhí)行的三種方法:
1:使用ScriptAlias,httpd.conf中加入:
ScriptAlias /my-cgi/ "/srv/www/cgi"
這樣就可以以http://localhost/my-cgi/xxx.cgi xxx.pl執(zhí)行/srv/www/cgi/下的.cgi,.pl程序了。

2: 使用sethandler cgi-scripts,httpd.conf中加入:
Alias /my-cgi/ "/srv/www/cgi"

   Options ExecCGI
   Sethandler cgi-script


3:使用Options的ExecCGI屬性 :
將httpd.conf中的AddHandler cgi-script .cgi .pl 注釋拿掉,加上.pl
給予/srv/www/cgi/ 執(zhí)行CGI權(quán)限:
Alias /my-cgi/ "/srv/www/cgi"

   Options ExecCGI
   Allowoverride none
   Order allow,deny
   allow from all


認(rèn)證網(wǎng)頁(yè):


   Options FollowSymlinks Indexes ExecCGI
   AllowOverride None
   Order Allow,Deny
   Allow From all
   AuthName "private directory "
   AuthType Basic
   AuthUserFile /etc/apace/apache.passwd
   Require valid-user


AuthNmae :      認(rèn)證窗口上的標(biāo)題
AuthType :      認(rèn)證類型,apache有幾種認(rèn)證方式,Basic為最基本的。
AuthUserFIle : 認(rèn)證密碼存放位置
Require : 認(rèn)證檔案中允許使用的用戶
valid-user :   認(rèn)證檔案中所有的用戶都可以使用通過(guò)認(rèn)證進(jìn)入該目錄
如只想允許某個(gè)用戶則使用 Require user username1 username2

建立認(rèn)證密碼文件:
#cd /etc/apache/
#htpasswd -c apache.passwd blue
New password:
Re-type new password:
Adding password for user blue
#
-c : 如果沒(méi)有apache.passwd則創(chuàng)建它
增加認(rèn)證用戶:
#htpasswd apache.passwd silence
....
#apachectl restart
#firefox http://localhost/my-cgi/
要求密碼才可以進(jìn)入嘍 :)

.htaccess 和 allowoverride :

.htaccess : 取代httpd.conf中對(duì).htaccess所在目錄的設(shè)定。
AllowOverride :允許覆蓋設(shè)定的類型(All None FileInfo AuthConfig Limit)

設(shè)定每個(gè)用戶都可以建立自己的認(rèn)證網(wǎng)頁(yè):

1.確定httpd.conf中AccessFileName .htaccess 沒(méi)有被注釋掉
2.編輯httpd.conf加入AllowOverride AuthConfig,允許每個(gè)用戶通過(guò).htaccess建立自己的認(rèn)證網(wǎng)頁(yè)

   AllowOverride AuthConfig
    Order Allow,Deny
     Allow from all

3.用戶建立認(rèn)證目錄,編寫.htaccess :
mkdir private
cd private/
echo " private page " >test.html
vi .htaccess
AuthName "private"
AuthType basic
AuthUserFIle /home/blue/blue.passwd
Require valid-user
建立密碼文件:
htpasswd -c blue.passwd blue
......
firefox http://localhost/~blue/private/test.html


柴油發(fā)電機(jī)
發(fā)電機(jī)
柴油機(jī)
柴油發(fā)電機(jī)
13636374743(上海)
13291526067(嘉興)