こんにちは、てっちーです。仮想環境をつかったlaravel公式の環境であるHomesteadを使って環境構築をしたのでそのメモになります。XAMPPを立ち上げたのでそちらで良いと言えばよいのですが、PCの設定に直接影響があるXAMPPよりも仮想環境の方がトラブルが少ないと考えて導入することにしました。
簡単に導入できたので、こちらもおすすめです!Windows10 Homeでも構築できたので、Windos10 Proではない方で仮想環境が希望の方はHomesteadを使いと良いと思います。
環境構築手順
インストールソフト
下記の3つのソフトを使うのでインストールしていないソフトがあればインストールしてください。
git (ギット)
有名なバージョン管理ソフトgit(ギット)のWindows版オフィシャルページです。gitは仮想環境との共有ディレクトリで、実環境上側で使用します。
リンク:git
VirtualBox
こちらは仮想化ソフトウェア・パッケージです。今はオラクルが開発している有名なソフトで安心して使えます。
リンク:Virtual Box
Vagrant(ベイグラント)
Vagrantは仮想環境の構築を簡単に行うソフトです。今回はVirtualBoxをコマンドラインから使うためにも必要です。
リンク:Vagrant
Homesteadセットアップ
Git Bashを起動させて、そのウィンドウから下記のコマンドを順番に実行してください。これでHomesteadを展開させて仮想環境を構築します。
cd
mkdir code
vagrant box add laravel/homestead
git clone https://github.com/laravel/homestead.git Homestead
cd Homestead
./init.bat
Homestead設定
次に、このHomesteadディレクトリ内にある「Homestead.yaml」編集します。変更するのは、foldersとsitesの項目。
foldersは、仮想環境と実環境との間でディレクトリを共有する設定です。
mapは実環境上のディレクトリ、toは仮想環境上のディレクトリを指定します。実環境のディレクトリパスは、Windowsの場合、絶対パスで記述する必要があるので、下記の例を参考に、実際にあるディレクトリを指定してください。ここで設定させたディレクトリにLaravelプロジェクトを作成します。
もし後で仮想環境を動かしたときに、お互いにファイルが見えない場合はここの設定が間違っている可能性が高いです。
folders:
- map: C:\Users\ユーザー名\code
to: /home/vagrant/project1
sitesでは公開ディレクトリを指定します。mapはホスト名を、toは公開するデータが入っているディレクトリになります。環境構築出来たらホスト名をURLとしてブラウザでアクセスするとLaravelプロジェクトが表示されるようになります。
sites:
- map: homestead.test
to: /home/vagrant/code/プロジェクト名/public
ssh鍵の設定もページ最初の参考サイトを参考に設定しても良いと思います。
Windowsのホスト名の設定
ブラウザから見られるようにホスト名を指定します。下記のファイルを編集してホストの設定をしてください。
場所:C:\Windows\System32\drivers\etc\hosts
192.168.10.10 homestead.test
仮想環境起動
Homesteadディレクトリの内から、下記のコマンドを実行してください。すると起動ログが表示され、仮想環境が立ち上がります。
vagrant up
ログの表示が終わり起動したら、sshで接続します。
vagrant ssh
ログインメッセージが表示されたらOKです。
$ vagrant ssh
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-91-generic x86_64)
Thanks for using
_ _ _
| | | | | |
| |__ ___ _ __ ___ ___ ___| |_ ___ __ _ __| |
| '_ \ / _ \| '_ ` _ \ / _ \/ __| __/ _ \/ _` |/ _` |
| | | | (_) | | | | | | __/\__ \ || __/ (_| | (_| |
|_| |_|\___/|_| |_| |_|\___||___/\__\___|\__,_|\__,_|
* Homestead v10.7.0
* Settler v9.4.0 (Virtualbox, Parallels, Hyper-V, VMware)
0 packages can be updated.
0 updates are security updates.
vagrant@homestead:~$
仮想環境シャットダウン
vagrant halt
vagrantコマンド
下記が参考になりそうです。
Laravelプロジェクト表示
プロジェクト作成
次はLaravelプロジェクトを表示させてみます。
すでに仮想環境は立ち上がっているので、Laravelプロジェクトがある方は、共有化されているcodeディレクトリ下に、実環境上でプロジェクトをcloneさせて下さい。そのとき、「Homestead.yaml」内のsites設定とプロジェクトのpublicディレクトリが一致している必要があるので注意してください。
プロジェクトが無い方は、仮想環境側でプロジェクトをcodeディレクトリ下で作成します。vagrantとsshで接続した後に下記のコマンドを実行してください。
cd ~
cd code
composer create-project --prefer-dist laravel/laravel プロジェクト名
Laravelページ表示
下記のvagrantを起動している状態でHomesteadやhostファイルへ設定したホスト先を開いてみて下さい。無事にLaravelページが開かれたら成功です。
今回紹介した設定だと下記のURLになります。変更したいときは、Homestead.yamlやhostsファイルを変更する必要があります。
自己証明書のインストール
laravelのホームページを表示させたときに警告が出るようであれば、下記のリンクを参考に自己証明書のインストールをしてみて下さい。
おまけ
vagrantのlsの色を変えたい
vagrantのlsの色が気に入らなかったので、ホームディレクトリに”.dircolors”ファイルを置いて、.bashrcをソースして色を変ました。
.dircolorsの元データは、このsolarizedをダウンロードしてコピーして使いました。ファイルを置いた後、.bashrcをソースすればOKです。
時間があるときにもう少し良い配色に変えようと思います。
phpMyAdminを使いたい
phpMyAdminインストール
sudo apt-get update
sudo apt-get install phpmyadmin
インストール時に聞かれてくる内容は、サーバー名はapache2、その他はyまたはエンターで良いとのこと。
設定ファイル編集
次にHomestead.yamlに下記を追加。
- map: homestead.phpmyadmin
to: /usr/share/phpmyadmin/
Windowsのhostsファイルも下記を追加してください。
192.168.10.10 homestead.phpmyadmin
phpMyAdminを開いてみよう!
変更したら、Git bashターミナルより下記コマンドでvagrantを再起動。
vagrant provision
https://homestead.phpmyadmin/へアクセスすればphpmyadminが表示されます。デフォルトのIDとパスワードは下記の通り。
ID : homestead
PW : secret
phpMyAdminについては、こちらを参考にさせていただきました。
まとめ
思ったより簡単に立ち上げることができました。実際にLaravelプロジェクトの編集については別に記事にしようと思います。
また、参考にさせていただいたサイトの作者の方、どうもありがとうございました!
参考サイト
下記のページを見て構築しました。こちらのページの方が詳しいのでこちらを参照するのが良いと思います。私が構築したときのメモも書いておくのでそちらもご参考にしてください。
コメント