Apache配置需要了解如下:
Apache預設配置檔案所在目錄
- 源碼包安裝
/usr/local/apache2/conf/httpd.conf
/usr/local/apache2/conf/extra/*.conf
- rpm包安裝
/etc/httpd/conf/httpd.conf
預設網頁儲存位置
- 源碼包安裝
/usr/local/apache2/htdocs/
- rpm包安裝
/var/www/html
Apache基本配置
ServerRoot -Apache主目錄
Listen - 監聽端口
LoadModule - 加載的相關子產品
User - 僞使用者
Group - 僞使用者組
ServerAdmin - 管理者郵箱
ServerName - 伺服器名
DirectoryIndex - 預設首頁檔案
ErrorLog - 錯誤日志
LogLevel - 日志等級
CustomLog - 正确通路日志
Include - 加載子配置檔案
開始講解:
從預設配置檔案開頭說起:
#Apache安裝目錄
ServerRoot "/usr/local/apache2"
#Listen 12.34.56.78:80
#如不指定IP位址,預設監聽全局80端口
Listen 80
...
省略LoadModule
...
#僞使用者
User daemon
#僞使用者組
Group daemon
#管理者郵箱
ServerAdmin [email protected]
#(主)站點名稱(域名)
ServerName www.xxxx.com:80
#這裡是全局目錄預設規則,拒絕所有
<Directory />
AllowOverride none
Require all denied
</Directory>
#這個是源碼包安裝後,網站主目錄位置
DocumentRoot "/usr/local/apache2//htdocs"
<Directory "/usr/local/apache2//htdocs">
Option None
AllowOverride None
Require all granted
</Directory>
# --- Options 目錄權限
# None :沒有任何額外權限
# All :所有權限
# Indexs :沒有找到預設文章(如:index.php)就會傳回目前檔案夾下的是以檔案清單
# --- AllowOverride子權限檔案開關
# 定義是否允許目錄下.htaccess檔案中的權限生效,這裡隻列舉以下兩種常見的選項
# None: .htaccess中權限不生效
# All: .htaccess檔案中所有權限都生效
# --- Require通路控制管理
# Require all granted允許所有通路
# Require all denied拒絕所有通路
# Require ip 192.168.1.0/24 僅允許192.168.1.0/24網絡的主機通路
# Require not ip 192.168.1.2 禁止192.168.1.2的主機通路,其它都可以
#設定預設目錄的預設文檔
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
#防止 .htaccess 和 .htpasswd 檔案被從Web上通路
<Files ".ht*">
Require all denied
</Files>
#防止 .htaccess 和 .htpasswd 檔案被從Web上通路
#錯誤日志的位置,如果你不在<VirtualHost>中指定錯誤日志位置,則錯誤日志都會在此目錄,反之在<VirtualHost>指定的路徑
ErrorLog "logs/error_log"
#控制日志記錄的等級
LogLevel warn
#定義了日志記錄的格式
<IfModule log_config_module>
</IfModule>