1台で複数サイト(バーチャルホスト)
1台のWebサーバで複数のサイトを公開できるのがバーチャルホストだ。ServerName(ドメイン名)ごとに DocumentRoot を分け、届いたリクエストの Host 名で振り分ける。設定は /etc/httpd/conf.d/ に置き、httpd -t で構文を検査してから reload して反映する。
サイトを立てるたびにサーバを1台ずつ用意するのは無駄だ。1台のWebサーバに複数のドメインを同居させ、名前で振り分ける——それがバーチャルホストだ。
🏠 名前で振り分ける
ブラウザは「どのドメインが欲しいか」をリクエストのHostヘッダに入れて送る。サーバはそれを見て、ドメインごとに用意した別々のDocumentRootへ案内する。1つのIPで何十サイトも運用できる。
📝 設定と検査
設定は /etc/httpd/conf.d/ に、サイトごとの <VirtualHost> ブロックで書く。ServerName にドメイン、DocumentRoot に公開フォルダを指定する。書いたら httpd -t で構文を検査し、httpd -S で読み込まれたvhost一覧を確認する。
💡
ポイント反映は restart より reload が無難。既存の接続を切らずに設定だけ読み直せる。systemctl reload httpd。
⚠
つまずき公開フォルダを /var/www 以外にするなら、SELinuxの文脈設定を忘れずに。正しく置いたのに403、はたいてい文脈の問題だ。
この項目に出てくる用語
バーチャルホストばーちゃるほすと
1台のWebサーバで複数のサイト(ドメイン)を公開する仕組み。