1. 程式人生 > >apache功能詳解

apache功能詳解

tee engine con post 手動添加 修改 運行時加載 html host

1、配置文件
RerverRoot 主目錄
Listen 監聽端口
LoadModule 動態模塊
<IFModule 模塊名>
</IFModule> 對模塊進行配置
ServerAdmin 管理員郵箱
ServerName 服務器域名
<Directory 目錄路徑>

</Directory> 對目錄進行配置
Options 目錄選項
Indexes 當沒有主頁面時,是否列出目錄內容
FollowSymLinks 是否允許首頁文件為軟連接文件
allowoverride 是否啟用.htaccess權限文件(只對directory聲明的目錄生效)
all 啟用
none 不啟用
vim .htaccess .htaccess權限文件必須放在directory聲明的目錄下
authname 提示信息
authtype 認證類型
authuserfile 用戶名密碼文件
require valid-user 授權
htpasswd -[c|m] [authuserfile聲明的用戶名密碼文件] [用戶名] 創建用戶(密文)-c是創建,-m是添加
require all granted 允許所有人訪問
require all denied 拒絕所有人訪問
允許個別,拒絕所有
<requireall>
require all granted
require not ip地址
</requireall>
拒絕個別,允許所有
<requireall>
require all granted
require ip ip地址
</requireall>
DocumentRoot 指定網站首頁文件及應用位置
DirectoryIndex 默認打開的首頁文件
</Files> 文件配置區域
ErrorLog 錯誤日誌
LogLevel 要記錄的日誌級別
LogFormat 日誌記錄格式
CustomLog 訪問日誌
ScriptAlias 別名文件
TypesConfig 後綴名解析文件。如果後面跟的文件裏沒有要解析的後綴名,需要手動添加AddType application/x-[文件類型] [擴展名]
Include 額外的配置文件,如果想啟用某個配置文件,就去掉註釋。
Include etc/extra/proxy-html.conf 啟用代理的模板配置文件
SSLRandomSeed 加密模塊要用到的配置
2、目錄別名
Alisa "/別名目錄" "/實際目錄"
對實際目錄給權限
<directory "/usr/local/apache2/htdocs/a/b/c">
options indexes followsymlinks
allowoverride none
require all granted
</directory>
3、虛擬主機
a、基於IP地址
<VirtualHost *:80> 將*改成要監聽的地址
b、基於端口
Listen 聲明監聽的端口
<VirtualHost *:80> 將80改成要監聽的端口
c、基於域名
Include etc//extra/httpd-vhosts.conf 主配置文件打開虛擬主機加載文件選項
創建首頁網站目錄及首頁文件
mkdir /var/web/www /var/web/jd
創建首頁文件
配置虛機主機
<VirtualHost *:80> *表示監聽服務器上的所有IP
DocumentRoot "/var/web/baidu" 網站根目錄
ServerName www.baidu.com 域名
<directory "/var/web/baidu"> 給網站目錄賦權限
options indexes followsymlinks
allowoverride none
require all granted
</directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/web/jd"
ServerName www.jd.com
<directory "/var/web/jd">
options indexes followsymlinks
allowoverride none
require all granted
</directory>
</VirtualHost>
註:RPM安裝的網站服務器,配置虛擬主機時,必須要開啟NameVirtualHost *:80選項



4、個人主頁
Include etc/extra/httpd-userdir.conf 主配置文件啟用個人主頁配置文件
編輯個人主頁配置文件(默認不用修改,主要是確認主頁名)
UserDir public_html 主頁目錄名
<Directory "/home/*/public_html"> 權限設置
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
創建主頁存放目錄及個人主頁
mkdir /home/zhangsan/public_html /home/lisi/public_html 需要跟配置文件的主頁目錄名一致
chmod o+x /home/zhangsan/ /home/lisi/ 對家目錄給執行權限,確保daemon用戶能進去。
LoadModule userdir_module modules/mod_userdir.so 主配置文件打開userdir動態模塊

動態庫:
--enable-so
啟用DSO(動態共享目標,就是動態模塊)支持的核心模塊
apache運行時加載模塊擴展功能。
靜態:
啟動時就已經加載,可隨時使用<IFmodule>
動態:
啟動時不加載,而是提供.so文件。使用loadmodule選項加載並配置

5、地址重定向
www.360buy.com ---> www.jd.com
a、添加rewrite模塊
LoadModule rewrite_module modules/mod_rewrite.so 主配置文件打開模塊
b、虛擬主機目錄選項開啟使用權限文件
allowoverride all
c、在主目錄增加權限文件
vim .htaccess 寫在需要重定向的網站下。
rewriteengine on 開啟重定向引擎
rewritecond %{HTTP_HOST} www.360buy.com 將老域名賦值到變量
rewriterule .* http://www.jd.com 定義規則將所有定向到新域名
6、HTTPS
網站服務端:
安裝加密相關的模塊
yum install -y mod_ssl openssl openssl-devel
重新編譯安裝apache,加上--enable-ssl選項
./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/etc/ --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite --enable-ssl
mkdir /usr/local/apache2/ssl 創建一個證書存放目錄
(umask 077;openssl genrsa 1024 > httpd.key) 在目錄下生成加密文件
openssl req -new -key httpd.key -out httpd.crq 用加密文件生成證書申請文件



CA服務器端:
cd /etc/pki/CA/ 進入CA目錄
(umask 077;openssl genrsa -out private/cakey.pem 2048)
設置反掩碼077;openssl用genrsa算法在private子目錄生成一個cakey.pem文件,大小2048
vim /etc/pki/tls/openssl.cnf 編輯證書模板配置文件
countryName_default = CN 默認國家名稱
stateOrProvinceName_default = HN 默認省份名稱
localityName_default = ZZ 默認城市名稱
0.organizationName_default = FZDZ 默認公司名稱
organizationalUnitName_default = CLOUD 默認組織名稱
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655 加密文件寫的時相對路徑所以需要在CA目錄下執行
-new生成一個新的文件;-x509格式;-key後跟加密文件; -out後跟生成的證書文件名; -days後跟證書有效期

































apache功能詳解