はじめに
ドメイン取得編のときに、no-ip社で取得する方法を説明しました。このとき、no-ipのサービスであれば ドメインを3つまで取得できるといいましたね。では、ドメインを仮に3つとったと しましょう。その後、それらのドメインを使ってWEB検索をしてください。
すると、すべてのドメインが全部同一のページを開いてしまいました。これでは、せっかくドメインを 複数取得したとしても、各ドメインごとに別々のサーバーを用意しなければ、ドメインごとに 別々のサイトを表示することができませんね。つまり、3つドメインをとったら、3つWEBサーバーを 用意しないと、ダメということです...。
これを解決するために、考えられた機能がバーチャルホストです。 バーチャルホストは、上の写真のようにアクセスに対し分散処理を行うことで、1つのWEBサーバーで複数のドメインを管理する方法です。
この機能を使えば、ドメインAは一般公開用で、ドメインBは社内用、ドメインCは開発用といったように色々な使い分け が可能になるわけです。このページでは、このバーチャルホストの導入方法を説明します。
バーチャルホスト編
次の手順で、バーチャルホストを実装します。ここでは、ドメイン1とドメイン2のバーチャルホスト の実装方法を説明します。
- 次のコマンドで、バーチャルホスト設定ディレクトリに移動します。
$ cd /etc/apache2/sites-available/
- デフォルトのシンボリックを無効にします。
$ sudo a2dissite 000-default.conf
- 新しい設定ファイルを作成します。名前は自由に指定してください。
$ sudo nano 名前.conf
- 設定ファイルが開くので、次の内容を記述します。
<VirtualHost *:80>
ServerName dumy
Redirect 404 /
</VirtualHost>
<VirtualHost *:80>
ServerName ドメイン1
ServerAdmin webmaster@ドメイン1
DocumentRoot /var/www/domain01
ErrorLog /var/log/apache2/ドメイン1.error.log
CustomLog /var/log/apache2/ドメイン1.access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerName ドメイン2
ServerAdmin webmaster@ドメイン2
DocumentRoot /var/www/domain02
ErrorLog /var/log/apache2/ドメイン2.error.log
CustomLog /var/log/apache2/ドメイン2.access.log combined
</VirtualHost>
- 3の設定ファイルのシンボリックを次のコマンドで作成します。3の名前のみで、「.conf」は 記述しないこと!
$ sudo a2ensite 名前
- Apacheの再起動を次のコマンドで行います。
$ sudo systemctl restart apache2
- ドメインごとの移動先ディレクトリを作成するため、次のコマンドを入力します。
$ cd /var/www/
- ディレクトリを2つ作成します。
$ sudo mkdir domain01
$ sudo mkdir domain02
- domain01に対し、「index.html」というテストページを作成します。
$ sudo nano /var/www/domain01/index.html
- 次の内容を記述し、保存します。
<html>
<meta charset="UTF-8">
<title>ドメイン01</title>
<body>
<h1>ドメイン01が表示されました!</h1>
</body>
</html>
- domain02に対し、「index.html」というテストページを作成します。
$ sudo nano /var/www/domain02/index.html
- 次の内容を記述し、保存します。
<html>
<meta charset="UTF-8">
<title>ドメイン02</title>
<body>
<h1>ドメイン02が表示されました!</h1>
</body>
</html>
- WEBブラウザで次のWEBサイトが表示されたら、設定完了です。
おわりに
次にHTTPSの設定を行います。