0. はじめに
~~サーバー代をケチるために、~~バーチャルホストで複数サイトを管理したので、備忘録として記事化することにしました。
1. バーチャルホストとは
1つのサーバーで複数のドメイン(例:hoge-blog.com + fuga-stagram.com)のサイトを公開するための技術になります。
メリットとしては、サーバーのコストを下げることができます。
デメリットとしては、1つのドメインの負荷があがったり、障害が発生した場合、他のドメインにも影響を及ぼしてしまいます。
2. 環境
- Conoha VPS
- Ubuntu (20.04.1 LTS)
- Apache (2.4.41)
3. 前提
- ドメインを2つ取得していること。今回は以下を例にして記載。
- hoge-blog.com
- fuga-stagram.com
- Apacheのインストールが完了していること。
4. 手順
4-1. バーチャルホスト設定ファイルを作成する
今回は「hoge-blog.com」のバーチャルホスト設定ファイルを作成することとします。
①以下のディレクトリに移動します。
cd /etc/apache2/sites-available
②000-default.conf
という設定ファイルが既に存在するかと思いますので、これをコピーして「hoge-blog.com」用の設定ファイルを作成します。名前は任意ですが、どのドメインに対応しているか把握できる名前をつけるといいかと思います。
cp 000-default.conf hoge-blog.conf
③hoge-blog.conf
を以下のように変更します。
- ServerName・・・バーチャルホストのドメイン名
- DocumentRoot・・・ドメインのドキュメントルート(後で作ります)
vi hoge-blog.conf
------------------------------------------
<VirtualHost *:80>
...
ServerName hoge-blog.com
DocumentRoot /var/www/hoge-blog/
...
</VirtualHost>
------------------------------------------
443ポート(https)に設定したい場合も同様です。
vi hoge-blog.conf
------------------------------------------
<VirtualHost *:443>
...
ServerName hoge-blog.com
DocumentRoot /var/www/hoge-blog/
...
</VirtualHost>
------------------------------------------
4-2. バーチャルホスト設定ファイルを登録する
①以下のコマンドを実行し、バーチャルホスト設定ファイルの登録を行います。
a2ensite hoge-blog.host
上記のコマンドを実行すると、/etc/apache2/sites-enable/
配下に登録されます。
なお、削除する場合は以下のコマンドを実行します。
a2dissite hoge-blog.host
4-3. テストサイトを作成する
①以下のディレクトリに移動します。
cd /var/www/
②ドキュメントルートとなるディレクトリを作成します。
mkdir hoge-blog
cd hoge-blog
③テスト用ページを作成します。
vi index.html
------------------------------------------
<html>
<body>
hoge blog
</div>
</body>
</html>
------------------------------------------
4-4. 動作確認
①apacheの再起動を行います。
systemctl restart apache2
②ブラウザからページにアクセスしてみて、テストページが表示されればOKです。
★別のサイト(fuga-stagram.com)を立ち上げたい場合は、4. 手順をもう一度実施すればOKです。
5. 参考