LAMP架構搭建與優化(1.7-1.9)

vim /usr/local/apache2/conf/httpd.conf (主配置文件)html

打開這個虛擬主機的配置文件,就不能curl主機配置文件裏面了,就會404web

wKioL1bEe8PQWZIRAAAGxMLXPbY269.png



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

wKiom1bFxYyiZIY9AAD6dDYrFp8605.png

還要記住不能用#做註釋,不然會出現錯誤網站

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不用輸入那麼長的名稱)

wKioL1bFwxrSBl9aAAAP4iBSu94374.png

source /etc/profile.d/path.sh 

配置完虛擬主機配置文件,接下來創建驗證文件

htpasswd -c /data/.htpasswd user1  (-c是建立這個文件/data/.htpasswd,後面跟username)

cat /data/.htpasswd

htpasswd /data/.htpasswd user2        (第二就不能加-c了,加了會把.htpasswd覆蓋掉 )

wKiom1bFxhjR6sHGAABeRdMhokg115.png

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

wKioL1bFzDfw4QOXAAAOlkHu_04922.png

mkdir /tmp/123

chmod 600 /tmp/123

apachectl restart


192.168.3.39到瀏覽器訪問,就會出現

wKioL1gPE3qhNbGjAAAM8zEvNck135.png




1.9 域名301跳轉

www.test.com 和www.aaa.com確定要分一個主次,這兩個域名都能訪問同一個站點,搜索引擎不知道哪一個是主的,因此把www.aaa.com跳轉到www.test.com,這樣就能哪一個是主哪一個是次了


vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 

wKiom1bF2Y-zIVoTAADl7vB0L7o556.png

    <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

相關文章
相關標籤/搜索