Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2
ã“ã®æ–‡æ›¸ã§ã¯åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’ã©ã‚“ãªã¨ã〠ã©ã†ã‚„ã£ã¦ä½¿ã†ã‹ã‚’説明ã—ã¾ã™ã€‚
IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§ã¯ã€å¿œç”ã™ã‚‹ ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¸ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’決定ã™ã‚‹ãŸã‚ã« IP アドレスを使用ã—ã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ãれãžã‚Œã®ãƒ›ã‚¹ãƒˆã«å€‹ã€…ã« IP アドレスãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚ã“れã«å¯¾ã—ã¦åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§ã¯ã€ クライアント㌠HTTP ヘッダã®ä¸€éƒ¨ã¨ã—ã¦ãƒ›ã‚¹ãƒˆåを告ã’る〠ã¨ã„ã†ã“ã¨ã«ä¾å˜ã—ã¾ã™ã€‚ã“ã®æŠ€è¡“ã§åŒä¸€ IP アドレスを異ãªã‚‹å¤šæ•°ã®ãƒ›ã‚¹ãƒˆã§å…±æœ‰ã—ã¦ã„ã¾ã™ã€‚
åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯é€šå¸¸å˜ç´”ã§ã€ãれãžã‚Œã®ãƒ›ã‚¹ãƒˆå㨠ãれã«å¯¾å¿œã™ã‚‹æ£ç¢ºãª IP アドレスを DNS ã§è¨å®šã—ã€ç•°ãªã‚‹ ホストåを区別ã™ã‚‹ã‚ˆã†ã« Apache HTTP サーãƒã‚’è¨å®šã™ã‚‹ã ã‘ã§ã™ã€‚ ã•らã«ã€åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯ä¸è¶³ã™ã‚‹ IP アドレスã®éœ€è¦ã‚’ç·©å’Œã—ã¾ã™ã€‚ã—ãŸãŒã£ã¦ã€IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’ é¸æŠžã™ã¹ã特定ã®ç†ç”±ãŒãªã‘れã°åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使ã†ã¹ãã§ã™ã€‚ IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使用ã™ã‚‹ã“ã¨ã‚’考慮ã™ã‚‹ç†ç”±ã¨ã—ã¦ã€
関連モジュール | 関連ディレクティブ |
---|---|
åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使ã†ã«ã¯ã€ãã®ãƒ›ã‚¹ãƒˆã¸ã®
リクエストをå—ã‘付ã‘るサーãƒã® IP アドレス (ã‚‚ã—ã‹ã—ãŸã‚‰ãƒãƒ¼ãƒˆã‚‚)
を指定ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
ã“れ㯠NameVirtualHost
ディレクティブã§è¨å®šã—ã¾ã™ã€‚通常ã€NameVirtualHost
ã§
*
ã®å±žæ€§ã‚’使ã£ã¦ã‚µãƒ¼ãƒã®å…¨ã¦ã® IP アドレスを使ã„ã¾ã™ã€‚
(例ãˆã° SSL ã®ä½¿ç”¨ãªã©ã§) 複数ã®ãƒãƒ¼ãƒˆã‚’使ã†ã“ã¨ã‚’計画ã—ã¦ã„ã‚‹ã®ã§ã‚れã°ã€
引数㫠*:80
ã®ã‚ˆã†ã«ãƒãƒ¼ãƒˆã‚‚å«ã‚るよã†ã«ã—ã¦ãã ã•ã„。
NameVirtualHost
ディレクティブã§
IP アドレスを書ã„ã¦ã‚‚ã€
自動的ã«ã‚µãƒ¼ãƒãŒãã® IP アドレスをリッスンã™ã‚‹ã¨ã„ã†ã“ã¨ã¯ãªã„ã“ã¨ã«
注æ„ã—ã¦ãã ã•ã„。詳細ã¯ã€ŒApache ã®ä½¿ã†ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨
ãƒãƒ¼ãƒˆã‚’è¨å®šã™ã‚‹ã€ã‚’èªã‚“ã§ãã ã•ã„。ã•らã«ã€ã“ã“ã§æŒ‡å®šã•れãŸ
IP アドレスã¯å…¨ã¦ã‚µãƒ¼ãƒã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェースã¨é–¢é€£ä»˜ã‘られã¦
ã„ãªã‘れã°ãªã‚Šã¾ã›ã‚“。
次ã¯ã€æ‰±ã†ãƒ›ã‚¹ãƒˆãれãžã‚Œã«å¯¾ã—㦠<VirtualHost>
ブãƒãƒƒã‚¯ã‚’
作æˆã—ã¦ãã ã•ã„。<VirtualHost>
ディレクティブã®å¼•数㯠NameVirtualHost
ディレクティブã®å¼•æ•°ã¨åŒã˜ã«ã—ã¦ãã ã•ã„ (ã™ãªã‚ã¡ã€IP アドレスã‹ã€å…¨ã¦ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’æ„味ã™ã‚‹
*
)。ãれãžã‚Œã® <VirtualHost>
ディレクティブã®ä¸ã«ã¯ã€æœ€ä½Žé™ã€ã©ã®ãƒ›ã‚¹ãƒˆãŒæ‰±ã‚れるã‹ã‚’示㙠ServerName
ディレクティブã¨ã€
ãã®ãƒ›ã‚¹ãƒˆç”¨ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãŒãƒ•ァイルシステム上ã®ã©ã“ã«ã‚ã‚‹ã‹ã‚’示ã™
DocumentRoot
ディレクティブを
書ãå¿…è¦ãŒã‚りã¾ã™ã€‚
æ—¢ã«ã‚るウェブサーãƒã«ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’è¿½åŠ ã™ã‚‹å ´åˆã€
æ—¢å˜ã®ã‚¦ã‚§ãƒ–サーãƒã«å¯¾ã—ã¦ã‚‚ <VirtualHost>
ブãƒãƒƒã‚¯ã‚’作らãªã‘れã°ãªã‚Šã¾ã›ã‚“。ã“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®
ServerName
ã¨
DocumentRoot
ã¯ã€ã‚°ãƒãƒ¼ãƒãƒ«ãª ServerName
ã¨
DocumentRoot
ã¨åŒã˜ã‚‚ã®ã«ã—ã¾ã™ã€‚ã¾ãŸã€ã“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’è¨å®šãƒ•ァイルã®ä¸ã§
å…ˆé ã«ç½®ã„ã¦ã€ãƒ‡ãƒ•ォルトホストã¨ã—ã¦å‹•作ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚
ãŸã¨ãˆã°ã€www.domain.tld
ã‚’å‹•ã‹ã—ã¦ã„ã¦ã€
ã•らã«ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ www.otherdomain.tld
ã‚’è¿½åŠ ã™ã‚‹ã¨ã—ã¾ã—ょã†ã€‚ã“ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã¯åŒä¸€ IP を指ã—ã¦ã„ã‚‹ã¨ã—ã¾ã™ã€‚
ãã®ã‚ˆã†ãªå ´åˆã¯ã€httpd.conf
ã«ä»¥ä¸‹ã®ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ã‚’è¿½åŠ ã™ã‚‹ã ã‘ã§ã™
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>
<VirtualHost *:80>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>
NameVirtualHost
åŠã³
VirtualHost
ã®ã©ã¡ã‚‰ã®å ´åˆã‚‚ã€
* ã®éƒ¨åˆ†ã«ã¯æ˜Žç¤ºçš„ã« IP アドレスを指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
例ãˆã°ã€ã‚ã‚‹ IP アドレスã§ã¯åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使ã„ãŸã„一方ã§ã€
別㮠IP アドレスã§ã¯ã€ä»–ã® IP ベースã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚„
別組ã®åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã‚’使ã„ãŸã„å ´åˆã€
ãã†è¨å®šã™ã‚‹ã“ã¨ã«ãªã‚‹ã§ã—ょã†ã€‚
複数ã®åå‰ã§ã‚µãƒ¼ãƒã‚¢ã‚¯ã‚»ã‚¹ãŒã§ãるよã†ã«ã—ãŸã„ã“ã¨ã‚‚多ã„ã§ã—ょã†ã€‚
ã“ã®ã‚ˆã†ãªã“ã¨ã¯ã€ServerAlias
ディレクティブを <VirtualHost>
セクションã«è¨˜è¿°ã™ã‚‹ã“ã¨ã§å®Ÿç¾ã§ãã¾ã™ã€‚
例ãˆã°ä¸Šè¨˜ã® <VirtualHost>
ã®ä¾‹ã§ã‚れã°ã€
次ã®ã‚ˆã†ã«ä¸€è¦§ã«æŒ™ã’られãŸåå‰ãŒã€
ユーザãŒåŒä¸€ã®ã‚¦ã‚§ãƒ–サイトã¨ã—ã¦ç›®ã«ã—ã¦ä½¿ç”¨ã§ãるサーãƒåã§ã‚ã‚‹ã€
㨠ServerAlias
ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã§æŒ‡å®šã§ãã¾ã™ã€‚
ServerAlias domain.tld *.domain.tld
domain.tld
ドメインã¸ã®å…¨ã¦ã®ãƒ›ã‚¹ãƒˆã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯
www.domain.tld
ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒå‡¦ç†ã—ã¾ã™ã€‚
åå‰ã‚’マッãƒã•ã›ã‚‹ãŸã‚ã«ã€ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰æ–‡å— * ã‚„ ?
を使用ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ã‚‚ã¡ã‚ã‚“æ€ã„ã¤ãã®åå‰ã‚’作ã£ã¦ã€
ServerName
ã‚„
ServerAlias
ã«ãã®åå‰ã‚’書ãã¨ã„ã£ãŸã“ã¨ã¯ã§ãã¾ã›ã‚“。ã¾ãšã¯ã€
ã“れらã®åå‰ãŒ サーãƒã«ä»˜ã‘られ㟠IP アドレスã«ãƒžãƒƒãƒ—ã•れるよã†ã«
DNS サーãƒã‚’é©åˆ‡ã«è¨å®šã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。
最後ã«ã€<VirtualHost>
コンテナã®ä¸ã«
ä»–ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を書ãã“ã¨ã§ã€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®è¨å®šã‚’ç´°ã‹ã調整
ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
ã»ã¨ã‚“ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ã“れらã®ã‚³ãƒ³ãƒ†ãƒŠã«è¨ç½®ã™ã‚‹ã“ã¨ãŒã§ãã¦ã€
変更点ã¯ãã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¯¾ã—ã¦ã®ã¿æœ‰åйã«ãªã‚Šã¾ã™ã€‚
ã©ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–を書ãã“ã¨ãŒã§ãã‚‹ã‹ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–㮠コンテã‚スト ã‚’
調ã¹ã¦ãã ã•ã„。主サーãƒã‚³ãƒ³ãƒ†ã‚スト
(<VirtualHost>
コンテナã®å¤–) ã®è¨å®šç”¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã¯ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã§ã®è¨å®šã§
上書ãã•れãªã„å ´åˆã®ã¿ä½¿ç”¨ã•れã¾ã™ã€‚
ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒæ¥ã‚‹ã¨ã€ã‚µãƒ¼ãƒã¯ã¾ãšæœ€åˆã« <NameVirtualHost>
ã«ãƒžãƒƒãƒã™ã‚‹ IP アドレスã‹ã©ã†ã‹ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚マッãƒã™ã‚Œã°
マッãƒã—㟠IP アドレス㮠<VirtualHost>
ã®ãれãžã‚Œã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ä¸ã‹ã‚‰
ServerName
ã‹
ServerAlias
ã«è¦æ±‚ã•れãŸãƒ›ã‚¹ãƒˆåãŒã‚ã‚‹ã‹æŽ¢ã—ã¾ã™ã€‚
見ã¤ã‹ã‚Œã°ãã®ã‚µãƒ¼ãƒç”¨ã®è¨å®šã‚’使ã„ã¾ã™ã€‚マッãƒã™ã‚‹ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ
ãŒè¦‹ã¤ã‹ã‚‰ãªã‘れã°ã€ãƒžãƒƒãƒã—㟠IP アドレスã®
ãƒªã‚¹ãƒˆã®æœ€åˆã«ã‚ã‚‹ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ ãŒä½¿ã‚れã¾ã™ã€‚
çµæžœã¨ã—ã¦ã€ãƒªã‚¹ãƒˆã®æœ€åˆã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒ デフォルト ã®
ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ãªã‚Šã¾ã™ã€‚IP アドレス㌠NameVirtualHost
ディレクティブã«ãƒžãƒƒãƒã—ãŸå ´åˆã¯ã€ãƒ¡ã‚¤ãƒ³ã®ã‚µãƒ¼ãƒ ã®
DocumentRoot
ã¯æ±ºã—ã¦ä½¿ã‚れã¾ã›ã‚“
ã©ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«ã‚‚マッãƒã—ãªã„リクエストã«å¯¾ã—ã¦ã€
特別ãªè¨å®šã‚’ã—ãŸã„ã®ã§ã‚れã°ã€è¨å®šãƒ•ァイルä¸ã®æœ€åˆã®
<VirtualHost>
コンテナã«ãれを記述ã—ã¦ãã ã•ã„。
以å‰è¿°ã¹ãŸã‚ˆã†ã«ã€åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆãŒæ£ã—ã動作ã™ã‚‹ ãŸã‚ã«å¿…è¦ãªæƒ…å ±ã‚’é€ã£ã¦ã“ãªã„クライアントãŒä¾ç„¶ã¨ã—ã¦å˜åœ¨ã—ã¦ã„ã¾ã™ã€‚ ãã®ã‚ˆã†ãªã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å¯¾ã—ã¦ã¯ã€è©²å½“ã™ã‚‹ IP アドレスã«ã¤ã„ã¦ã€ 一番最åˆã«è¨å®šã•れã¦ã„ã‚‹ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ (プライマリã®åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ) ã‹ã‚‰ãƒšãƒ¼ã‚¸ãŒé€ã‚Šè¿”ã•れã¾ã™ã€‚
「å¤ã„ã€ã¨è¡¨ç¾ã—ã¦ã„ã‚‹å ´åˆã€æœ¬å½“ã«å¤ã„ã“ã¨ã‚’æ„味ã—ã¦ä½¿ã£ã¦ã„ã¾ã™ã€‚
ä¸å¹¸ã«ã—ã¦ä»Šç¾åœ¨ã§ã‚‚ã“ã®ã‚ˆã†ãªå¤ã„ブラウザã«éé‡ã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚
ç¾åœ¨ã®ãƒ–ラウザã¯å…¨ã¦ã€åå‰ãƒ™ãƒ¼ã‚¹ã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã«å¿…è¦ãª
Host
ヘッダをé€ã‚Šã¾ã™ã€‚
ServerPath
ディレクティブã§å¯¾å‡¦ãŒå¯èƒ½ã§ã™ã€‚ã¡ã‚‡ã£ã¨ä¸æ ¼å¥½ã§ã™ã‘れã©ã‚‚。
è¨å®šä¾‹
NameVirtualHost 111.22.33.44
<VirtualHost 111.22.33.44>
ServerName www.domain.tld
ServerPath /domain
DocumentRoot /web/domain
</VirtualHost>
ã“ã®ä¾‹ã«ã¯ã©ã†ã„ã†æ„味ãŒã‚ã‚‹ã§ã—ょã†ã‹? ã“れã¯
"/domain
" ã§å§‹ã¾ã‚‹ URI ã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã™ã¹ã¦ã€
ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ www.domain.tld
ã§å‡¦ç†ã•れるã€
ã¨ã„ã†æ„味ã§ã™ã€‚ã¤ã¾ã‚Šã€ã™ã¹ã¦ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§
http://www.domain.tld/domain/
ã§ã‚¢ã‚¯ã‚»ã‚¹ã§ãるページãŒã€
Host:
ヘッダをé€ã£ã¦ãるクライアントã§ã‚れã°
http://www.domain.tld/
ã¨ã—ã¦ã‚‚アクセスã§ãã‚‹ã€
ã¨ã„ã†æ„味ã§ã™ã€‚
ã“れãŒå‹•作ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹ã«ã¯ã€
プライマリã®ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒšãƒ¼ã‚¸ã«
http://www.domain.tld/domain/
ã¸ã®ãƒªãƒ³ã‚¯ã‚’è¨ç½®ã—ã¾ã™ã€‚
ãã—ã¦ã€ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆã®ãƒšãƒ¼ã‚¸ã§ã¯ã€ç´”粋ãªç›¸å¯¾ãƒªãƒ³ã‚¯ (例:
"file.html
" ã‚„ "../icons/image.gif
")ã€
ã‚ã‚‹ã„㯠/domain/
ã§å§‹ã¾ã‚‹ãƒªãƒ³ã‚¯ (例:
"http://www.domain.tld/domain/misc/file.html
" ã‚„
"/domain/misc/file.html
") ã ã‘ã‚’è¨ç½®ã—ã¾ã™ã€‚
ã“れã«ã¯ã€å¹¾åˆ†ã‹ã®è¦å¾‹ãŒå¿…è¦ã¨ãªã‚Šã¾ã™ãŒã€ ã“ã®ã‚ˆã†ãªã‚¬ã‚¤ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’å¿ å®Ÿã«å®ˆã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ãŸã„ã¦ã„ã®å ´åˆã€ ã™ã¹ã¦ã®ãƒ–ラウザ㧠― æ–°ã—ã„ブラウザã§ã‚‚å¤ã„ã‚‚ã®ã§ã‚‚ ― 作æˆã—ãŸãƒšãƒ¼ã‚¸ãŒè¦‹ãˆã‚‹ã¨ã„ã†ã“ã¨ã‚’ä¿è¨¼ã—ã¾ã™ã€‚