ローカル開発環境の構築_00_自分の理解

概略

サイトの誘導に従って行ってきた操作の意味を、少し調べておく。

一連の操作内容を一文で表すと

VirtualBox仮想マシンを作成し、Vagrantで起動し、PUTTYでログインし、CyberDuck仮想マシンにファイル転送して動作を確認する。

各ツール

Virtual Box

・既存のオペレーティング・システム(ホストOS)上にアプリケーションの一つとしてインストールされ、この中で追加のオペレーティング・システム(ゲストOS)を実行することができる。
・使用している PC に仮想環境を構築してくれるクロスプラットフォーム
・インストールしたPC上に仮想的なPCを作成し、別のOSを実行できるソフト。

VirtualBoxVagrantの連携(VagrantVirtualBoxによる仮想環境の存在を検出する仕組み)

https://github.com/hashicorp/vagrant/blob/85acf0cac724ef4bfda593a66e0c17f7e4110da0/plugins/providers/virtualbox/driver/base.rb

こちらの 28 行目にある、

@vboxmanage_path = Vagrant::Util::Which.which("VBoxManage")
このようなコードで VBoxManage.exe (これは VirtualBox仮想マシンを管理するために使用されるプログラムです)の存在する PATH を調べている。VBoxManage の場所さえ分かればあとは VBoxManage を使用することで仮想マシンの操作が外部からできるような仕組みになっている。

Vagrant

・構成情報(Vagrantfile)をもとに仮想環境(VM)を再現することができる
仮想マシンの簡単な構築や、どこでも同じ環境を再現できるように仮想マシンを管理するためのコマンドラインツール。
Rubyで実装されていて、WindowsMac OS XLinuxで動作します。
・デフォルトでVirtualBoxをサポートしている
Vagrant自体には仮想化機能は無く、VirtualBoxなどの仮想化ソフトのフロントエンドとして機能し、仮想化ソフトの操作を簡単なコマンドで代行してくれます。
・仮想機械の提供自体はVirtualBoxをはじめとする仮想化ソフトウェアが行い、Vagrantはこれらソフトが用意されているのを前提として、仮想機械の設定や立ち上げに特化している。

PUTTY

・a free SSH and Telnet client
・Tera Termとともによく利用されるSSHクライアント
・リモートログオンターミナルクライアントソフト

SSH(Secure Shell)

・暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル
・パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される
Windowsでsshクライアント「PuTTY」を使う:Tech TIPS - @IT

CyberDuck

・簡単な操作で手軽にファイルをFTPサーバーにアップロード/ダウンロードできる無料FTPクライアントソフト

本学習サイトでの役割

仮想マシンにログイン(IDとパスワード入力)
・OSを最新状態にアップデート

FTP (File Transport Protocol)

・Webサーバーにファイルを転送するプロセス

分かったこと・再認識したこと

Vagrantがなければ、VirtualBoxは使いづらい物であること
・「vagrant up」はVirtualBoxを通じて仮想マシンを起動させること。

学習サイトの操作内容の意味

Vagrant:192.168.33.10仮想マシン(IPアドレス:192.168.33.10)を起動する
PUTTY:Webサーバーにログイン(IDとパスワード入力)

現時点で課題として保留しておくこと

VirtualBoxの使い方(今回のローカル開発環境の構築以外の)