LoginSignup
3
1

More than 3 years have passed since last update.

VirtualBox内にLaravelをインストールしてホストブラウザで表示

Posted at

はじめに

前回書いた記事「VirtualBoxを使って、LAMP環境の構築」の続きです。
タイトル通りVirtualBox内にLaravelをインストールしてホストブラウザから確認できるようにしたいと思います。

ついでに2つプロジェクトを作成し、バーチャルホストの設定をして、1つのWebサーバーで複数のホスト名を同時運用できるようにします。

環境

前回からそのまま
CentOS7.*
apache2.*
MySQL5.7.*
PHP7.1.*
vagrant不使用

Laravel5.6

Laravelのプロジェクト作成

今回apacheでlaravelを動かしたいのでapacheドキュメントルートでプロジェクト作成。

#ドキュメントルートに移動
cd /var/www/html/

#バージョン指定して、プロジェクトを作成
composer create-project --prefer-dist laravel/laravel=5.7 プロジェクト名

composer create-project --prefer-dist laravel/laravel=5.7 プロジェクト2名

global requireで、グローバル環境にlaravelのインストーラをインストールする方法もありますが、
プロジェクトごとにライブラリのパッケージを管理できるcomposerのメリットが薄くなってしまうので今回は使用しません。

書き込み権限変更

このままApacheで起動しても、「The stream or file "/var/www/html/プロジェクト名/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied」というエラーがでるので、

storageディレクトリに対して、apacheへ書き込み権限を付与

sudo chmod -R 777 app/storage
sudo chmod -R 777 bootstrap/cache

SELinuxをOFFに

# 都度、SELinuxをoffにするか
sudo setenforce 0

# 設定ファイルを書き換えて、selinux無効化してOSを再起動
vi /etc/selinux/config
SELINUX=disabled

・selinuxとは

Laravelプロジェクトを、apacheで動かす

vi /etc/httpd/conf/httpd.conf

#以下を追記

# バーチャルホスト設定:1つのWebサーバーで複数のホスト名を運用するために設定。
# 指定したホスト名やIPアドレスだけに設定するディレクティブ。
<VirtualHost *:80>

 # アクセスされるホスト名
  ServerName test.com:80

 # クライアントからのリクエストに対して対応するコンテンツを配置しておく場所
 # laravelプロジェクトのpublicディレクトリを指定する。
  DocumentRoot /var/www/html/プロジェクト名/public
 
 # DocumentRootと同じ場所を指定。
  <Directory "/var/www/html/プロジェクト名/public">
    AllowOverride All
    Require all granted
  </Directory>

</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /var/www/html/プロジェクト2名/public
  ServerName test2.com:80
  <Directory "/var/www/html/プロジェクト2名/public">
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

変更したらApacheの再起動をする。
systemctl reload httpd

参考サイト:
https://note.com/mihi_kul/n/n2160a2e98b4b

hostsの設定

C:\Windows\System32\drivers\etcにあるhostsファイルを開きます。
管理者権限を使ってファイルを開かないと保存できないので注意。
左側に仮想マシンのIPアドレスを、右側に紐づけたいホスト名を記載してください。

hosts
例:
IPアドレス      ホスト名
192.168.56.101     test.com
192.168.56.101     test2.com

ホストブラウザで確認

以下の様に表示出来たら成功です。
image.png

3
1
0

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
3
1