Apahce VirtualHost 利用Domain指定不同服務

再來我們把www.你的domain 指向你要的服務

當然也可以設定xxx.你的domain 到不同的服務

ps.如果沒設定時,你直接打ip或是www.你的domain 都會指向apache預設的www服務目錄

ps.安裝appserv時,預設目錄在安裝目錄\WWW\

首先開啟你的zone設定檔

ex.123.txt

$TTL    600
@    IN   SOA  localhost.   root.localhost.  (
2006102001  ; Serial  僅作為序號而已
28800       ; Refresh slave 伺服器的更新時間
14400       ; Retry   當 slave 主機更新失敗,多久再重新更新一次
720000      ; Expire  重複 retry 多久後就宣告不治….不再更新
86400 )     ; Minimum 可視為 TTL ,尤其是你沒有設定 $TTL 時

@    IN    NS    dns.yslifes.com.
www    IN    A    自己的ip
dns    IN    A    自己的ip
@    IN    A    自己的ip
IN MX     10   dns
IN MX     20   dns
IN MX     30   dns
blog IN CNAME www
ftp IN CNAME www
photo IN CNAME www
mail    IN CNAME www

指定www到自己的ip上去,可以看到blog、ftp、photo、mail也CNAME(與某個設定相同)到自己的ip

然後我們打開apache的設定檔安裝目錄\Apache2.2\conf\http.conf

先看看預設的值

apacheVH1

ServerAdmin設定你的Email

ServerName就是你的預設domain

DocumentRoot 預設www目錄

Directory Tag裡就是預設權限

apacheVH2

Directory Tag設定DocumentRoot目錄的權限

其中Options Indexes的Indexes最好拿掉,如果開放的話,則使用者則可直接browse你的目錄

再來在561行左右可以看到

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Virtual host設定,指向conf/etra/httpd-vhosts.conf裡

所以我們用記事本打開這個檔案

然後裡面修改成以下

NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admins@mailserver
ServerName www.你的domain
ErrorLog "logs/www-error.log"
CustomLog "logs/wwwaccess.log" common
DocumentRoot "D:/projects/你的目錄"
<Directory "D:/projects/你的目錄">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

監控所有80 port

ServerName 你指定的web服務名稱

如果這裡打入blog.你的domain,則你打http://blog你的domain 則會指向此設定

而你的網頁就可以放到”D:/projects/你的目錄“就可以了
最後記得把ApacheISC DNS restart,就可以用了

參考資料

安裝Apache PHP及MySQL Server

發表迴響