vim /usr/local/apache2/conf/httpd.conf (主配置文件)html
打開這個虛擬主機的配置文件,就不能curl主機配置文件裏面了,就會404web
1.7Apache用戶認證apache
cd /data/wwwvim
mkdir abc瀏覽器
cp /etc/passwd ./12.txt服務器
在瀏覽器上192.168.0.188/abc/12.txt能看到passwd裏面的內容,想不讓其餘人看到,要更改一下配置curl
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf(更改虛擬主機配置文件)ide
還要記住不能用#做註釋,不然會出現錯誤網站
C:/Program Files/Apache Group/Apache2/htdocs/.htaccess: AuthName takes one argument, The authentication realm (e.g. "Members Only")ui
<Directory /data/www/abc>
AllowOverride AuthConfig (表示進行身份驗證)
AuthName "xiaoxuan" (自定義的)
AuthType Basic (認證類型)
AuthUserFile /data/.htpasswd (是存放用戶名和密碼的文件,認證文件位置)
require valid-user
</Directory>
vim /etc/profile.d/path.sh (定義Apache不用輸入那麼長的名稱)
source /etc/profile.d/path.sh
配置完虛擬主機配置文件,接下來創建驗證文件
htpasswd -c /data/.htpasswd user1 (-c是建立這個文件/data/.htpasswd,後面跟username)
cat /data/.htpasswd
htpasswd /data/.htpasswd user2 (第二就不能加-c了,加了會把.htpasswd覆蓋掉 )
apachectl graceful (從新加載)
1.##這裏設置的目錄爲真實目錄,並不是虛擬目錄
2. AllowOverride AuthConfig爲容許認證
3. AuthType認證類型 Basic 由 mod_auth 提供
4. AuthName這裏定義的內容將在 web 彈出的登錄框中顯示
5. AuthUserFile定義認證文件路徑,不要放在可能被下載到的地方
6. Require user定義容許訪問的用戶
配置默認虛擬主機
apache 頁面錯誤 查看 、/usr/local/apache2/logs/error-log
1.8默認虛擬主機
無論你是什麼域名,只要你指向到這臺服務器,那麼都會訪問到這個網站,訪問到的是第一個虛擬主機配置文件裏邊的網站,Apache默認的虛擬主機就是第一個,就要增長一個新的虛擬主機配置文件在第一個,這樣就起到限制的做用,想要禁掉就去建立一個空目錄
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
mkdir /tmp/123
chmod 600 /tmp/123
apachectl restart
192.168.3.39到瀏覽器訪問,就會出現
1.9 域名301跳轉
www.test.com 和www.aaa.com確定要分一個主次,這兩個域名都能訪問同一個站點,搜索引擎不知道哪一個是主的,因此把www.aaa.com跳轉到www.test.com,這樣就能哪一個是主哪一個是次了
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<IfModule mod_rewrite.c> (用到rewrite這個模塊)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR] (這個是跳轉的條件,[OR]表示或者,不加[OR]就是而且同時存在)
RewriteCond %{HTTP_HOST} ^www.bbb.com$
RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L] (這個是規則,^/(.*)$以什麼開頭到結尾,(.*)這個做爲一個總體,$1用來標記,最終會跳轉到www.test.com/下面,R=301就是狀態碼,L==last表示結束了) 如:www.test.com/121212,^/是以域名以後的121212開始的,不包括www.test.com 。
</IfModule>
到瀏覽器訪問www.aaa.com 都會跳轉到www.test.com
apache -M (能夠看到rewrite共享的模塊) 301永久重定向
apache -t
apache restart
curl -x192.168.0.188:80 www.aaa.com/fsfsfs -I或者是
curl -x192.168.0.188:80 www.bbb.com/fsfsfs -I //都會跳轉到test.com
HTTP/1.1 301 Moved PermanentlyDate: Fri, 05 Feb 2016 01:36:30 GMTServer: Apache/2.2.31 (Unix) PHP/5.4.36Location: http://www.test.com/fsfsfsContent-Type: text/html; charset=iso-8859-1