すべてのプロダクト
Search
ドキュメントセンター

Simple Application Server:複数のドメイン名を用いた Apache の設定:異なるウェブサイトへのアクセス

最終更新日:Apr 02, 2026

単一のシンプルなアプリケーションサーバーで複数の独立したウェブサイトをホストする場合、Apache の仮想ホスト(Virtual Host)を構成することで、各ドメイン名を専用のウェブサイトディレクトリにルーティングできます。これにより、1 台のサーバーと 1 つの IP アドレスで複数の独立したサイトを提供可能となり、各ドメインは異なるドキュメントルート(DocumentRoot)を指すようになります。

実施内容:

  • 各サイトごとに個別のウェブサイトディレクトリを作成します

  • Apache の仮想ホスト構成を有効化します

  • ドメインごとに VirtualHost ブロックを追加し、そのドキュメントルートとサーバー名を指定します

  • Apache を再起動します

  • (任意)実際の登録済みドメイン名がまだない場合は、ローカル DNS オーバーライドによるテストを行います

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • Linux、Apache、MySQL、PHP(LAMP)アプリケーションイメージから作成されたシンプルなアプリケーションサーバー。設定手順については、「LAMP 開発環境の構築」をご参照ください。

  • 2 つ以上の登録済みドメイン名。Alibaba Cloud でドメイン名を登録するには、「汎用ドメイン名の登録」をご参照ください。

例として使用する環境

以下に示す手順では、下記のリソースを例として使用します。実際の環境に応じて、適宜値を置き換えてください。

リソース値の例
サーバーLAMP 7.4 アプリケーションイメージ
ウェブサイト 1test01test01.example.com
ウェブサイト 2test02test02.example.com

仕組み

Apache は名前ベースの仮想ホスティング(name-based virtual hosting)を採用しています。リクエストが到着すると、Apache は Host ヘッダーを読み取り、該当する VirtualHost ブロックへリクエストをルーティングします。各ブロックは、ドメイン名とウェブサイトディレクトリをマップします。このため、1 台のサーバーおよび 1 つの IP アドレスで複数の独立したウェブサイトを提供できます。

操作手順 1:ウェブサイトディレクトリの作成

ウェブサイトのコードが既にサーバーのウェブサイトルートディレクトリに格納されている場合は、このステップをスキップしてください。

  1. LAMP サーバーへの接続を行います。

  2. ウェブサイトのルートディレクトリに移動します。ルートディレクトリのパスは LAMP イメージのバージョンによって異なります。LAMP 7.4 の場合、次のコマンドを実行します。

  3. LAMP 7.4 アプリケーションイメージにおけるデフォルトのウェブサイトルートディレクトリは /data/wwwroot/example です。

  4. LAMP バージョンウェブサイトルートディレクトリ
    LAMP 7.4/data/wwwroot/example
    LAMP 6.1.0/home/www/htdocs
    cd /data/wwwroot/example/test02/
    cd /data/wwwroot/example/test01/
    cd /data/wwwroot/example/test01/
    sudo vi index.html
  5. 各ウェブサイト用のサブディレクトリを作成します。

    sudo mkdir test01
    sudo mkdir test02
  6. test01 用のテストページを作成します。

    cd /data/wwwroot/example/test01/
    sudo vi index.html

    I キーを押して編集モードに入り、以下の内容を入力した後、Esc キーを押し、:wq を入力して Enter キーを押して保存します。

    Test page 01
  7. test02 用のテストページを作成します。

    cd /data/wwwroot/example/test02/
    sudo vi index.html

    I キーを押して編集モードに入り、以下の内容を入力した後、Esc キーを押し、:wq を入力して Enter キーを押して保存します。

    Test page 02

    2 つのページは異なるコンテンツを含むため、各ドメインが正しいサイトにルーティングされることを確認できます。

操作手順 2:Apache 仮想ホストの構成

以下の 2 つの Apache 構成ファイルが関係します。

  • `httpd.conf` — Apache のメイン構成ファイル。ここで仮想ホストのインクルードを有効化します。

  • `vhost.conf` — 各ドメインの仮想ホストブロックを定義します。

2.1 仮想ホスト構成の有効化

  1. httpd.conf を開きます。

    sudo vi /etc/httpd/conf/httpd.conf
  2. 以下の行を探します。

    # Virtual hosts
    #Include conf/extra/httpd-vhosts.conf
  3. ##Include 行の先頭から削除し、次のように変更します。

    # Virtual hosts
    Include conf/extra/httpd-vhosts.conf

    以下の図は、変更後の行を示しています。httpd-vhosts.conf

  4. Esc キーを押し、:wq を入力して Enter キーを押して保存します。

2.2 仮想ホストブロックの追加

  1. vhost.conf を開きます。

    sudo vi /etc/httpd/conf.d/vhost.conf
  2. I キーを押して編集モードに入ります。ファイル内に既に存在するデフォルトの <VirtualHost *:80></VirtualHost> ブロックを、以下の図に示すようにコメントアウトします。默认虚拟主机信息

  3. ファイル末尾に、各ドメインごとの VirtualHost ブロックを追加します。

    パラメーター説明フォーマット
    DocumentRootウェブサイトディレクトリDocumentRoot "<ディレクトリパス>"
    ServerNameこの仮想ホストのドメイン名ServerName <ドメイン名>
    <VirtualHost *:80>
         DocumentRoot "/data/wwwroot/example/test01"
         ServerName test01.example.com
    </VirtualHost>
    
    <VirtualHost *:80>
         DocumentRoot "/data/wwwroot/example/test02"
         ServerName test02.example.com
    </VirtualHost>
  4. Esc キーを押し、:wq を入力して Enter キーを押して保存します。

2.3 Apache の再起動

以下のコマンドを実行して Apache を再起動します。

sudo systemctl restart httpd

操作手順 3(任意):テスト用ドメインをサーバーの IP アドレスにマップ

実際の登録済みドメイン名ではなくプレースホルダー(例:test01.example.com)を使用した場合のみ、このステップを実行してください。この手順では、ローカル Windows マシン上の DNS 解決を一時的にオーバーライドし、DNS レコードを設定せずに構成をテストできます。

実際のドメイン名を使用する場合は、代わりに LAMP サーバーにバインドしてください。手順については、「ドメイン名のバインドと解決」をご参照ください。その後、操作手順 4 に進んでください。

  1. C:\Windows\System32\drivers\etc に移動します。

  2. hosts ファイルをコピーしてバックアップを取ります。テスト後に元のファイルを復元できるよう、コピーしたファイルは保持してください。

  3. hosts ファイルを開き、以下の行を末尾に追加します。プレースホルダー部分は、ご利用のシンプルなアプリケーションサーバーのパブリック IP アドレスに置き換えてください。

    <シンプルなアプリケーションサーバーのパブリック IP アドレス> test01.example.com
    <シンプルなアプリケーションサーバーのパブリック IP アドレス> test02.example.com
  4. 管理者としてコマンドプロンプトを開き、DNS キャッシュをクリアします。

    ipconfig /flushdns

操作手順 4:構成の検証

ブラウザを開き、各ドメインにアクセスします。

  • test01.example.com — 以下の図に示すように、ページに Test page 01 が表示されます。test01

  • test02.example.com — 以下の図に示すように、ページに Test page 02 が表示されます。test02

各ドメインがそれぞれ固有のコンテンツを正しく読み込むことで、Apache がリクエストを正しい仮想ホストにルーティングしていることが確認できます。

次のステップ

ドメイン名に対して HTTPS を有効化するには、サーバーに SSL 証明書をインストールします。これにより、通信中のデータが暗号化され、改ざんや情報漏洩に対する保護が強化されます。