/etc/apache/httpd.conf :
ServerRoot "/usr"
#因為安裝到/usr下,所以ServerRoot是/usr。在以下配置中,以相對路徑寫(xiě)的就是對于相對/usr
PidFile /var/run/httpd.pid
#httpd啟動(dòng)時(shí)的pid存放位置,用于start/stop apache
Timeout 300
#連接超時(shí)時(shí)間
KeepAlive On
#允許持續連接,一個(gè)連接多個(gè)請求.
MaxKeepAliveRequests 200
#持續連接中最大連接數,推薦大一些獲得最佳性能
KeepAliveTimeout 15
#Client 在15秒內沒(méi)有下次請求則斷線(xiàn)
MinSpareServers 5
MaxSpareServers 10
httpd服務(wù)進(jìn)程的數量,ps aux 可以看到
MaxClients 150
最大連接人數
Listen 80
#監聽(tīng)端口
#ExtendedStatus On
#使用/server-status查詢(xún)服務(wù)器狀態(tài)時(shí)給予完全信息(ON)或基本信息(OFF) 默認為OFF
User apache
Group apache
#httpd進(jìn)程的user,group
ServerAdmin BlueSilence.xin@gmail.com
#admin的E-mail
ServerName 127.0.0.1
#服務(wù)器名稱(chēng),需要是合法的DNS NAME 或者設置成IP
DocumentRoot "/srv/www/htdocs"
#主頁(yè)存放目錄
UserDir public_html
#每個(gè)用戶(hù)的主頁(yè)目錄 (例如:/home/blue/public_html)
DirectoryIndex index.php index.html index.html.var
#當輸入http://localhost 就會(huì )在主頁(yè)根目錄下搜索以上幾個(gè)文件名做為首頁(yè)顯示
HostnameLookups Off
#記錄log時(shí),Client以主機名(On)或以IP(Off)記錄,以IP記錄更快些.
ErrorLog /var/log/apache/error_log
#錯誤日志位置
LogLevel warn
#日志記錄等級,由信息多->少記錄等級:debug, info, notice, warn, error, crit,alert,emerg
CustomLog /var/log/apache/access_log common
#訪(fǎng)問(wèn)日志位置
ServerTokens Prod
#當client訪(fǎng)問(wèn)到不存在的網(wǎng)頁(yè)時(shí)提供信息的多少。少點(diǎn)好些 :)
#由多-->少 :Full | OS | Minor | Minimal | Major | Prod
LanguagePriority zh-CN en ca cs da de ..........
#語(yǔ)言?xún)?yōu)先級
ErrorDocument 404 /missing.html
#錯誤網(wǎng)頁(yè)處理,當出現404(找不到該頁(yè))則會(huì )顯示/missing.html
目錄設定:
設定根目錄屬性:
Options FollowSymLinks
AllowOverride None
Options 屬性:
Indexes 當該目錄下沒(méi)有index.*時(shí)則以ftp-style列出該目錄下所有文件
Includes Allow server-wide includes
FollowSymLinks 當該目錄下軟連接的文件/目錄鏈接到外部目錄時(shí),仍然可以正常顯示。
MultiViews 由一個(gè)*.var管理同一網(wǎng)頁(yè)的多種語(yǔ)言版本,如apache默認主頁(yè)多種語(yǔ)言的index.html
ExecCGI 允許執行CGI程序
ALL 開(kāi)啟除MultiViews之外的屬性
None 禁止所有屬性
AllowOverride 是否允許使用.htaccess覆蓋某些設定(All None FileInfo AuthConfig Limit)
設定/srv/www/htdocs/ 目錄(根目錄)屬性:
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Order allow,deny : 控制訪(fǎng)問(wèn)權限
Order deny,allow
deny from test.org 拒絕test.org訪(fǎng)問(wèn)
deny from 192.168.0.100 拒絕192.168.0.100訪(fǎng)問(wèn)
allow from 192.168.0.1 允許192.168.0.1 訪(fǎng)問(wèn)
Alias /icons/ "/srv/www/icons/"
語(yǔ)法: Alias fakename realname
設置目錄的別名,這樣當輸入http://localhost/icons/ 就可以訪(fǎng)問(wèn)到/srv/www/icons/
注意icons結尾的"/" 應在fakename realname 成對出現,要么全有,要么全沒(méi)有.
有"/"時(shí)需要輸入http://localhost/icons/ 才可以正常訪(fǎng)問(wèn)
ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"
設置可執行程序別名,與Alias類(lèi)似。
當Client請求Alias realname時(shí),server直接以document形式傳送Client
而ScroptAlias則是server執行realname的script程序后將結果傳送給Client
服務(wù)器的狀態(tài),信息:
通過(guò)http://localhost/server-status 訪(fǎng)問(wèn)
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
通過(guò)http://localhost/server-info 訪(fǎng)問(wèn)
SetHandler server-info
Order deny,allow
Deny from all
Allow from 127.0.0.1
.cgi .pl程序可執行的三種方法:
1:使用ScriptAlias,httpd.conf中加入:
ScriptAlias /my-cgi/ "/srv/www/cgi"
這樣就可以以http://localhost/my-cgi/xxx.cgi xxx.pl執行/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/ 執行CGI權限:
Alias /my-cgi/ "/srv/www/cgi"
Options ExecCGI
Allowoverride none
Order allow,deny
allow from all
認證網(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 : 認證窗口上的標題
AuthType : 認證類(lèi)型,apache有幾種認證方式,Basic為最基本的。
AuthUserFIle : 認證密碼存放位置
Require : 認證檔案中允許使用的用戶(hù)
valid-user : 認證檔案中所有的用戶(hù)都可以使用通過(guò)認證進(jìn)入該目錄
如只想允許某個(gè)用戶(hù)則使用 Require user username1 username2
建立認證密碼文件:
#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 )建它
增加認證用戶(hù):
#htpasswd apache.passwd silence
....
#apachectl restart
#firefox http://localhost/my-cgi/
要求密碼才可以進(jìn)入嘍 :)
.htaccess 和 allowoverride :
.htaccess : 取代httpd.conf中對.htaccess所在目錄的設定。
AllowOverride :允許覆蓋設定的類(lèi)型(All None FileInfo AuthConfig Limit)
設定每個(gè)用戶(hù)都可以建立自己的認證網(wǎng)頁(yè):
1.確定httpd.conf中AccessFileName .htaccess 沒(méi)有被注釋掉
2.編輯httpd.conf加入AllowOverride AuthConfig,允許每個(gè)用戶(hù)通過(guò).htaccess建立自己的認證網(wǎng)頁(yè)
AllowOverride AuthConfig
Order Allow,Deny
Allow from all
3.用戶(hù)建立認證目錄,編寫(xiě).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
聯(lián)系客服