RHEL的Apache配置(基於ip&端口&域名的虛擬主機和認證)


虛擬主機配置

基於IP的虛擬主機:

<VirtualHost     192.168.181.1:80>

DocumentRoot  /var/www/192.168.181.1

ServerName    192.168.181.1:80

#ServerAdmin  xxxx@xxxx

#ErrorLog     logs/192.168.181.1.error.log

#CustomLog   logs/192.168.181.1.custom.log  common

</VirtualHost>

<VirtualHost     192.168.181.2:80>

DocumentRoot   /var/www/192.168.181.2

ServerName    192.168.181.2:80

#ServerAdmin  xxxx@xxxx

#ErrorLog     logs/192.168.181.2.error.log

#CustomLog  logs/192.168.181.2.custom.log   common

</VirtualHost>

基於端口的虛擬主機

Listen 8080

<VirtualHost        192.168.181.1:8080>

     DocumentRoot  /var/www/192.168.181.1:8080

     ServerName  192.168.181.1:8080

#    ServerAdmin  xxxx@xxxx

#    ErrorLog     logs/192.168.181.1:8080.error.log

#    CustomLog   logs/192.168.181.1:8080.custom.log 

</VirtualHost>

基於域名的虛擬主機

NameVirtualHost  192.168.181.1:80

<VirtualHost      192.168.181.1:80>

     DocumentRoot  /var/www/bbs.example.com

     ServerName  bbs.example.com

#    ServerAdmin  xxxx@xxxx

#    ErrorLog     logs/bbs.example.com.error.log

#    CustomLog   logs/bbs.example.com.custom.log 

</VirtualHost>

<VirtualHost  192.168.181.1:80>

     DocumentRoot  /var/www/bbs.example.com

     ServerName  blog.example.com

#    ServerAdmin  xxxx@xxxx

#    ErrorLog     logs/blog.example.com.error.log

#    CustomLog   logs/blog.example.com.custom.log 

</VirtualHost>

三種虛擬主機比較:

1、都需要在virtualHost容器中聲明ip+port

2Log文件目錄自動建立

3ServerName字段區別:

基於IP   寫入IP+port

基於端口 寫入IP+port   VirtualHost容器外添加額外的Listen port

基於域名 域名  容器外添加NameVirtualHost IP+port


Apache的認證方式

1、基於htpasswd工具生成的MD5密碼驗證修改配置文件:

NameVirtualHost  192.168.181.1:80

<VirtualHost 192.168.181.1:80>

    DocumentRoot /var/site/bbs.example.com

    ServerName bbs.example.com

    <Directory  /var/site/bbs.example.com>

    AuthName     test

    AuthType      Basic

    AuthUserFile   /etc/httpd/.webuser

    Require valid-user

        #Require User  user1  user2  user3.....

##group##AuthGroupFile  /etc/httpd/.webgroup

##group##Require Group  group1 group2  group3..... 

</Directory>

</VirtualHost>

htpasswd密碼生成:(創建的用戶不是必須爲系統用戶)

#htpasswd  -cm  /etc/httpd/.webuser  zhang3    

//創建新的密碼文件,創建時必須添加一個用戶,-mMD5密碼

#htpasswd  -m   /etc/httpd/.webuser  zhang3    //修改zhang3的密碼文件

#htpasswd  -m   /etc/httpd/.webuser  li4         //添加用戶li4

#htpasswd  -D   /etc/httpd/.webuser  zhang3    //刪除用戶zhang3的賬號

#cat  /etc/httpd/.groupuser

group1:zhang3 li4

 2、基於htpasswd工具生成的MD5密碼驗證使用.htaccess分佈式配置文件:

NameVirtualHost  192.168.181.1:80

<VirtualHost 192.168.181.1:80>

<Directory  /var/site/bbs.example.com>

 AllowOverride  AuthConfig

#AllowOveride  All

</Directory>

#vim /var/bbs/bbs.example.com/.htaccess

    AuthName     test

    AuthType      Basic

    AuthUserFile  /etc/httpd/.webuser

    Require valid-user

       #Require User  user1  user2 .....

##group##AuthGroupFile  /etc/httpd/.webgroup

##group##Require Group  group1 group2 ..... 

Apache的訪問控制列表
order語句來定義處理allowdeny語句的先後順序,以及缺省的權限。

通常有兩種定義形式   1order allow,deny    2order deny,allow

1、order allow,deny(缺省禁止所有機器訪問)
要求先要用allow語句定義允許訪問的機器,缺省是拒絕所有機器訪問。

如果某條件即匹配allow語句,又匹配定義的deny語句,則deny語句會生效。

2、order deny,allow(缺省允許所有機器訪問)
要求先用deny語句定義拒絕訪問的機器,缺省是允許所有機器訪問。

如果某條件既匹配deny語句,又匹配定義的allow語句,則allow語句會生效。

感謝諾達RHCE吳振老師,感謝思科資源,成長進行中···
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章