駆け出しエンジニアの私が、ずっと理解ができず困っていたVirtualHost化についてメモ程度に残させていただきます。
また超初心者向けの内容になるので、詳しい内容については省いて説明します
至らない点等多数あると思いますが、優しく見守っていただければ幸いです。
VirtualHost化とは?
ローカル環境で指定のドメイン設定ができることです。
例:●●.com
みたいな感じです。
ちなみに、複数設定可能です。
VirtualHost化をするメリット。
これに関しては、私個人的な意見にはなりますが、
1.本番を即したルーティングができる。
2.指定したドメイン名を打てば開けるので、都度ドキュメントルートを変更する必要がない。
こんなところです。
Apacheの設定
各種環境
xamppのインストール等はしているものと仮定しています。
● Windows10
● Apache/2.4.43 (Win64)
● Xampp(PHP 7.4.6)
今回設定するフォルダ
● C\xampp\apache\conf\extra\httpd-vhosts.php
● C:\Windows\System32\drivers\etc\hosts
Apacheフォルダの設定
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/****"
ServerName ****.com
<Directory "C:/xampp/htdocs/****">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
このような記述を、コードの一番下に記載します。
また
<Directory "C:xampp/htdocs/***>
の部分には開きたいファイルを指定してあげましょう。
ちなみに****.comの部分は自分で設定したいドメイン名を記載します。
Windowsフォルダの設定
# localhost name resolution is handled within DNS itself.
127.0.0.1 ***.com
# ::1 localhost
このように先ほどの指定したドメイン名を指定すれば完成です!
また、記載時に管理者権限のアラートがでますので、許可してあげましょう。
ここまで出来たら、Apacheを再起動させ、指定ドメイン名を叩いたら表示されます!
補足
また、C:/xampp/apache/conf/httpd.conf
の
175行目くらい
● #LoadModule vhost_alias_module modules/mod_vhost_alias.so
508行目くらい
● #Include conf/extra/httpd-vhosts.conf
の先頭に#が付いている場合はのけてやりましょう。
[参考]
https://www.granfairs.com/blog/staff/apache-vhost-2017
https://qiita.com/TanukiTam/items/e11222751fe7ff70b07f