【備忘録】Xamppで複数のドメインを作成
Xamppを使ってローカルでWebサイトの開発をしていた時に、
ローカルから複数のドメインを使用して、複数のWebサイトを同時に確認したいと思ったことはございませんか?
今回はApacheのバーチャルホスト機能を利用して、
Xamppで開発している複数のWebサイトを、
以下の複数のドメインでブラウザから表示させたいと思います!
「http://localhost」(プロジェクトAのWebサイト)
「http://localhost_dev1」(プロジェクトBのWebサイト)
「http://localhost_dev2」(プロジェクトCのWebサイト)
フォルダとindex.htmlファイルを作成しておく
以下のようにデスクトップに各Webサイトのソースを置いておきます。
「/Applications/XAMPP/xamppfiles/htdocs/localhost/index.html」
「/Applications/XAMPP/xamppfiles/htdocs/localhost_dev1/index.html」
「/Applications/XAMPP/xamppfiles/htdocs/localhost_dev2/index.html」
こんな感じ。
ブラウザで確認するため、
以下のようにそれぞれ「Hello World」が表示されるようにindex.htmlを編集しておきます。
「Hello World! from localhost :)」
「Hello World! from localhost_dev1 :)」
「Hello World! from localhost_dev2 :)」
こんな感じ。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
Hello World! from localhost :)
</body>
</html>
httpd.confを編集する
Macの場合、以下に「httpd.conf」があります。
/Applications/XAMPP/xamppfiles/etc/httpd.conf
バーチャルホスト機能を使えるようにするために、以下の行をコメントアウトしてください。
# Virtual hosts
#Include etc/extra/httpd-vhosts.conf
↓
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
バーチャルホスト機能が使えるようになると、
httpd.confで設定している「DocumentRoot」は無視され、
今の段階ではブラウザで「http://localhost」にアクセスしても何も表示されないと思います。
「http://localhost」でソースを表示されるためには次の手順が必要になります。
httpd-vhosts.confを編集する
Macの場合、以下に「httpd-vhosts.conf」があります。
/Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf
一番後ろの行に以下を追加してください。
これで、
「ServerName」に設定した名前で、
「DocumentRoot」にアクセスすることができます。
(例: http://localhost → /Applications/XAMPP/xamppfiles/htdocs/localhost)
<VirtualHost *:80>
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/localhost"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/localhost_dev1"
ServerName localhost_dev1
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/localhost_dev2"
ServerName localhost_dev2
</VirtualHost>
※デスクトップ配下に「DocumentRoot」を設定すると自分は以下のようなエラーが発生しました。
解決方法はあるみたいですが、今回は割愛させていただきます。
Access forbidden!
要求されたオブジェクトへのアクセス権がありません。 読み込みが許可されていないか、 サーバが読み込みに失敗したかでしょう。
サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。
最後にhostsを編集する
Macの場合、以下に「hosts」があります。
/private/etc/hosts
以下のように編集してください。
※重要なファイルなので気をつけて編集してください。
127.0.0.1 localhost
↓
127.0.0.1 localhost localhost_dev1 localhost_dev2
ちなみに以下のような編集もできるのですが、読み込みが遅くなることがあるそうなので、あまりおすすめしません。
127.0.0.1 localhost
↓
127.0.0.1 localhost
127.0.0.1 localhost_dev1
127.0.0.1 localhost_dev2
Macを再起動する
hostsを再度読み込むためにMacを再起動してください。
Apacheを再起動する
XamppのApacheを再起動してください。
ブラウザで確認してみましょう!
「http://localhost」(プロジェクトAのWebサイト)
「http://localhost_dev1」(プロジェクトBのWebサイト)
「http://localhost_dev2」(プロジェクトCのWebサイト)
以上、お疲れ様です!
Author And Source
この問題について(【備忘録】Xamppで複数のドメインを作成), 我々は、より多くの情報をここで見つけました https://qiita.com/moonbass630/items/e7254a30aad1d46064d3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .