たかブログ

webを勉強しています。

業務 laravel の仮想環境とは

qiita.com


virtualboxとは 既存のos上で別のOSを実行できる仮想化ソフトウェア。オープンソース

一つのアプリケーションのように、別のOSを操作できるもの

  • >なぜ使うのか

 エンジニアがそれぞれつかっているmacやwin上でweb鯖やphpなどをインストールして開発環境を構築することもできるが、本番環境では別OSだったりするので、その本番環境では動作しないということになる
そこで、virtualboxを使えば本番環境と同じようにまたは近い環境で開発をすすめることができる

  • >特色

 virtualboxでは共有フォルダという機能がある
 たとばmacにあるフォルダとwin側にあるフォルダを共有することができる
 この機能で、mac側で変更した内容はリアルタイムでwin側の共有しているフォルダに反映される

https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F72985%2F3a4e6307-917f-7af3-86b7-5a96be3b4bf2.png?ixlib=rb-1.2.2&auto=compress%2Cformat&fit=max&s=44e5d88d539f6c2ea3a45d53d6deaae9

Mac のローカル上にある Laravel-A というフォルダと、ゲストOS (ubuntu)にある Laravel-B というフォルダを共有するように設定します。
このように共有設定することでコードの変更などの作業はmac側(メインローカルos)で行える
そのため、普段使用しているエディタやIDEを使うことができる
注意 mac側にはlaravelを動かすのに必要なwebサーバやphpDBなどは入っていないが、ゲストOS(ubutu)には入っているため実行できる

ホストOS 側のブラウザから 192.168.○○.○ または homestead.test と入力すると、ゲストOS側にある Laravel のフォルダを参照します。
そのため、ホストOS 側のブラウザで簡単に実行結果を確認することができます。

例えば

VirtualBox の仮想環境に Ubuntu(ウブントゥ) という OS をインストールし、Nginx(エンジンエックス) というWebサーバーを入れて、 PHPMySQL をインストールし、Laravel が動作する環境を構築する必要があります。


ほかにもいろいろ共有フォルダの設定などもする必要がある


ーー>めっちゃしんどくなる環境構築になる可能性があるので、
そこでvagrant!!










vagrantとは

ーー>vagrantとは 開発環境を簡単に構築できるソフトウェア
 ターミナルからvagrant up のコマンドを打つだけで開発環境を構築することができる
https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F72985%2Fdfe4fcd7-836b-0a74-5894-4ab46e42b6ac.png?ixlib=rb-1.2.2&auto=compress%2Cformat&fit=max&s=0d55ad7db8846d879ceced94a0517875

Vagrant は、VirtualBox に対して、仮想マシンの起動や操作、停止や破棄などの指示をしてくれます。

仮想マシンにたいしてvagrant経由での指示によるため、直接virtualboxを操作することはない







Vagrant box とは?
ーー>まあVirtualBox仮想マシンをエクスポートする機能
vagrant box add ボックス名またはURLー>
vagrant box add centos/7

これで仮想マシンを作成する
vagrant box は Users/ユーザー名/.vagrant.d/boxes/ のディレクトリにダウンロードされます。

vagrant init centos/7
これでvagrantfileが作成できる
vagrant init とコマンドを打ち、初期化したということです。
初期化すると、Vagrantfile という Vagrant の設定が記述されたファイルが作成されます
その後に、vagrant up とコマンドを打つと、仮想マシンが構築され、起動します。
Vagrant box を利用し、CentOS の仮想環境を構築する場合は、このような手順になります。



Laravel の開発環境も Vagrant box を利用することで、簡単に構築できます。
Laravel 公式で Homestead という簡単に開発環境を構築できるツールを提供しています。
この Homestead を利用して開発環境の構築を行う場合、先ほどの CentOS の手順とは多少異なります。

次は、この Homestead について見ていきましょう。









homestedとは??ーー>
Laravel 公式が提供している Homestead(ホームステード)は、Laravel が動作する開発環境を簡単に構築できるツール

Homestead を利用して開発環境の構築を行う場合は、Laravel 公式から配布されている、設定済みの Vagrantfile を利用します。
また、VirtualBox について説明したときに、ホストOSとゲストOSで共有フォルダの設定ができると説明しました。
Homestead の場合は、このような設定も Homestead.yaml というファイルに記述するだけで簡単に設定できるようになっております。
これらの Vagrantfile や Homestead.yaml などのファイルは、Laravel Homestead という名称で、一式ダウンロードできるようになっております。




Homestead で開発環境を構築するには、Homestead Vagrant box と Laravel Homestead の2つをダウンロードして用意する必要があります。

業務 windowsのコマンドプロンプトでmysqlを扱うには

http://hapisupu.com/2015/08/xampp-mysql-command-prompt/
パスを通す

パスの通しかたは注意が必要



passwordはphpmyadmin での設定が必要なのでcofigで設定が必要

XAMPPのmysqlのrootにパスワードを設定する方法 | IT業務で使えるプログラミングテクニック