Apache服務器配置

注:此文複製而來,只爲便於學習!php

Apache的配置指令分爲兩類:一類由核心模塊如core,http等使用,必須位置httpd.conf文件中,另外一類由標準或三方模塊使用html

1 基本配置指令web

httpd.conf中的配置能夠三爲分部分:主服務器部分、容器配置部分、擴展部分正則表達式

主服務器部分:用來配置服務的核心參數,做爲全局指令,如定義主機名、監聽端口等apache

容器配置部分:以<容器名>...</容器名>樣式包圍的配置部分,如虛擬主機、目錄、文件權限windows

擴展部分:以include方式加載的外部配置文件安全

1.1 主服務器配置服務器

ServerName  定義主機名,若無,則以IP地址代替網絡

ServerRoot    定義httpd服務器進程所安裝在的根目錄,在選擇不一樣的layout時,其值是不一樣的工具

DocumentRoot  定義提供頁面文檔的根目錄,此目錄是收到URL請求的根目錄,必須用絕對路徑,若路徑中包含空格則須要加引號

ServerAdmin    指定網站管理員的郵件地址

Alias/ScriptAlias  定義別名

User/Group     指定服務器進程運行的用戶名及組

Listen               指定服務器監聽的端口

LoadModule/LoadFile   加載模塊或目標文件

ErrorDocument   code  content  指定錯誤碼的處理頁面或內容,頁面能夠是腳本或字符串

Options      用於指定在目錄的處理特性,其有如下值,這些值能夠經過+ -來組合

                    ExecCGI  容許當前目錄下執行CGI腳本

                    Includes  容許使用SSI功能

                    Indexes    開戶索引功能,即目錄若沒有由DirecotryIndex指令指定索引文件,則返回請求目錄的文件列表

                    FollowSymLinks   容許目錄使用符號連接

                    ALL           除MultiViews以外 的全部特性

                   MultiViews  啓用mod_negotiations模塊提供的多視圖功能

1.2 容器配置部分

值得注意的是容器配置能夠根據需求嵌套。

<ifModule !模塊名>  判斷module是否加載,並根據真假決定是否執行容器內配置,模塊名能夠加!表示未加載 

<ifDefine Def>         判斷Def是否認義,並根據真假決定是否執行容器內配置,Def前加!表示未定義

<Directory dir>        區域中的配置僅對dir生效,用來限定配置範圍或覆蓋全局配置。目錄能夠是完整路徑,也能夠是通配符匹配目錄,須要注意的是* ? []不能跨/

                              若是須要使用正則匹配,則在表達式前加 ~

<DirectoryMatch>    同上,只是其接受正則表達式時,不須要加~

<File>                    只針對文件定義

<FileMatch>           同上

<Location>             對網絡URL進行訪問控制

<LocationMatch>    同上,可接受正則匹配

須要注意的地方是,容器規則在應用時是有優先級的,apache處理是從優先級高到低以下處理:direcotry .htacess direcotryMatch file fileMatch Location 高優先級規則會使得低優先級規則失效。同時Directory容器處理順序按目錄名稱的字典排序進行。這些規則混用或使用不當會形成安全性問題,所以不建議使用複雜的規則。 對於文件和目錄在使用時要注意限制符號連接。

1.3 擴展部分 

在Apache默認配置文件夾中有一個extra目錄,其中定義了其餘模塊的經常使用配置,能夠經過Include指令加載進來

常見的配置功能以下

httpd-autoindex.conf    自動索引配置

httpd-info.conf             mod_status info模塊的配置

httpd-mpm.conf           mpm的配置

httpd-ssl.conf              ssl配置

httpd-userdir.conf        用戶目錄配置,用於在一臺服務器上爲多個用戶提供Web站點,將用戶映射到其本身的目錄下

httpd-vhosts.conf         虛擬主機配置

1.3.1 mod-dir

此模塊支持用戶指定index文件的功能,配置以下:

DirectoryIndex   index.html  index.PHP

這樣,當用戶訪問根目錄時,若下面存在對應的文件,則服務器會重給用戶重定向到索引文件頁面

1.3.2 mod-autoindex

 

1.3.3 mod-userdir

 

1.4 配置工具

本地化工具webmin須要安裝到本地,並經過網頁打開,能夠進行GUI方式的設置

windows下zecos Apacheconf能夠SSH方式讀取遠程HTTPD.CONF來顯示配置

 

 

2 虛擬主機配置

虛擬主機可讓咱們在一個機器上開放多個網站,實現經過不一樣的域名或IP訪問時定向到不一樣的網站頁面上。

2.1 命名虛擬主機

基於域名的虛擬主機功能開啓後,服務器能夠根據請求中的HOST頭部來定向到不一樣的站點,須要DNS配置協做方可應用。

其配置比較簡單,下面的示例爲一個簡單的例子

 

[html]
  1. #  
  2. # Use name-based virtual hosting.  
  3. #  
  4. NameVirtualHost *:80  
  5. #  
  6. # VirtualHost example:  
  7. # Almost any Apache directive may go into a VirtualHost container.  
  8. # The first VirtualHost section is used for requests without a known  
  9. # server name.  
  10. #  
  11. <VirtualHost *:80>  
  12.     ServerAdmin webmaster@dummy-host.example.com  
  13.     DocumentRoot /www/docs/dummy-host.example.com  
  14.     ServerName dummy-host.example.com  
  15.     ServerAlias dummy1.example.com  
  16.     ErrorLog logs/dummy-host.example.com-error_log  
  17.     CustomLog logs/dummy-host.example.com-access_log common  
  18. </VirtualHost>  


這裏創建了一個網站,其監聽本地全部80的請求,但此虛擬主機只提供關於dummy.example.com的網站服務,因爲採用了別名,也能夠採用別名來訪問,但前提是配置了DNS的相關記錄。須要注意的是,若是採用IPV6地址,則地址應該放在中括號中。

 

基於命名的虛擬主機不支持HTTP1.0以及以前的協議,而且不支持SSL協議 (SSL協議須要獨立的主機名與IP匹配)。若須要支持SSL,則須要監聽443端口,並在此端口上創建站點服務。具體能夠參考httpd_ssl.conf文件的示例。

2.2 IP虛擬主機

IP虛擬主機須要咱們的服務器主機配置多個IP地址,咱們將不一樣的網站配置到不一樣的IP地址上,IP地址能夠是同一個物理網卡的多個虛擬接口地址。

其配置方式以下:

 

[html] 
  1. <VirtualHost 192.168.0.2:80>  
  2.     ServerAdmin postmaster@dummy-host2.localhost  
  3.     DocumentRoot "D:/xampp/htdocs/dummy-host2.localhost"  
  4.     ServerName dummy-host2.localhost  
  5.     ServerAlias www.dummy-host2.localhost  
  6.     ErrorLog "logs/dummy-host2.localhost-error.log"  
  7.     CustomLog "logs/dummy-host2.localhost-access.log" combined  
  8. </VirtualHost>  


2.3 動態虛擬主機的方法

 

其餘的方法如經過vhost_alias_module模塊或者rewrite_module創建大量虛擬主機,通常網站提供商纔會用到這種功能,不在此詳細描述,能夠參考apache的相關文檔。

 

3  性能相關配置

 

4 日誌控制

相關文章
相關標籤/搜索