Mac + VirtualBoxでLaravel+Nuxt.js環境構築する方法

2020年8月10日

はじめに

この記事は途中までで挫折していますので予めご了承ください。
一部の情報のみの備忘録として公開しています。

全体概要

#記事の目的
・Laravel(API) + Nuxt.js(SSR・フロント)でのWEBアプリ開発の勉強

・MacにてHomesteadで上記組み合わせの環境構築がうまくできず Homesteadを使わないMac + VirtualでのLaravel環境構築備忘録
 理由:Nginxの設定ファイルにproxy設定の追記ができない(再起動すると消える原因解決できず)
・Dockerの環境構築の勉強とAWS Fargateにデプロイする方法調査兼備忘録

#主な記事の内容
・AWSを実運用する為の理想の使い方を参考サイトから学び実践した備忘録
・Dockerの使いかた
・ 同ドメインのNuxtjs(フロントエンド)からLaravel (API) へのアクセス方法

Mac ローカル環境に VirtualBoxでのLaravel環境構築

#参考サイト
https://hrroct.hatenablog.com/entry/2019/01/05/143655

#目的
MacにLaravelが動作する環境を構築したい
LaravelにてAPIのアクセスを許可する為、NginxのProxy設定を変更したい

#やる事
VirtualBOXを作成
CentOS7.3+ Nginx + PHP7 + MySQL5.7 で構成

#CentOS7インストール
Virtualbox + Vagrantはインストール済みとする
Boxlist確認とBox追加(Virtualboxを選択)

追加完了したら確認する

ローカルPCのプロジェクトを作成した場所の一つ上の階層に移動して
任意の名前でディレクトリ作成して移動

vagarantfile作成

ディレクトリ内に Vagrantfile というファイルが作成される

#vagrantfileを修正する
ホストOS(Macのローカル作業ディレクトリ)とゲストOS(vagrant内の対象ディレクトリ)で共有したいフォルダのパスを指定する
左側がホスト側(vagrantfileからの相対パスを指定する)、右側がゲスト側、create trueは指定したディレクトリがない場合自動で作成する

以下ホスト名の設定(追記/コメントを外す)

vagrantにホスト名でアクセスできるプラグインをインストール

上記設定完了してvagrant upで起動すれば
ローカルPCのhostsファイルに自動で反映される
hostファイル場所(確認用)

※共有フォルダの設定をした際にエラーがでた場合以下のプラグインをインストール

上記設定完了後再度vagrant up

起動/再起動コマンド

ssh接続

#Vagarant接続後の設定

パッケージをアップデート

#php7.3をインストール

EPELリポジトリを追加

Remiをインストール

nginxからphpが使えるようにPHP-FPMをインストール

PHP-FPMの設定ファイル /etc/php-fpm.d/www.conf に PHP-FPMプロセスを実行できる ユーザー/グループを設定

サービスとして実行されるよう登録

/etc/nginx/nginx.confの fastcgi_paramを以下のように修正

yumを更新

phpのversion 確認

#Composerインストール

zip unzip gitのインストール

#Nginxをインストール

自動起動設定

Nginx起動

nginx設定ファイルの更新

nginx設定ファイルを以下のように編集

nginx再起動

php-fpmの設定

SElinuxの無効化

logoutして vagrant reload –provison で再起動

phpinfoファイル作成

#node.jsをインストール
nvmインストール

logout してvagrant reload( 再起動)
公式サイトで最新バージョンを確認してインストール

#mysqlをインストール
mariaDBをアンインストール
MySQLと競合を起こすことがあるので削除

MySQL 5.7 のインストール

※インストールがうまくいかない場合
 yumの依存関係が解決できないようなので
–skip-brokenをつける

MySQL Sever が自動起動するように設定

MySQL Server を起動

MySQL の root の初期パスワードを確認

以下のコマンドで確認

MySQL に接続してみる

root の初期パスワードを変更する

ユーザーを作成
rootでログインして以下のようなコマンドでユーザーを作成できる

Laravelで使うデータベースを作成

#Laravelをインストール
laravelプロジェクトを作成
※laravelをインストールする前に共有フォルダ設定を行う

権限を与える

storageにSELinuxの設定
httpd_sys_rw_content_tタイプを設定する事で、一時的に許可

.envファイルを変更する
データベース情報を追記

ライブラリをインストール

ログイン機能作成

必要Packageインストール

css・jsをビルド

データベースのテーブルを自動で作成