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

Simple Application Server:Apache のバーチャルホストを設定して複数のウェブサイトをホストする

最終更新日:Jun 21, 2026

Simple Application Server 上でビジネスごとに複数の独立したウェブサイトをデプロイする場合、Apache 設定ファイルを変更することで、複数のドメイン名を異なるウェブサイトに指定できます。これにより、サーバーリソースを最大限に活用し、管理と運用の効率を向上させることができます。

前提条件

  • Linux、Apache、MySQL、PHP (LAMP) アプリケーションイメージから Simple Application Server が作成されていること。詳細については、「LAMP 開発環境の構築」をご参照ください。

  • 複数のドメイン名が登録されていること。Alibaba Cloud でドメイン名を登録する方法の詳細については、「ジェネリックドメイン名の登録」をご参照ください。

事前準備

この例では、以下のリソースを使用します:

  • サーバー: LAMP 7.4 アプリケーションイメージから作成された Simple Application Server。

  • 2 つのテストウェブサイト: test01 および test02

  • 2 つのテストドメイン名: test01.example.com および test02.example.com

このトピックで説明する設定を完了すると、以下の操作を実行できます:

  • test01.example.com を使用して test01 ウェブサイトにアクセスする。

  • test02.example.com を使用して test02 ウェブサイトにアクセスする。

実際の操作では、これらのサンプルリソースを独自のリソースに置き換える必要があります。

ステップ 1: テストウェブサイトの作成

複数のウェブサイトのコードがすでにサーバー上のウェブサイトのルートディレクトリに保存されている場合は、このステップをスキップしてください。

  1. LAMP サーバーに接続します。

    詳細については、「Linux インスタンスへの接続」をご参照ください。

  2. 次のコマンドを実行して、ウェブサイトのルートディレクトリに移動します。

    ウェブサイトのルートディレクトリは、Simple Application Server で使用される LAMP アプリケーションイメージの LAMP バージョンによって異なります。

    • サーバーで LAMP 7.4 アプリケーションイメージを使用する場合、ウェブサイトのルートディレクトリは /data/wwwroot/example です。

    • サーバーで LAMP 6.1.0 アプリケーションイメージを使用する場合、ウェブサイトのルートディレクトリは /home/www/htdocs です。

    この例では、LAMP 7.4 アプリケーションイメージを使用します。したがって、次のコマンドを実行してウェブサイトのルートディレクトリに移動します:

    cd /data/wwwroot/example
  3. 次のコマンドを順に実行して、2 つのサブディレクトリを作成します。

    サブディレクトリは、ウェブサイトのコードを保存するために使用されます。

    sudo mkdir test01
    sudo mkdir test02
  4. 次のコマンドを実行して test01 サブディレクトリに移動します。test01 サブディレクトリに index.html という名前のファイルを作成し、編集します。

    1. test01 サブディレクトリに移動します。

      cd /data/wwwroot/example/test01/
    2. 次のコマンドを実行して index.html ファイルを作成します:

      sudo vi index.html
    3. I キーを押して編集モードに入り、次のテスト情報をファイルに追加します:

      Test page 01
    4. Esc キーを押し、:wq と入力してから Enter キーを押して、ファイルを保存して閉じます。

  5. test02 サブディレクトリに移動し、index.html ファイルを作成して編集します。

    1. 次のコマンドを実行して test02 サブディレクトリに移動します:

      cd /data/wwwroot/example/test02/
    2. 次のコマンドを実行して index.html ファイルを作成します:

      sudo vi index.html
    3. I キーを押して編集モードに入り、次のテスト情報をファイルに追加します:

      Test page 02
    4. Esc キーを押し、:wq と入力してから Enter キーを押して、ファイルを保存して閉じます。

ステップ 2: Apache 設定ファイルの変更

  1. httpd.conf 設定ファイルを変更します。

    1. 次のコマンドを実行して httpd.conf ファイルを開きます:

      sudo vi /etc/httpd/conf/httpd.conf
    2. I キーを押して編集モードに入り、設定を変更します。

      次の設定を見つけます:

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

      #Include conf/extra/httpd-vhosts.conf 行の先頭にある # を削除します。

      この行は次のようになります: Include conf/extra/httpd-vhosts.conf

    3. Esc キーを押し、:wq と入力してから Enter キーを押して、ファイルを保存して閉じます。

  2. vhosts.conf 設定ファイルを変更します。

    1. 次のコマンドを実行して、vhosts.conf 設定ファイルを開きます:

      sudo vi /etc/httpd/conf.d/vhost.conf
    2. I キーを押して編集モードに入り、設定を変更します。

      ファイル内の <VirtualHost *:80></VirtualHost> タグで囲まれたデフォルト設定をコメントアウトし、複数のドメイン名を手動で追加する必要があります。

      1. デフォルトの設定情報をコメントアウトします。次のコードは、デフォルトの Apache バーチャルホスト設定ファイル (httpd-vhosts.conf) のコメントアウトされた内容です:

        #<VirtualHost *:80>
        #    ServerAdmin webmaster@dummy-host.example.com
        #    DocumentRoot "/usr/local/apache/docs/dummy-host.example.com"
        #    ServerName dummy-host.example.com
        #    ServerAlias www.dummy-host.example.com
        #    ErrorLog "logs/dummy-host.example.com-error_log"
        #    CustomLog "logs/dummy-host.example.com-access_log" common
        #</VirtualHost>
        #<VirtualHost *:80>
        #    ServerAdmin webmaster@dummy-host2.example.com
        #    DocumentRoot "/usr/local/apache/docs/dummy-host2.example.com"
        #    ServerName dummy-host2.example.com
        #    ErrorLog "logs/dummy-host2.example.com-error_log"
        #    CustomLog "logs/dummy-host2.example.com-access_log" common
        #</VirtualHost>
      2. ファイルの末尾に次の設定を追加します:

        <VirtualHost *:80>
             DocumentRoot "/data/wwwroot/example/test01"
             ServerName test01.example.com
        </VirtualHost>
        
        <VirtualHost *:80>
             DocumentRoot "/data/wwwroot/example/test02"
             ServerName test02.example.com
        </VirtualHost>
        • DocumentRoot: ウェブサイトのディレクトリ。このパラメーターは DocumentRoot "<ウェブサイトのディレクトリ>" のフォーマットで指定します。

        • ServerName: ドメイン名。このパラメーターは ServerName <ドメイン名> のフォーマットで指定します。

  • Esc キーを押し、:wq と入力して Enter キーを押し、ファイルを保存して閉じます。

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

    sudo systemctl restart httpd
  • ステップ 3:ドメイン名のバインド

    この例で使用する 2 つのテストドメイン名については、ご利用の Windows コンピューターの hosts ファイルに、これらのドメイン名と LAMP サーバーのパブリック IP アドレスとのマッピングを追加する必要があります。

    説明

    ウェブサイトの設定に実際のドメイン名を使用する場合は、このステップをスキップしてください。複数のドメイン名を LAMP サーバーにバインドする必要があります。詳細については、「ドメイン名の追加と解決」をご参照ください。ドメイン名がバインドされると、そのドメイン名を使用して対応するウェブサイトにアクセスできます。

    1. C:\Windows\System32\drivers\etc ディレクトリに移動します。

    2. バックアップのために hosts ファイルをコピーします。

      テスト完了後に hosts ファイルを初期状態に復元できるように、hosts - copy ファイルを保持しておきます。

    3. hosts ファイルを変更します。

      hosts ファイルの末尾に次の内容を追加します。

      <Public IP address of the simple application server> test01.example.com
      <Public IP address of the simple application server> test02.example.com
    4. Windows のデスクトップに戻り、コマンドプロンプトを管理者として実行します。

    5. コマンドプロンプトウィンドウで次のコマンドを実行して、hosts ファイルの新しい設定をすぐに有効にします。

      ipconfig /flushdns

    手順4:紐付けられたドメイン名でのウェブサイトへのアクセス

    Windows コンピューターのブラウザを使用して、テストウェブサイトにアクセスします。

    • test01.example.com にアクセスします。ページに Test page 01 が表示されます。

    • test02.example.com にアクセスします。ページに Test page 02 が表示されます。

    参考資料

    ドメイン名に HTTPS アクセスを設定することで、データ伝送プロトコルを HTTP から HTTPS へ低コストで変換できます。これにより、ウェブサイトの認証と暗号化データ伝送が実装され、伝送中のデータ改ざんや情報漏洩を防止します。詳細については、以下のトピックをご参照ください: