*** バーチャルホストを試してみる [#e54621b4]
- バーチャルホストの設定方法としては、「IPベース」「Nameベース」「ポートベース」があります。ここでは、Nameベース・ポートベースで設定するその説明。
*** Nameベースによるアクセス切り替え [#jfa9d2cb]
- ここで説明するNameベースは、hosts ファイルで直接指定したローカル環境で閉じた開発などする場合です。
- 実ドメインのサイトを直接編集できないとき(普通そうですけどね)、ローカルの環境で開発とか検証を行いたい場合によくこの手法を使います。ようするに FQDN がクライアント側、サーバ側で解決していればいいだけの話です。なので内部DNSで解決してもよしだけどそれは敷居が高いので hosts ファイルベースが簡単という訳ですね。
- 下記の定義ファイルを /etc/httpd/conf.d/virtualhost-sea-bird.org.conf で作成します。作成し終わったら Apache を再起動します。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.sea-bird.org
ServerAdmin hoge@sea-bird.org
DocumentRoot "/var/www/sea-bird/html"
</VirtualHost>
<VirtualHost *:80>
ServerName any
<Location />
Order deny,allow
Deny from all
</Location>
</VirtualHost>
- Apacheが動作しているサーバの /etc/hosts に以下のように記述する。
127.0.0.1 www.sea-bird.org
- アクセスするクライアント、たとえば Windows のとき C:\Windows\System32\drivers\etc\hosts に以下のように記述する。
192.xxx.xxx.xxx www.sea-bird.org
- クライアント(Windows)から、http://www.sea-bird.org を実行する。
*** ポートベースによるアクセス切り替え [#a5262596]
- REST APIの開発とかだとNameベースでなくともよい場合、ポートベースによる指定が便利です。
- 下記の定義ファイルを /etc/httpd/conf.d/virtualhost-sea-bird.org.conf で作成します。作成し終わったら Apache を再起動します。
Listen 5000
NameVirtualHost 192.168.11.198:5000
<VirtualHost 192.168.11.198:5000>
ServerName test1
DocumentRoot "/vagrant/home"
</VirtualHost>
- クライアント(Windows)から、http://192.168.11.198:5000 を実行する。
*** IPベースによるアクセス切り替え [#i0584e67]
- その名のとおりIPベースですが、複数のethカードを積んでるっていうのは珍しいですが、ip addr コマンドを使用すると同じようなことができます。
- 下記の定義ファイルを /etc/httpd/conf.d/virtualhost-sea-bird.org.conf で作成します。作成し終わったら Apache を再起動します。
<VirtualHost 192.168.11.198:80>
ServerName test2
DocumentRoot "/vagrant/home"
</VirtualHost>
<VirtualHost 192.168.11.200:80>
ServerName test2
DocumentRoot "/vagrant/home"
</VirtualHost>
- アドレスを追加します。
# ip addr add 192.168.11.200/24 dev eth1
# ip addr show