Apache配置

轉載自http://xianglp.iteye.com/blog/685271

 

很多人對於配置望而卻步,因爲配置是很難的事,因此都使用一些集成的工程完成配置例如php使用EasyPHP,這樣很多的參數配置都是使

用默認的配置,但是對於不同的項目來說所對應的需求是不同的,比如:安全等 ,所以我們應該爲不同的項目採用不同的配置策略。

安裝php5、apache2.0、mysql 5.0等軟件,安裝步驟就不詳細說明。網上有的是。
各自的安裝目錄爲
php  D:\php
apache D:\apache
mysql  D:\mysql
文檔的主目錄爲 D:\www


配置Apache

第一步:配置ServerRoot,修改D:\apache\httpd.conf文件的ServerRoot 指定到你Apache安裝目錄,如果是安裝版的會自動設置爲你Apache所在

目錄
ServerRoot "D:/apache"
其它配置文件的相對路徑是基於此目錄。

第二步:導入php module即指定php5apache2_2.dll所在的位置,在LoadModule模塊的最後追加(php配置下篇再介紹)。
LoadModule php5_module "d:/php/php5apache2_2.dll"

第三步:將PHPIniDir模塊修改爲你php.ini所在的目錄,這裏我們php.ini在php文件下(php配置下篇再介紹)。
PHPIniDir "D:/php"

第四步:添加可以執行php的文件類型
AddType application/x-httpd-php .php
如果沒有追加該類型將無法執行後綴爲 .php 的文件
同理可知 AddType application/x-httpd-php .txt,這樣的話普通的文本格式文件也能運行php程序

第五步:配置ServerName,已註冊DNS服務名稱可以配置DNS服務的名稱,如果沒有可以配置爲IP。
ServerName localhost

第六步:配置DocumentRoot,該指令用於配置web文檔的根目錄,可以是絕對路徑也可以是相對路徑,相對路徑指的時相對ServerRoot指令的路


DocumentRoot "d:/www"

第七步:配置Directory,標記對指定目錄做出訪問權限控制,配置是必不可少的,部分的安全控制就在它下面配置,先介紹幾個常用的配置參數
AllowOverride 確定允許讀取.htaccess文件中的指令類型
避免使用.htaccess文件有主要原因是性能。如果AllowOverride啓用了.htaccess文件,則Apache需要在每個目錄中查找.htaccess文件,
因此,無論是否真正用到,啓用.htaccess都會導致性能的下降。
另外,對每一個請求,都需要讀取一次.htaccess文件。   
還有,Apache必須在所有上級的目錄中查找.htaccess文件,
以使所有有效的指令都起作用(參見指令的生效),所以,如果請求/www/test/index.html中,
Apache必須查找以下文件
/.htaccess   
/www/.htaccess   
/www/test/.htaccess   
將AllowOverride設置爲none可以完全禁止使用.htaccess文件
Options指令控制了在特定目錄中將使用哪些服務器特性。
主要介紹兩個會常用到的(其他看後面的鏈接)
  Indexes 如果一個映射到目錄的URL被請求,而此目錄中又沒有DirectoryIndex(例如:index.html),那麼服務器會返回由mod_autoindex生

成的一個格式化後的目錄列表。
  FollowSymLinks 服務器允許在此目錄中使用符號連接。
開發時可以配置爲 Options Indexes FollowSymLink
在發佈時爲了安全配置爲 Options None
開啓None條件(網上拷的)
1. 如果沒有啓用mod_rewrite,可以用Options None 來保證安全性。
2. 如果啓用了mod_rewrite, 那麼Options就一定要啓用FollowSymLinks或者SymLinksifOwnerMatch, 否則會出現Fobidden頁面禁止訪問的錯誤


查看錯誤日誌會有這樣的出錯信息:(Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule

directive is forbidden:**)

order 控制默認的訪問狀態
Deny,Allow
Deny指令在Allow指令之前被評估。默認允許所有訪問。任何不匹配Deny指令或者匹配Allow指令的客戶都被允許訪問。
Allow,Deny
Allow指令在Deny指令之前被評估。默認拒絕所有訪問。任何不匹配Allow指令或者匹配Deny指令的客戶都將被禁止訪問

order Deny,Allow
allow from all
deny from 127.0.0.1
先評估Deny的指令127.0.0.1不可訪問,在評估Allow指令可以訪問,允許所有訪問所以127.0.0.1可以訪問
order Allow,Deny
allow from all
deny from 127.0.0.1
先評估Allow指令可以訪問,允許所有訪問,再評估Deny的指令127.0.0.1不可訪問,所以127.0.0.1不可以訪問
該指令可以屏蔽某些流氓爬蟲抓取你的網站
Directory的配置就講這些,指令請參考這裏一下是一個完全的Directory的配置。
<Directory "D:/www">
    Options None
    AllowOverride None
    order Allow,Deny
    allow from all
    deny from www.google.com.hk
</Directory>

第八步:配置WEB主頁文件名
在httpd.conf文件中成對的<IfModule dir_module>標記中,用DirectoryIndex參數指定WEB主頁文件名。例如
<IfModule dir_module>
    DirectoryIndex index.html index.php index.php3 index.php4 index.php5
</IfModule>
在URL中沒有指明要訪問的文件名,則就是對此目錄下的主頁文件的訪問。這裏指定了4個作爲主頁文檔的文件,每兩個文件名之間用英文空格

分隔。排列在左邊的優先權最高,排列在右邊的優先權最低。例如:按照上述配置,當對此WEB服務器做URL請求爲http://127.0.0.1時,即請

求其WEB根路徑,則將在指定的WEB根目錄下尋找名爲 inex.html 的文件作爲主頁返回給客戶端瀏覽器。如果 index.php 不存在,則尋找

index.htm 文件;否則尋找 index.php3 文件;否則尋找 index.php4 文件……。指定的主頁文檔都不存在,如果Directory該目錄Options配

置爲Indexes FollowSymLinks,則還回該目錄的文件列表,如果配置爲none對此路徑的請求將失敗,瀏覽器返回404錯誤。

第九步:配置URL與文件系統的映射
在httpd.conf文件中成對的<IfModule dir_module>標記中,使用Alias參數來指導URL與文件系統映射關係,這樣映射的文件系統可以是

Documentroot以外的本地系統中。主意該命令必須與Directory一起使用。如
Alias /test "d:/test"
<Directory "d:/test">
        Options FollowSymLinks Indexes
        AllowOverride None
        Order deny,allow
        allow from all
</Directory>
訪問test目錄用127.0.0.1/test就能訪問該目錄文件

第十步:配置虛擬主機
追加NameVirtualHost指令 設置爲 *:80
NameVirtualHost *:80
配置虛以主機
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:/test"
ServerName xxx.com
</VirtualHost>
注意如果要訪問,xp必須修改本機的 C:\WINDOWS\system32\drivers\etc目錄下的hosts文件追加
127.0.0.1      xxx.com
配置完成即可以通過http://xxx.com

十步是Apache的正常配置地方,日誌配置在這裏就不介紹了。
注:安裝完Apache後有官方已經給出很多的配置用例,它們所在的目錄爲Apache的安裝目錄conf\default\目錄下,根據你的配置需求可以參考

官方的一些配置
注:如果只要Apache啓動只要配置 第一步,第五步,第六步
    如果要Apache支持php,則要配置 第一步,第二步,第三步,第四步,第五步,第六步,第七步,其他採用默認配置就行。
    其他配置指令請參考 http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/core.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章