14
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

XAMPPのApacheでLaravelを表示できるようにする

Last updated at Posted at 2018-12-11

この記事は、「【連載】初めてのWindows用Laravel 5.7開発環境構築入門」の孫記事です。環境などの条件は、親記事をご覧ください。
この記事は、「XAMPP上にLaravel 5.7をインストールする 2018年12月版」の子記事です。


 今回は、XAMPP環境でLaravelを動作させます。XAMPP環境ではApacheがWebサーバーなので、LaravelはApache上で動作することになります。
 前回の最後でLaravelの簡易サーバー上で動作確認しているところまでできているので、その状態からスタートします。簡易サーバーは動作したままでも大丈夫ですが、自分がどっちを見てるかわからなくなると面倒なので、念の為止めておいたほうがいいかもです。

前提

 フォルダ構成は前回同様以下のようになっているものとします。

C:
 + xampp
  + htdocs        ← これが通常のドキュメントルート。http://localhost/で見える
   + laravelexample   ← 今回新しく作ったテストプロジェクトフォルダ
    + public       ← テスト用URL http://example.com で見せるドキュメントルート

そしてApache上のLaravelをテスト用URL http://example.com で動作させることを目指します。

Visual Studio Code上でプロジェクトを見ると、ここにあるpublicフォルダを http://example.com で見せるドキュメントルートにしたいわけです。
image.png

なので、Apacheは http://localhost/ などで見えるデフォルトのドキュメントルート(C:\xampp\htdocs)と、 http://example.com 用のドキュメントルート(C:\xampp\htdocs\laravelexample\public)の2つがあることを知っておかなければいけません。デフォルトじゃない方(example.com)を、バーチャルホストとしてApacheに登録することで、これを実現します。

バーチャルホスト(Virtual host)を設定

Apacheにバーチャルホストを設定する方法はいくつかありますが、今回はバーチャルホスト専用の登録場所 httpd-vhosts.conf という設定ファイルに登録することにします。

以下のように、 c:\xampp\apache\conf\extra フォルダにある httpd-vhosts.conf をテキストエディタで開きます。
image.png

image.png

このファイル、初期状態だと中身はすべて # でコメントアウトされています。最終行に、以下を追加しましょう。

<VirtualHost example.com:80>
  DocumentRoot "C:\xampp\htdocs\laravelexample\public"
  ServerName example.com
  <Directory "C:\xampp\htdocs\laravelexample\public">
    AllowOverride All
    Options All
    Require all granted
  </Directory>
</VirtualHost>

VirtualHost に example.com (http://はいらない)を登録し、:80 はポート番号です。ちなみにLaravelの簡易サーバーは8000番でしたね。複数のサーバーで同じ番号は使えません。
DocumentRoot が今回バーチャルホストで見せたいフォルダです。Directory のところでセキュリティ設定してます。
ServerName はホストドメイン名と同じで良いです。

変更したら、保存します。

Windowsにhostsの例外を登録する

 次に、Windows 10に「example.comは、ローカルPC(自分自身=IPアドレス 127.0.0.1)と思ってね」と教えます。これをしないと、ブラウザで http://example.com を開こうとしたとき、インターネットのどこかにあるexample.comを探しに行ってしまいます。
 この「example.comは、[IP]と思ってね」を登録するファイルは、C:\Windows\System32\drivers\etc\hosts です。ただ、このファイルは保護されているので、管理者権限で編集しなくてはいけません。

 管理者権限でhostsファイルを編集するために、まずは管理者権限でメモ帳を開きます。スタートメニューからメモ帳を探し、右クリックして、「管理者として実行」します。
image.png

 つぎに、hostsファイルを開きます。
image.png

 拡張子がテキストじゃないので、開くダイアログの右下のファイルタイプを「すべてのファイル」にします。
image.png

 hostsを開きます。
image.png

 ファイルは以下のようになっているはずなので、
image.png

 最終行に以下を追記します。

127.0.0.1 example.com

 これで、「example.comと言われればIPアドレス127.0.0.1(ローカルPC)」とWindowsが思ってくれるようになります。

LaravelのAPP_URLを再設定する

LaravelのプロジェクトをVisual Studio Codeで開き、.envファイルを開きます。APP_URLはexample.comにしたいので、以下の部分を編集します。
image.png

APP_URL=http://example.com

編集後
image.png

編集したら保存します。

これで、XAMPPのApacheでLaravelを動作させる設定が完了しました。

example.comで動作確認

では動作確認をしましょう。
まず、XAMPPでApacheが動作していることを確認します。(Virtual host編集後一度もApacheを再起動してなければ、一度再起動して設定を反映します。)

image.png

次にブラウザを開いて、アドレスバーに example.com と入力して移動します。
image.png

動作OKですね!

14
29
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?