はじめに
自分がLaravelを使いたいと思い、環境構築をしました。
かなりつまづいて時間を浪費したので、わからなかったところも含めて備忘録として残しておきます。
vagrant,Virtualboxの導入
以下のサイトからインストーラーを入手できるので、手順に従って導入してください。
ググれば参考サイトはたくさん転がってると思います。
vagrant
Virtualbox
Homesteadの作成~初期設定まで
vagrantコマンド一覧
コマンド | 機能 | 備考 |
---|---|---|
vagrant box add <name, url, or path> | Box追加 | |
vagrant box remove | Box削除 | |
vagrant box list | Box一覧 | |
vagrant init [name [url]] | Vagrantの初期化 | Vagrantfileが作成される |
vagrant ssh | sshログイン | |
vagrant up | 仮想マシン起動 | |
vagrant halt | 仮想マシン停止 | |
vagrant reload | 仮想マシン再起動 | |
vagrant destroy | 仮想マシン削除 | |
vagrant package | パッケージ作成 | 仮想マシンをパッケージングする(Box形式で出力) |
vagrant plugin install | プラグイン追加 | |
vagrant plugin list | プラグイン一覧 |
vagantのBox一覧確認
~$ vagrant box list
==> vagrant: A new version of Vagrant is available: 2.2.2 (installed version: 2.1.4)!
==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html
bento/centos-6.8 (virtualbox, 2.3.4)
centos7 (virtualbox, 0)
laravel/homestead (virtualbox, 6.3.0)
Homesteadフォルダへ移動
~$ cd Homestead
vagrantを起動
Homestead user$ vagrant up
仮想マシンにログイン
Homestead user$ vagrant ssh
Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-32-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information disabled due to load higher than 1.0
* MicroK8s is Kubernetes in a snap. Made by devs for devs.
One quick install on a workstation, VM, or appliance.
- https://bit.ly/microk8s
* Full K8s GPU support is now available!
- https://blog.ubuntu.com/2018/12/10/using-gpgpus-with-kubernetes
* Canonical Livepatch is available for installation.
- Reduce system reboots and improve kernel security. Activate at:
https://ubuntu.com/livepatch
0 packages can be updated.
0 updates are security updates.
Last login: Wed Feb 6 08:52:46 2019 from 10.0.2.2
vagrant@homestead:~$ -- 仮想環境へログイン完了
Laravelアプリケーションの作成
terminal
vagrant@homestead:~code$ composer create-project --prefer-dist laravel/laravel 任意のアプリケーション名
仮想マシンの起動時エラーTips
ほとんどの場合、Homestead.yamlファイルの書き方が間違っている場合が多い。
記述に間違いがないのに仮想マシンが起動しない場合は以下をチェックします。
/etc/hostsファイルの変更が反映されていないことを疑う
(実際これは関係ないと思われますが、実行したので一応書いておきます。)
とりあえずここの変更が認識されていないのではないか?と思ったので、以下を実行しました。
DNSキャッシュのクリア
ターミナルで
$ sudo killall -HUP mDNSResponder
を実行してDNSキャッシュをクリアにしてみます。
これでもダメな場合、さらに以下を実行します。
Apacheの再起動
ターミナルで
$ sudo apachectl restart
を実行する。これでApacheが再起動されるはずです。
Homestead.yamlの変更を反映させる
おそらくこれで問題は解消されました。
まずvagrantを以下のコマンドで終了し、
$ vagrant halt
以下でHomestead.yamlの変更を反映させます。
$ vagrant provision
これでvagrant up
すれば、おそらく仮想マシンを起動できるはずです。