Sun WebServer 安裝手冊 Solaris Easy Access Server 版

url{} 區塊

在 Sun WebServer 1.0 中,虛擬主機的所有配置參數都集中放在 /etc/http/httpd.conf 檔案內的同一個地方,但在 Sun WebServer 2.0 中,只有虛擬主機的整體資訊才放在伺服器層級的配置檔案中,而各虛擬主機自己的特殊資訊則放在站台層級的配置檔案內。

將 Sun WebServer 1.0 的 url{} 區塊轉換成 2.0
  1. 利用 hthost 指令行公用程式在 2.0 伺服器內增加一個新的站台。

  2. 修改以 Sun WebServer 1.0 設定值或 Sun WebServer 2.0 同類設定值而建立的新配置檔案。

建立 2.0 網站
  1. 在目前的伺服器 (server1) 上增加一個站台 (widgets):


    # hthost add -i server1 -h widgets \
    	-s /var/http/server1/websites/widgets
    

    以上指令會在伺服器層級配置檔案 /etc/http/server1.httpd.conf 內加入以下設定:


    url //widgets {
    	site_enable 				"yes"
    	site_path							"/var/http/server1/websites/widgets"
    	site_config					"conf/widgets.site.conf"
    }

    此外還會在 /var/http/server1/websites/widgets/ 內建立一個新的站台,而 /var/http/server1/websites/widgets/conf/ 目錄內則會出現以下配置檔案:

    • widgets.site.conf

    • access.conf

    • realms.conf

    • map.conf

    • content.conf

    • servlets.properties

修改伺服器層級配置檔案

Sun WebServer 1.0 url{} 區塊內的大部份配置參數都可以放在站台層級配置檔案 widgets.site.conf 中,其中一個例外則是設定虛擬主機接聽用的通訊埠。每個虛擬主機均需設定其接收連線的 IP 位址與通訊埠。(此處與 1.0 不同,1.0 版的作法是將這些資訊放在 port{} 區塊內,並使用 hosts_supported 指令。)IP 位址與通訊埠合起來在 Sun WebServer 2.0 內稱為「連線端點」,所有網站都必須設定其連線端點(內定站台例外,因為內定站台會在所有的介面上接聽,因此不可 設定連線端點)。有關連線端點的詳細資訊,請參閱 httpd.conf (4)

設定網站連線端點
  1. 若要讓虛擬主機 widgets 在 IP 位址 129.128.127.126 的通訊埠 80 以及所有 IP 位址的通訊埠 1880 上接收連線,請在 /etc/http/server1.httpd.conf 內加上以下設定:


    url //widgets {
    	site_enable					 "yes"
    	site_path							 "/var/http/server1/websites/widgets"
    	site_config						"conf/widgets.site.conf"
    	conn_end_points		129.128.127.126:80:1880
    }

註解 -

IP 位址不設定在冒號 (:) 左邊,係內定於 HTTP 1.1 虛擬主機中的「所有 IP 位址」。請注意此處設定的所有連線端點都必須用 port{} 區塊加以對應。


修改站台層級配置檔案

Sun WebServer 1.0 url{} 區塊的大部份配置指令都可以直接複製到 Sun WebServer 2.0 站台層級配置 /var/http/server1/websites/widgets/conf/widgets.site.conf 內繼續使用,但以下情形例外:

對應

Sun WebServer 2.0 的所有 URL 對應設定都存放在另外一個檔案 map.conf 內。

轉換對應設定指令
  1. 假設 Sun WebServer 1.0 的 /etc/http/httpd.conf 檔案內有以下設定:


    url //widgets {
    	map 		/cgi-bin/			/var/http/shared/cgi-bin/			cgi
    }
  2. 請在 widgets 站台的 /var/http/server1/websites/widgets/conf/map.conf 檔案內加入以下這一行:


    map 		/cgi-bin/			/var/http/shared/cgi-bin/			cgi

mime_add

轉換 mime_add 指令
  1. 假設 Sun WebServer 1.0 的 /etc/http/httpd.conf 內含有以下設定:


    url //widgets {
    	mime_add 				"image/jpeg"					"JPG"
    }
  2. /var/http/server1/websites/widgets/conf/widgets.site.conf 內的 mime_file 指令註解去掉:


    url //widgets {
    	mime_file				"conf/mime.types"
    }
  3. 將以下新的 mime 對應設定加入 /var/http/server1/websites/widgets/conf/mime.types 檔案內:


    image/jpeg					JPG