メニュー

プロダクト



プログラミング


  • Java
    • Web 技術
    • メール技術
      • JavaMail
      • Apache James Mailet
    • Web フレームワーク
      • Jakarta Struts
      • Jakarta Velocity
      • Jakarta Tapestry
      • WebWork2
      • Jakarta Jetspeed
      • Apache Cocoon 2
    • DB 技術
      • JDBC
      • Hibernate
      • Apache Torque
    • DI (IoC) コンテナ
      • Spring Framework
      • Seasar2
      • Apache HiveMind
      • PicoContainer
    • 属性プログラミング
    • テスティング
      • JUnit
      • Jakarta Cactus
      • DBUnit
      • djUnit
      • FitNesse
    • ロギング
      • Apache Log4j
      • Jakarta Commons logging
    • 分散コンポーネント技術
      • EJB
    • リッチ クライアント
      • Java Web Start
    • GUI
    • XML Web サービス
      • Apache Axis
      • Apache SOAP
    • アプリケーション管理
    • トランザクション
    • 開発環境
      • Apache Ant
      • Apache Maven
      • Apache Maven2
    • Eclipse
    • Tips
  • .NET Framework
  • PHP
  • XML
    • SmartDoc
  • 正規表現
  • VB, VBA, VBScript, ASP
  • C/C++

DBMS


  • MySQL
  • PostgreSQL
  • Oracle
  • Microsoft SQL Server
  • HSQLDB
  • SQLite
  • Apache Xindice

アプリケーション サーバ



OS



バージョン管理システム



未整理


最近更新したページ
このウィキの読者になる
更新情報がメールで届きます。
このウィキの読者になる

Apache HTTP Server/Tips/Name Based VirtualHost

バーチャルホストとは、異なるドメイン名を持つ複数のサイトを 1 つの Apache で公開したり、異なる IP を持つ複数のサイトを 1 つの Apache で公開したりする仕組みです。前者を名前ベースのバーチャルホスト、後者をIP ベースのバーチャルホストと言います。

ここでは名前ベースのバーチャルホストの設定の仕方を説明します。

名前ベースのバーチャルホスト


もうちょっと詳しく書きます。

例えば www.foo.com というドメインを持つサイトと www.bar.com というドメインを持つサイトを公開したいとします。もちろん、両方ともポート 80 で公開したいです。コストを抑えたいので使用する PC は 1 台にし、ネットワークカードも 1 枚だけです。

別々のサイトを構築したいからと言って Apache を 2 つインストールしても、ポート 80 を使用できるのは片方だけです。片方のポートをずらすと、どちらかをポート 80 以外で公開しなければならなくなり、嫌です。両方のサイトを 1 つの Apache で別々に公開したい、そういう場合に使用するのがバーチャルホストです。

設定


NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.foo.com
    ServerAdmin admin@foo.com
    DocumentRoot "C:\public-html\www.foo.com"
    ErrorLog logs/foo-error.log
    CustomLog logs/foo-access.log common
</VirtualHost>

<VirtualHost *:80>
    ServerName www.bar.com
    ServerAdmin admin@bar.com
    DocumentRoot "C:\public-html\www.bar.com"
    ErrorLog logs/bar-error.log
    CustomLog logs/bar-access.log common
</VirtualHost>

NameVirtualHost ディレクティブで、アクセスを受け付ける IP アドレス (とポート) を指定します。 * は全ての IP アドレスへのアクセスを受け付ける指定です。通常はこれで良いです。ポートは明示的に指定する必要があります。

<VirtualHost> ディレクティブでドメイン毎 (ServerName 毎) に設定を行います。 <VirtualHost> ディレクティブで囲んだ範囲内にホスト毎の設定を記述します。 <Location> や <Directory> ディレクティブなども <VirtualHost> ディレクティブの中に記述します。

これで、 http://www.foo.com/ に対するアクセスは C:\public-html\www.foo.com ディレクトリ以下が公開され、 http://www.bar.com/ に対するアクセスは C:\public-html\www.bar.com ディレクトリ以下が公開されます。
2005年11月17日(木) 18:37:41 Modified by uguuxp




スマートフォン版で見る