シンプルなアプリケーションサーバーで異なるビジネス向けに複数の独立した Web サイトをデプロイする場合、Apache 構成ファイルを変更して、複数のドメイン名を異なる Web サイトにポイントできます。 これにより、サーバーリソースを最大限に活用し、管理と運用の効率を向上させることができます。
前提条件
Linux、Apache、MySQL、および PHP(LAMP)アプリケーションイメージからシンプルなアプリケーションサーバーが作成されます。 詳細については、「LAMP 開発環境を構築する」をご参照ください。
複数のドメイン名が登録されています。 Alibaba Cloud でのドメイン名の登録方法については、「汎用ドメイン名を登録する」をご参照ください。
環境の準備
この例では、次のリソースを使用します。
サーバー: LAMP 7.4 アプリケーションイメージから作成されたシンプルなアプリケーションサーバー。
2 つのテスト Web サイト:
test01とtest02。2 つのテストドメイン名:
test01.example.comとtest02.example.com。
このトピックで説明されている構成を完了すると、次の操作を実行できます。
test01.example.comを使用してtest01Web サイトにアクセスする。test02.example.comを使用してtest02Web サイトにアクセスする。
実際の操作では、これらのサンプルリソースを独自のリソースに置き換える必要があります。
ステップ 1: テスト Web サイトを作成する
複数の Web サイトのコードがサーバー上の Web サイトのルートディレクトリに既に保存されている場合は、この手順をスキップします。
LAMP サーバーに接続します。
詳細については、「Linux サーバーに接続する」をご参照ください。
次のコマンドを実行して、Web サイトのルートディレクトリに移動します。
Web サイトのルートディレクトリは、シンプルなアプリケーションサーバーで使用される LAMP アプリケーションイメージの LAMP バージョンによって異なります。
サーバーで LAMP 7.4 アプリケーションイメージを使用する場合、Web サイトのルートディレクトリは /data/wwwroot/example です。
サーバーで LAMP 6.1.0 アプリケーションイメージを使用する場合、Web サイトのルートディレクトリは /home/www/htdocs です。
この例では、LAMP 7.4 アプリケーションイメージを使用します。 したがって、次のコマンドを実行して Web サイトのルートディレクトリに移動します。
cd /data/wwwroot/example次のコマンドを順番に実行して、2 つのサブディレクトリを作成します。
サブディレクトリは、Web サイトのコードを保存するために使用されます。
sudo mkdir test01sudo mkdir test02test01 サブディレクトリに移動します。 test 01 サブディレクトリに index.html という名前のファイルを作成し、ファイルを編集します。
test01 サブディレクトリに移動します。
cd /data/wwwroot/example/test01/次のコマンドを実行して、
index.htmlファイルを作成します。sudo vi index.htmlIキーを押して編集モードに入り、ファイルに次のテスト情報を追加します。Test page 01Escキーを押し、:wqと入力して、Enter キーを押してファイルを保存して閉じます。
test02サブディレクトリに移動し、index.htmlファイルを作成して編集します。次のコマンドを実行して、
test02サブディレクトリに移動します。cd /data/wwwroot/example/test02/次のコマンドを実行して、
index.htmlファイルを作成します。sudo vi index.htmlIキーを押して編集モードに入り、ファイルに次のテスト情報を追加します。Test page 02Escキーを押し、:wqと入力して、Enter キーを押してファイルを保存して閉じます。
ステップ 2: Apache 構成ファイルを変更する
httpd.conf 構成ファイルを変更します。
次のコマンドを実行して、httpd.conf ファイルを開きます。
sudo vi /etc/httpd/conf/httpd.confI キーを押して編集モードに入り、構成を変更します。
次の構成を見つけます。
# Virtual hosts #Include conf/extra/httpd-vhosts.conf#Include conf/extra/httpd-vhosts.conf行の先頭から#を削除します。次の図は、変更後の行を示しています。

Esc キーを押し、
:wqと入力して、Enter キーを押してファイルを保存して閉じます。
vhosts.conf 構成ファイルを変更します。
次のコマンドを実行して、vhosts.conf 構成ファイルを開きます。
sudo vi /etc/httpd/conf.d/vhost.confIキーを押して編集モードに入り、構成を変更します。ファイル内の
<VirtualHost *:80></VirtualHost>タグで囲まれたデフォルトの構成をコメントアウトし、複数のドメイン名を手動で追加する必要があります。この例では、次の操作を実行します。
次の図に示すように、デフォルトの構成をコメントアウトします。

ファイルの末尾に次の構成を追加します。
<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: Web サイトディレクトリ。 このパラメーターは、DocumentRoot "<Web サイトディレクトリ>"形式で指定します。ServerName: ドメイン名。 このパラメーターは、ServerName <ドメイン名>形式で指定します。
Escキーを押し、:wqと入力して、Enterキーを押してファイルを保存して閉じます。
次のコマンドを実行して Apache を再起動します。
sudo systemctl restart httpd
ステップ 3: ドメイン名をバインドする
この例で使用されている 2 つのテストドメイン名の場合、Windows コンピューターの hosts ファイルに、これらのドメイン名と LAMP サーバーのパブリック IP アドレス間のマッピングを追加する必要があります。
Web サイトを構成するときに実際のドメイン名を使用する場合は、この手順をスキップします。 複数のドメイン名を LAMP サーバーにバインドする必要があります。 詳細については、「ドメイン名をバインドして解決する」をご参照ください。 ドメイン名がバインドされると、ドメイン名を使用して対応する Web サイトにアクセスできます。
C:\Windows\System32\drivers\etcディレクトリに移動します。バックアップ用に
hostsファイルをコピーします。テスト完了後に hosts ファイルを初期状態に復元するために使用できる hosts - copy ファイルを保持します。
hostsファイルを変更します。hosts ファイルの末尾に次のコンテンツを追加します。
<シンプルなアプリケーションサーバーのパブリック IP アドレス> test01.example.com <シンプルなアプリケーションサーバーのパブリック IP アドレス> test02.example.comWindows デスクトップに戻り、管理者としてコマンドプロンプトを実行します。
[コマンドプロンプト] ウィンドウで次のコマンドを実行して、
hostsファイルの新しい構成をすぐに有効にします。ipconfig /flushdns
ステップ 4: バインドされたドメイン名を使用して Web サイトにアクセスする
ブラウザを使用して、Windows コンピューター上のテスト Web サイトにアクセスします。
次の図に示すように、
test01.example.comを使用してtest01Web サイトにアクセスします。
次の図に示すように、
test02.example.comを使用してtest02Web サイトにアクセスします。
参照
ドメイン名に HTTPS アクセスを構成して、データ転送プロトコルを HTTP から HTTPS に低コストで変換できます。 これにより、Web サイトの認証と暗号化データ転送が実装され、転送中のデータ改ざんや情報漏えいが防止されます。 詳細については、次のトピックを参照してください。