#目標
・仮想環境の理解と開発環境構築
・win・macどちらでも構築ができる
・現場に出た時に一番に行う&躓くであろう環境構築の対策
#仮想環境とは
わかりやすくすると、PCの中にもう一つPCが入っている状態です。
普段使用しているPCの設定に影響を与えることなく別のPCを用意できるため開発環境でいろいろと試すことができます。別のPCなので、仮想環境を操作するためには「ssh(遠隔操作)」という通信接続手段が必要になります。
#VirtuakboxとVagrant
Virtualboxで仮想環境を作り、Vagrantで操作していきます。
野球に例えるとVirtualboxは野球場、Vagrantは野球場を作るために指示を出す人(マネージャー)のような感じです。
#仮想環境構築
VagrantはVirtualbox上で動いているのでまずは、「Virtualbox」をインストールする。
https://www.virtualbox.org/wiki/Downloads
https://www.oracle.com/virtualization/virtualbox/
ダウンロードしたファイルを実行して指示通りに進めるとインストール完了になります。
次にVagrantをインストールします。
https://www.vagrantup.com/downloads.html
※winの場合はここで一度PCを再起動
MacのOSがHidh SierraまたはMojaveの場合、以下の設定が必要です。
① 環境変数
② セキュリティとプライバシー
③ システム・ソフトウェアの読み込み許可
④ 変更カギをクリック
winの場合、次に仮想環境に接続するために「SSHクライアント」というアプリケーションが必要になります。
SSHクライアントにはいろいろありますが、今回はMobaXtermを使います。
https://mobaxterm.mobatek.net/
インストールが完了したら、Vagrantを立ち上げる準備を行います。
まず、最初にvagrant-vbguestというプラグインをインストールします。ターミナルまたはコマンドプロンプトで下記のコードを入力
$ vagrant plugin install vagrant-vbguest
次にVagrantの初期設定をするためにVagrantfileを利用します。VagrantfileはVagrantの初期設定が書かれているファイルです。
Virtualboxにboxファイルを登録する
http://www.vagrantbox.es/
https://app.vagrantup.com/boxes/search
自分はubuntu-trusty-32を選択しました。
$ vagrant init box名
でVagrantfileを生成
Vagrantfileをdesktop/work/vagrantに配置しました。
$ cd vagrant
Mac
ユーザー名:vagrant ユーザー名$
Win
C:\Users\ユーザー名\Desktop\work\vagrant
となっていれば大丈夫です。
Vagrantを起動
$ vagrant up
初回起動時はとても時間がかかります。(スペックにもよるが、1~3時間)
コンソール上で汽車のマークが出ていれば成功です!
Macではすべてターミナル、
WinではコマンドプロンプトとSSHクライアントを使ってきました。
$ cd vagrant up (vagrant起動)
$ cd vagrant halt (vagrant終了)
これで開発環境の立ち上げまで行うことができました。
#SSHクライアント
起動時にログインを求められます。以下を入力。
ホスト名 :127.0.0.1
port :2222
次にログインするためのユーザー名を入力し、秘密鍵をクリックします。
ユーザー名 :vagrant
vagrant/machines/default/virtualboxに秘密鍵(private_key)が表示され、ファイルの種類を「all」にした状態でクリックします。
これで秘密鍵を設定し、ログインすることができるようになりました。
Macの場合
$ vagrant ssh
vagrant@vagrant-ubuntu-trusty ~$
となれば接続完了です!
現在の状態は、仮想環境にある自分のPCとは別のPCなので、ファイルやデータを共有で利用できる作業場所に移動する必要があります。
共有フォルダとは仮想環境と自分のPCの双方から見ることができるものです。
自分のPCにおける共有フォルダの場所はVagrantfileが置いてある場所です。
仮想環境における共有フォルダの場所は/vagrantです。
仮想環境での共有フォルダへの移動
$ cd /vagrant
cdの後に半角スペースを忘れずに!
以上で終了になります。
早速、Railsアプリを生成してみます。
$ rails new アプリケーション名
これでひな形が作成されます。
仮想環境からログアウト
$ exit
仮想環境のシャットダウン
$ vagrant halt
#参考
・https://qiita.com/ozawan/items/160728f7c6b10c73b97e
・https://qiita.com/TakashiOshikawa/items/d2fb48d59e9e316af9a2
・https://qiita.com/kanpou0108/items/315b53ac31e2811c2ba1