[分享]Apache虛擬伺服器簡易教學



贊助商連結


頁 : [1] 2

uason
2005-03-12, 03:31 PM
A.為何要使用多網域名稱.有何好處?
Q.一來可增加網站的安全性.二來方便管理.

以下是我的範例:
網路狀況:使用IP分享器連線ADSL.
目前使用AppServ2.4.3版本內容如下:
---------------------------------
Apache 1.3.3
PHP 4.3.10
MySQL 4.1.8
Zend Optimizer2.5.7
phpMyAdmin 2.6.1-rc2
---------------------------------

開啟 httpd.conf 設定檔

先找底下這兩行設定 , 這兩行要打開 , 請把開頭的 # 拿掉

LoadModule vhost_alias_module libexec/mod_vhost_alias.so

AddModule mod_vhost_alias.c


最下方加入底下的設定 ,

1.NameVirtualHost 輸入你內網的IP.例192.168.0.254

2.建立多網域

<VirtualHost 192.168.0.254> ====>這是用內網連入時的目錄
DocumentRoot C:/AppServ/www
ServerName 192.168.0.254
ErrorLog logs/192.168.0.254-error_log
CustomLog logs/192.168.0.254-access_log common
</VirtualHost>

<VirtualHost 192.168.0.254> ====>這是用外部IP連入時的目錄假設為123.123.123.123
DocumentRoot C:/AppServ/www/123.123.123.123 由外部連線至123.123.123.123時的預設目錄.
ServerName 123.123.123.123
ErrorLog logs/123.123.123.123-error_log
CustomLog logs/123.123.123.123-access_log common
</VirtualHost>

<VirtualHost 192.168.0.254> ====>這是用網域名稱1連入時的目錄假設為xxx.xxx.xxx
DocumentRoot C:/AppServ/www/xxx.xxx.xxx 由外部連線至 xxx.xxx.xxx 時的預設目錄.
ServerName xxx.xxx.xxx
ErrorLog logs/xxx.xxx.xxx-error_log
CustomLog logs/xxx.xxx.xxx-access_log common
</VirtualHost>

<VirtualHost 192.168.0.254> ====>這是用網域名稱2連入時的目錄假設為yyy.xxx.xxx
DocumentRoot C:/AppServ/www/yyy.xxx.xxx 由外部連線至 yyy.xxx.xxx 時的預設目錄.
ServerName yyy.xxx.xxx
ErrorLog logs/yyy.xxx.xxx-error_log
CustomLog logs/yyy.xxx.xxx-access_log common
</VirtualHost>

如有其他網域.可再增加.
編輯完後存檔,再restart apache就可以了.

贊助商連結


hpo14
2005-03-12, 04:28 PM
幫你補充...
ErrorLog logs/yyy.xxx.xxx-error_log
CustomLog logs/yyy.xxx.xxx-access_log common
上面這兩行..
如果沒有先建立該文件..
則restart apache時...會失敗..
如無需要建立log檔....只要在該行前面加上#即可

yaes5202
2005-03-24, 08:39 PM
感謝您的教學..
小弟有幾個問題請教~
1.我是用固定ip~~看到大大的教學有許多192.xxx.xx.x看不太懂 :jump2:
2.我使用linux mdk也可以設定嗎?
3.
我的網域abc.com.tw 想要有2個分類mail.abc.com.tw 和test.abc.com.tw
是不是apache設定完...dns也要設定呢??如果是的話~要弄什麼?別名?主機??
我有去鳥哥linux那邊看~但是對純文字較看不懂~可否請大大交我一下~
謝謝!!

uason
2005-03-24, 08:55 PM
感謝您的教學..
小弟有幾個問題請教~
1.我是用固定ip~~看到大大的教學有許多192.xxx.xx.x看不太懂 :jump2:
2.我使用linux mdk也可以設定嗎?
3.
我的網域abc.com.tw 想要有2個分類mail.abc.com.tw 和test.abc.com.tw
是不是apache設定完...dns也要設定呢??如果是的話~要弄什麼?別名?主機??
我有去鳥哥linux那邊看~但是對純文字較看不懂~可否請大大交我一下~
謝謝!!

1.NameVirtualHost 輸入你內網的IP.例192.168.0.254
就是你的網路IP啊!!換成你的IP即可.

luo007
2005-05-26, 05:46 PM
A.為何要使用多網域名稱.有何好處?
Q.一來可增加網站的安全性.二來方便管理.

以下是我的範例:
網路狀況:使用IP分享器連線ADSL.
目前使用AppServ2.4.3版本內容如下:
---------------------------------
Apache 1.3.3
PHP 4.3.10
MySQL 4.1.8
Zend Optimizer2.5.7
phpMyAdmin 2.6.1-rc2
---------------------------------

開啟 httpd.conf 設定檔

先找底下這兩行設定 , 這兩行要打開 , 請把開頭的 # 拿掉

LoadModule vhost_alias_module libexec/mod_vhost_alias.so

AddModule mod_vhost_alias.c


最下方加入底下的設定 ,

1.NameVirtualHost 輸入你內網的IP.例192.168.0.254

2.建立多網域

<VirtualHost 192.168.0.254> ====>這是用內網連入時的目錄
DocumentRoot C:/AppServ/www
ServerName 192.168.0.254
ErrorLog logs/192.168.0.254-error_log
CustomLog logs/192.168.0.254-access_log common
</VirtualHost>

<VirtualHost 192.168.0.254> ====>這是用外部IP連入時的目錄假設為123.123.123.123
DocumentRoot C:/AppServ/www/123.123.123.123 由外部連線至123.123.123.123時的預設目錄.
ServerName 123.123.123.123
ErrorLog logs/123.123.123.123-error_log
CustomLog logs/123.123.123.123-access_log common
</VirtualHost>

<VirtualHost 192.168.0.254> ====>這是用網域名稱1連入時的目錄假設為xxx.xxx.xxx
DocumentRoot C:/AppServ/www/xxx.xxx.xxx 由外部連線至 xxx.xxx.xxx 時的預設目錄.
ServerName xxx.xxx.xxx
ErrorLog logs/xxx.xxx.xxx-error_log
CustomLog logs/xxx.xxx.xxx-access_log common
</VirtualHost>

<VirtualHost 192.168.0.254> ====>這是用網域名稱2連入時的目錄假設為yyy.xxx.xxx
DocumentRoot C:/AppServ/www/yyy.xxx.xxx 由外部連線至 yyy.xxx.xxx 時的預設目錄.
ServerName yyy.xxx.xxx
ErrorLog logs/yyy.xxx.xxx-error_log
CustomLog logs/yyy.xxx.xxx-access_log common
</VirtualHost>

如有其他網域.可再增加.
編輯完後存檔,再restart apache就可以了.

想請教一下:
我的運作環境如下,不知如何更改可以使用分享器後架站,因我只要接上分享器就只能在localhost看到網站,外部就連不進來了,我的虛擬IP 192.168.0.180
---------------------------------
appserv-win32-2.5.1
LeoBBSX050115
WinMySQLadmin ver 1.4
---------------------------------
我找不到你說的那一行字呢
LoadModule vhost_alias_module libexec/mod_vhost_alias.so

AddModule mod_vhost_alias.c

我只找到以下這些
# Example:
# LoadModule foo_module modules/mod_foo.so
#
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
#LoadModule speling_module modules/mod_speling.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule anon_auth_module modules/mod_auth_anon.so
#LoadModule dbm_auth_module modules/mod_auth_dbm.so
#LoadModule digest_auth_module modules/mod_auth_digest.so
#LoadModule digest_module modules/mod_digest.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule php5_module C:/AppServ/php/php5apache.dll


不知大大可否告知如何更改使我可以在分享器後架站,先行致謝..

uason
2005-05-26, 10:21 PM
你用的阿帕契版本跟我的不同.

你用的
---------------------------------
appserv-win32-2.5.1
LeoBBSX050115
WinMySQLadmin ver 1.4
---------------------------------
我用的
---------------------------------
Apache 1.3.3
PHP 4.3.10
MySQL 4.1.8
Zend Optimizer2.5.7
phpMyAdmin 2.6.1-rc2
---------------------------------

這模組找不到先跳過試試.
AddModule mod_vhost_alias.c

你接上IP分享器就只能在localhost看到網站
大概是沒開啟IP分享器的虛擬伺服器.
或是沒把防火牆的80 PORT打開.
以上供參考!

藍色番茄
2005-05-26, 11:22 PM
這模組找不到先跳過試試.
AddModule mod_vhost_alias.c

你接上IP分享器就只能在localhost看到網站
大概是沒開啟IP分享器的虛擬伺服器.
或是沒把防火牆的80 PORT打開.
以上供參考![/QUOTE]

大大求教~ 我的防火牆以開啟PORT 80, 使用的是固定IP, 也已申請了一個NO-IP的網址
外面連入可以正常的流覽網站, 但我區網內的電網卻無法以該網址連線流覽,
而以能輸入localhost 或內部網址192.168.1.12 才能正常流覽 此情況是否正常呢?

uason
2005-05-27, 01:45 AM
大大求教~ 我的防火牆以開啟PORT 80, 使用的是固定IP, 也已申請了一個NO-IP的網址
外面連入可以正常的流覽網站, 但我區網內的電網卻無法以該網址連線流覽,
而以能輸入localhost 或內部網址192.168.1.12 才能正常流覽 此情況是否正常呢?
那是因為你的ip分享器不支援 IP loop-back .
以下幾種方式可以幫你.
1.自己架DNS.
2.換一台ip分享器.
3.瀏覽器掛proxy.
4.修改hosts.

我建議使用3.或4.的方式比較簡單.
關於第3.種我想你因該會.我不多說了.
如果你是用W2K或XP在windows\system32\drivers\etc
裡頭有個檔:hosts
沒有附檔名...別畫蛇添足.
用記事本打開
在127.0.0.1 localhost下方加入一條
192.168.1.12(你的內網ip) xxx.xxx.xxx(你的網域名稱)
存檔...完工.
再開你的瀏覽器試試吧!

藍色番茄
2005-05-27, 11:39 AM
大大 非常感謝您的熱心幫忙~ 已經可以流覽了~ ^^

另有個問題想請教 若小弟已申請二個網址為 www.a.idv.tw 及 www.b.net
能否指向至自己架設的主機上二個不同的目錄內 對外在來說 是二個分別不同的網頁空間呢? 小弟資質駑鈍 :D 上面的討論有點看不懂 :|||: 還請大大能再個說明, 謝謝 :)

uason
2005-05-27, 02:36 PM
大大 非常感謝您的熱心幫忙~ 已經可以流覽了~ ^^

另有個問題想請教 若小弟已申請二個網址為 www.a.idv.tw 及 www.b.net
能否指向至自己架設的主機上二個不同的目錄內 對外在來說 是二個分別不同的網頁空間呢? 小弟資質駑鈍 :D 上面的討論有點看不懂 :|||: 還請大大能再個說明, 謝謝 :)
是的.在網路上是兩個個別的網站.
你可以設不同的目錄去架構.