Apacheで仮想ホストを設定する方法【Ubuntu対応】
仮想ホストとは?
サーバーのIPアドレスが1つしかない場合でも、複数のWebサイトを運用したいというニーズはよくあります。サブドメインでサイトを分ける方法もありますが、Apacheの仮想ホスト(Virtual Host)機能を使えば、1台のマシン・1つのWebサーバーで複数のドメインを同時に運用できます。多くのレンタルサーバー会社が提供する共用ホスティングでも、この仕組みが採用されています。
また、仮想ホストはローカル開発環境の構築にも非常に便利です。本番環境と同じドメイン構成を自分のPC上で再現できるため、開発効率が大きく向上します。この記事では、Ubuntu Linuxマシン上でApacheの仮想ホストを設定する手順を解説します。
この記事で行うこと
例として、calvin.dev と hobbes.dev という2つの仮想ホストをローカルマシンに設定します。それぞれ異なるディレクトリを参照し、別々のサイトを表示できるようにします。作業の流れは以下の通りです。
- Apacheと必要なパッケージをインストールする
- 仮想ホストの設定ファイルを作成する
- ドキュメントルートとなるディレクトリを作成する
- /etc/hosts にドメインのエントリを追加する
- 設定を有効化してApacheを再起動する
- テストファイルを作成して動作を確認する
ステップ1:Apacheのインストールと動作確認
まず、コマンドラインから以下のコマンドを実行して、Apacheとそのサポートパッケージをインストールします。
# sudo apt-get install apache2-utils apache2-common
すでにこれらのパッケージがインストールされている場合は、その旨が表示されるだけなので安心してください。
次に、Apacheが正常に動作しているかを確認します。ブラウザで https://localhost にアクセスし、Apacheのデフォルトページが表示されればOKです。表示されない場合は、Apacheのインストール手順を改めて確認してください。
ステップ2:仮想ホストの設定ファイルを作成する
お好みのテキストエディタ(筆者はvim派です)で、新しい設定ファイル /etc/apache2/sites-available/vhosts.conf を作成し、以下の内容を記述します。
<VirtualHost *:80>
ServerName calvin.dev
ServerAlias www.calvin.dev
DocumentRoot /var/www/calvin.dev
</VirtualHost>
<VirtualHost *:80>
ServerName hobbes.dev
ServerAlias www.hobbes.dev
DocumentRoot /var/www/hobbes.dev
</VirtualHost>
記述したらファイルを保存します。
ステップ3:ドキュメントルートのディレクトリを作成する
設定ファイルに指定した2つのディレクトリを作成します。
# sudo mkdir /var/www/calvin.dev
# sudo mkdir /var/www/hobbes.dev
ステップ4:/etc/hosts にエントリを追加する
テキストエディタで /etc/hosts ファイルを開き、末尾に以下の2行を追加します。これにより、これらのドメインへのアクセスがローカルマシン(127.0.0.1)に向くようになります。
127.0.0.1 calvin.dev
127.0.0.1 hobbes.dev
ステップ5:設定を有効化してApacheを再起動する
sites-enabled ディレクトリにシンボリックリンクを作成し、vhosts.conf の設定を有効にします。
# cd /etc/apache2/sites-enabled/
# sudo ln -s ../sites-available/vhosts.conf
なお、Ubuntuでは a2ensite vhosts コマンドでも同じ操作が可能です。
続いて、Apacheを再起動して設定を反映させます。
# sudo /etc/init.d/apache2 restart
ステップ6:テストファイルの作成と動作確認
最後に、どの仮想ホストにアクセスしているかを識別できるよう、各ドキュメントルートにシンプルなHTMLファイルを作成します。
# echo "Hi I'm Calvin" > /var/www/calvin.dev/index.html
# echo "Hi I'm Hobbes" > /var/www/hobbes.dev/index.html
いよいよ動作確認です。ブラウザで https://calvin.dev にアクセスして「Hi I'm Calvin」と表示されれば成功です。同様に https://hobbes.dev にアクセスすると「Hi I'm Hobbes」と表示されるはずです。
応用:サイトの追加とリモートサーバーでの運用
これで仮想ホストが正しく機能する状態になりました。仮想ホストはいくつでも追加でき、設定ファイルに同じ形式のブロックを追記し、対応するディレクトリとhostsエントリを加えるだけで運用できます。
リモートマシンで運用する場合は、vhosts.conf 内の「*:80」をそのマシンの実際のIPアドレス(例:「10.2.10.6:80」)に置き換えてください。
補足:かつてローカルテストによく使われた「.dev」ドメインは、現在Googleが管理するgTLDとなり、HSTSプリロードによってHTTPS接続が必須となっています。ローカル環境でのテストには「.test」や「.localhost」などを使用するのが安全です。
-
Windows 11/10 で Hyper-V 仮想マシンをセットアップする方法【有効化から作成まで完全解説】
Windows 11/10 上でテストや検証などの目的に合わせて Hyper-V 仮想マシンをセットアップしたい場合は、この記事をご覧ください。Windows 10/11 で Hyper-V 機能を有効化する方法と、Hyper-V マネージャーで新しい仮想マシンを作成・構成する方法を詳しく解説します。 Microsoft は Windows Server 2008 以降のバージョンに Hyper-V テクノロジーを統合してきました。現在では、Windows 10 および 11 にも Hyper-V が標準搭載されており、一般ユーザーでも、メインマシンの OS(ホスト)に影響を与えることなく、仮
-
Windows 10でVPNを設定する方法|手動セットアップの手順を徹底解説
自宅から会社のネットワークにアクセスしたい、あるいは信頼できない公衆Wi-Fiでインターネットを使いたい——そんなときに役立つのがVPNです。VPNは安全な接続を確保し、第三者による個人情報へのアクセスを防ぎます。地域制限されたサイトの閲覧や、追跡されない匿名ブラウジングも可能にする、人気の高いサービスです。 Windows 10に対応したVPNソフトウェアは数多く存在し、パソコンに直接インストールして利用できます。しかし、追加アプリのインストールを避けたい場合は、Windows 10の標準機能を使ってVPNを手動で構築することも可能です。本記事では、Windows 10でのVPN設定方法を詳