Laravel5.5の開発準備(Homestead)
Laravelで開発するにあたり、Homesteadで動作するようにする。
https://laravel.com/docs/5.5/homestead
https://www.virtualbox.org/
Vagrantのインストール
https://www.vagrantup.com/
インストール後にターミナルで確認
Vagrantfile
after.sh
aliases
が作成される
設定ファイルの確認
また、共有フォルダのパーミッションを設定したいため、
vagrant-bindfs
https://github.com/gael-ian/vagrant-bindfs
をインストールする。
ホストのhostsファイルへVMのipを追加
Homestead.yamlには
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
に書いてあるため、ホスト側で秘密鍵を作成する
~/.ssh/id_rsa.pub
が作成される
再度Vagrantの起動
$ vagrant up
今度は起動した
ブラウザからアクセスしてみる。
http://homestead.test/
No input file specified.
と表示される。
まだLaravelでプロジェクトを作っていないためDocumentRootがない。
プロジェクト毎にHomesteadを利用する場合は、1つ階層が深くなるため、DocumentRootの編集
Vagrantの再起動
起動後にブラウザで再度アクセス
http://homestead.test/
Laravelの画面が表示された。
無事に動きました:)
Homestead、Laravelの準備が完了。
LaravelとDBの連携を行なっていこうと思う。
https://laravel.com/docs/5.5/homestead
準備
VirtualBoxのインストールhttps://www.virtualbox.org/
Vagrantのインストール
https://www.vagrantup.com/
インストール後にターミナルで確認
$ vagrant --version Vagrant 2.0.0
Vagrant Boxの追加
$ vagrant box add laravel/homestead ==> box: Successfully added box 'laravel/homestead' (v4.0.0) for 'virtualbox'!
Homesteadのインストール
HomeSteadはプロジェクト毎にインストールするようにする$ mkdir laravel-todo $ cd laravel-todo
composerのダウンロード
$ php -r "copy('https://getcomposer.org/composer.phar', 'composer.phar');" $ php composer.phar --version Composer version 1.6-dev (edece864e7e4c668dcad6601df70777882d22116) 2017-09-19 08:42:10
laravel/homesteadインストール
$ php composer.phar require laravel/homestead --dev $ php vendor/bin/homestead make Homestead Installed!Homestead.yaml
Vagrantfile
after.sh
aliases
が作成される
設定ファイルの確認
$ cat Homestead.yaml ip: 192.168.10.10 memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: /Users/k10i/Documents/laravel-todo to: /home/vagrant/code sites: - map: homestead.test to: /home/vagrant/code/public databases: - homestead name: laravel-todo hostname: laravel-todo
共有フォルダの設定
VirtualBoxとの共有フォルダはデフォルトでは遅いため、NFSで設定する。$ vi Homestead.yaml folders: - map: /Users/k10i/Documents/laravel-todo to: /home/vagrant/code type: "nfs"type: "nfs"を追加する
また、共有フォルダのパーミッションを設定したいため、
vagrant-bindfs
https://github.com/gael-ian/vagrant-bindfs
をインストールする。
$ vagrant plugin install vagrant-bindfs Installed the plugin 'vagrant-bindfs (1.0.9)'!
ホストのhostsファイルへVMのipを追加
$ sudo vi /etc/hosts 192.168.10.10 homestead.test
Vagrantの起動
$ vagrant up Check your Homestead.yaml file, the path to your private key does not exist.上記メッセージが出て起動しない。秘密鍵(private key)が無いと言われている。
Homestead.yamlには
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
に書いてあるため、ホスト側で秘密鍵を作成する
$ ssh-keygen~/.ssh/id_rsa
~/.ssh/id_rsa.pub
が作成される
再度Vagrantの起動
$ vagrant up
今度は起動した
ブラウザからアクセスしてみる。
http://homestead.test/
No input file specified.
と表示される。
まだLaravelでプロジェクトを作っていないためDocumentRootがない。
Laravelのプロジェクトを作成
$ php composer.phar create-project --prefer-dist laravel/laravel todo > php artisan key:generate Application key [base64:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] set successfully.プロジェクト作成完了
プロジェクト毎にHomesteadを利用する場合は、1つ階層が深くなるため、DocumentRootの編集
$ vi Homestead.yaml folders: - map: /Users/k10i/Documents/laravel-todo/todo to: /home/vagrant/code type: "nfs"mapにLaravelプロジェクトフォルダを追加
Vagrantの再起動
$ vagrant reload途中/etc/exportsを編集するために、パスワードが聞かれるので入力
Preparing to edit /etc/exports. Administrator privileges will be required... Password:
起動後にブラウザで再度アクセス
http://homestead.test/
Laravelの画面が表示された。
無事に動きました:)
Homestead、Laravelの準備が完了。
LaravelとDBの連携を行なっていこうと思う。
コメント
コメントを投稿