之前的個人主頁,為了安全起見,需要把~yanji 用戶隱藏起來,這時就可以設置個 虛擬目錄。
它在Apache服務器應用比較多,能夠隱藏系統的真實目錄,實用性非常高。
虛擬目錄主要 通過 Alias語句 和 ScriptAlias語句進行實現
二者區別:
Alias語句 : 針對普通別名
ScriptAlias語句: 針對腳本別名,即是ScriptAlias語句設置的別名可以支持CGI腳本。
1、Alias語句方式 Alias /別名 "真實目錄"
[root@localhost root]# cd /etc/httpd/conf.d[root@localhost conf.d]# cat > v_p_user_auth.confAlias "/useryan" "/home/yanji/public_html"
[root@localhost conf.d]# service httpd restart停止 httpd: [ 確定 ]啟動 httpd: [ 確定 ]
在瀏覽器驗證如下 http://192.168.170.4/useryan/
2、ScriptAlias語句方式 ScriptAlias /別名 "真實目錄"
[root@localhost conf.d]# vi /etc/httpd/conf/httpd.conf
找到ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 確保它不給“#”注釋。 如下圖
二、目錄權限配置創建測試的主頁
[root@localhost conf.d]# cat > /var/www/cgi-bin/test.sh
#! /bin/bashecho "Content-type: text/html"echo for x in 早上 中午 晚上; do echo "$x<br/>" done瀏覽器輸入 http://192.168.170.4/cgi-bin/test.sh會因為權限問題,不成功。
[root@localhost conf.d]# chmod +x /var/www/cgi-bin/test.sh
(注意: 如果網頁亂碼,就是/etc/httpd/conf/httpd.conf里面的AddDefaultCharset的值不為utf-8
改為utf-8后,重啟httpd服務就行)
在Apache服務器中,可以使用Order allow deny 語句對其進行控制,有兩種格式:
1、Order allow,deny (表示先允許后拒絕,即是沒有允許的全部拒絕) 嚴格配置
Allow from 192.168.170.0/24 (表示192.168.170.0/24 網段的所有主機可以訪問)
Deny from all (表示拒絕所有主機的訪問)
2、Order deny,allow (表示先拒絕后允許,默認沒有拒絕的全部允許) 寬松配置
Deny from 192.168.170.0/24 (表示拒絕192.168.170.0/24網段的所有主機訪問,允許其他網段的主機訪問)
例如: /var/www/music 目錄只允許 內網用戶訪問,不允許外網用戶訪問,那就把內網的網段范圍寫在<Directory "/var/www/music" >節點之間
為了不混亂主配置文件,我們可以在 /etc/httpd/conf.d 目錄創建music.conf文件,添加以下內容:
Alias "/music" "/var/www/music"
<Directory "/var/www/music">
Options Indexes SymLinksIfOwnerMatch
Order allow,deny
Allow from 192.168.170.0/24 192.168.155.0/24
</Directory>
然后重啟服務就行了 apachectl restart
如果<Directory "/var/www/music" >節點之間加上
AuthType BasicAuthName "please input name$passwd"AuthUserFile "/var/www/users"Require valid-user
就可以同上一篇的身份驗證結合,增強安全性。
新聞熱點
疑難解答