HomesteadでLaravel開発環境を構築する
この記事に書いてあること
Laravel8.xの開発環境を構築する手順
Laravel日本語ドキュメント
基本的にはこちらのドキュメントを参考にすれば問題なく構築できます。
Laravelの開発環境構築について
Laravelでは開発環境の選択肢がいくつか準備されています。
ドキュメントではDocker DesktopやLaravel Sailなどのコンテナを利用した構築方法を推奨しているようです。
しかし、Dockerに馴染みがない人は、HomesteadというVagrantをベースとして環境構築方法がおすすめです。
インストールと設定
Homestead環境を起動する前に、Vagrantと、以下のプロバイダのいずれかをインストールする必要があります。
- VirtualBox 6.1.x
- Parallels
Parallelsプロバイダを使用するには、Parallels Vagrantプラグイン(無料)をインストールする必要があります。
Homesteadのインストール
まず自分のホストマシンにリポジトリをクローンします。
~/Homestead
の部分は任意のディレクトリに変更しても大丈夫です。
何か理由がない場合は、自分の全LaravelアプリケーションをホストしておくHomestead仮想マシンはひとつで事足りるので、ルートでもいいのかなとは思います。
クローンしたディレクトリを便宜的に「Homesteadディレクトリ」と呼びます。
git clone https://github.com/laravel/homestead.git ~/Homestead
リポジトリのクローンを作成したら、releaseブランチにチェックアウトする必要があります。このブランチには、Homesteadの最新の安定版リリースが常に含まれています。
cd ~/Homestead
git checkout release
次に、Homesteadディレクトリbash init.shコマンドを実行し、Homestead.yaml設定ファイルを作成します。
// macOS/Linux
bash init.sh
Homestead.yamlはHomesteadディレクトリの直下に生成されます。
基本的にはHomestead.yamlを編集することで開発環境のベースを作ることができます。
Homestead.yamlを編集する
ip: "192.168.56.58" #前回作ったHomesteadなどとかぶらないIPの方が良い
memory: 2048
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub #自分の公開鍵と同じパス(無い場合は作成)
keys:
- ~/.ssh/id_rsa #自分の秘密鍵と同じパス(無い場合は作成)
folders:
- map: ~/Documents/LaravelStudy #localからプロジェクトファイルまでのパス
to: /home/vagrant/code #vagrantからプロジェクトファイルまでのパス
sites:
- map: study-app.test #localでアクセスするURL
to: /home/vagrant/code/study-app/public #vagrant上のrootディレクトリのパス
#もし複数ドメインがある場合はこのようにして追加出来る
- map: sub.project.test
to: /home/vagrant/code/sub_project/public
databases:
- study-app #DB名
- sub-project #DBは複数作ることができる
features:
- mysql: true
- mariadb: false
- postgresql: false
- ohmyzsh: false
- webdriver: false
services:
- enabled:
- "mysql"
# - disabled:
# - "postgresql@11-main"
基本的に変更する可能性があるところは
- ip
- authorize
- keys
- folders
- sites
- databases
の6つくらいかなと思います。
ip
ローカルサーバを立ち上げるときに使われるipアドレスです。
他のプロジェクトで使っているipアドレスと被らないように気をつけてください。
vagrant upすると、sites: mapのところで指定したURLでアクセスできるようになります。
なおhostsファイルは、macOSおよびLinuxでは/etc/hosts
にあるそうです。
authorizeとkeys
vagrant upで立ち上げた仮想環境にログインするにはssh接続が必要になります。
自分のマシン上でSSH鍵ファイルの作成をしてください。
鍵ファイルが作成できたら、それぞれのパスをyamlファイルに記載します。
folders
Homestead環境とローカルマシンで共有するプロジェクトを管理するフォルダを指定できます。
フォルダの中のファイルが変更されると、ローカルマシンとHomestead仮想環境との間で同期されます。
mapにはローカル。toにはvagrant上のパスを指定します。
例えば以下のような感じです。
例ではLaravelStudyとcodeが対になります。
LaravelStudyの中で、project01
と名前でLaravelをインストールしたら、vagrantのcodeディレクトリの中にも同じ名前のLaravelがインストールされます。
ローカル
Documents
└ LaravelStudy /
└ project01/
vagrant
/home/vagrant/
└ code /
└ project01/
sites
map
にはローカルでアクセスするためのURL。to
にはvagrant上のpublic(Laravelのルートになるところ)ディレクトリのパスを指定します。
database
DB名を設定します。vagrant up
すると指定したデータベース名でデータベースが作られることになります。
Vagrant Boxの実行
Homestead.yamlの編集終えたら、Homesteadディレクトリでvagrant up
コマンドを実行してください。
Vagrantは仮想マシンが起動し、共有フォルダとNginxサイトを自動的に設定します。
仮想マシンを破壊するには、vagrant destroy
コマンドを使用します。
Laravelをインストールする
vagrantへログインするためにSSH接続をします。
vagrant ssh
ログインができたら、yamlファイルのfiles
で指定したプロジェクト管理フォルダに移動します。
cd code
コンピューターにすでにPHPとComposerがインストールされていれば、Composerを直接使用して新しいLaravelプロジェクトを作成できます。
yamlファイルのto
で指定したフォルダ名になるようにしてください。
composer create-project laravel/laravel:^8.0 study-app
あとはyamlファイルで設定したURLにアクセスしましょう。
プロジェクトが立ち上がっているはずです。
Author And Source
この問題について(HomesteadでLaravel開発環境を構築する), 我々は、より多くの情報をここで見つけました https://qiita.com/Naughty1029/items/3f77bfbd8eca49613a9b著者帰属:元の著者の情報は、元の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 .