VirtualBoxで構築したLaravelをローカルのwindowsで編集する

share Webエンジニア

前回までの記事

【PHP・Laravelでの開発準備編】VirtualBoxにCentOS8をインストール
【PHP・Laravelで開発準備編2】CentOS8にLaravel6をインストールする

これらでVirtualBox上にLaravelを構築はできましたが、Laravelのファイルを修正する為にわざわざサーバーにログインしてサーバ側で修正してたら大変ですよね。

そこで今回はwindowsのフォルダとVirtualBox上のフォルダの共有化について見ていきたいと思います。

VirtualBox Guest Additionsのインストール

ファイル共有をするにはVirtualBox Guest AdditionsというものをCentOS側にインストールする必要があります。

まずはkernelをアップデートして、サーバーの電源を切ります。

yum update kernel
shutdown -h now

設定のストレージ⇒光学ドライブ⇒空のまま⇒起動します
virtualbox

デバイス⇒isoでVirtualBox Guest Additions選択します。
virtualbox

CDは自動でマウントされないので任意の場所にマウントします。今回は/mntにcdというフォルダを作ってそこにマウントします。

cd /mnt
mkdir cd
mount /dev/sr0 /mnt/cd/ -t iso9660 -o ro

llコマンドなどでファイル表示してVBoxLinuxAdditions.run等のファイルが表示されていればOKです。

次にVBoxLinuxAdditions.runを実行してインストールを進めていきます。

cd /mnt/cd
./VBoxLinuxAdditions.run

するとbzip2が見つかりませんといったエラーが出ますので、必要なものを一式インストールすることにします。

yum -y install bzip2 elfutils-libelf-devel gcc gcc-c++ kernel-devel kernel-headers make perl tar

その上でもう一度実行し、インストールを完了させます。

./VBoxLinuxAdditions.run

一旦サーバーの電源を切り次の設定に進みます。

共有フォルダの設定

まずはwindows上で共有フォルダを作っておきます。今回はC:\whateatとしてみます。

そしてサーバーの設定⇒共有フォルダで以下のように設定します。
virtualbox

設定⇒ストレージでドライブにisoが割り当てられたままの場合は除去しておきましょう・

設定が完了したらサーバーを起動します。

なぜかここでサーバーが起動しなくなるという不具合が発生したので、もう一度CentOSから入れなおして最初にこの記事の作業を行ったところ起動できました。

もし同じように起動できなくなった方がいれば最初からにはなりますが構築し直しをお試しください。ローカルのvirtualboxなので簡単にやり直しできるのもメリットですよね。

起動すると以下の場所がwindowsの設定したフォルダと共有され、こちらのファイルは双方向で修正等が共有されます。

/media/sf_whateat

こちらのフォルダですが、そのままだとroot権限でuserとapacheから使用できないので作成したユーザーを追加し再起動します。

su -
gpasswd --add user名 vboxsf
gpasswd --add apache vboxsf
shutdown -r now

このフォルダにlaravelのプロジェクトを作ります。

su user名
cd /media/sf_whateat
laravel new whateat
cd whateat
composer install
chmod 777 -R storage
chmod 777 -R bootstrap/cache

このフォルダはapacheのドキュメントルートにはなっていないので、そこからこのフォルダへリンクを貼ります。

su -
ln -s /media/sf_whateat/whateat /var/www/html/whateat

さらにこの共有フォルダにapacheからアクセスするにはSELinuxを向こうにしておく必要があります(これをしないと403エラーになります)

vi /etc/selinux/config
SELINUX=enforcingをSELINUX=disabledに変更
reboot

あとは「http://localhost:50080/whateat/public/」にアクセスしてお馴染みのページが表示されればOKです。

そしてローカルのwindowsの「C:\whateat\whateat」を確認してみてください。ださくなってしまったので、最初のフォルダはC:\publicとかにしておけば良かったかもです…。

こちらにLaravelのファイル一式が共有されており、ここを編集すればCentOS上のファイルも同期されているので修正が即反映されます。

なので次回以降はここのファイルを修正し開発作業を進めていきます!