ローカル開発環境とは?仮想マシンとは?

プログラミングを始めるには避けては通れない「ローカル開発環境構築」。
 
「ローカル開発環境構築って何?」
「なんのためにローカル開発環境が必要なの?」 
 
という初心者向けに、ローカル開発環境の意味やメリットを解説します。

ローカルとリモート

説明に入る前に、まず、ローカルとリモートの違いについて知らなければいけません。

かんたんに説明すると、

  • ローカル:自分のパソコン
  • リモート:自分からみてネットワークの向こう側サーバーや別のパソコン

です。

ローカル開発環境とは?

WEBアプリケーションを公開するときは、リモート側のサーバー上に設置します。

本番のサイト環境に限りなく近い仮想的な環境をローカルパソコンに用意するのがローカル開発環境です。

なぜ、ローカル開発環境を構築するのか?

ローカル開発環境を構築する一番の目的は、「開発する環境(自分のPC)」と、「公開する環境(サーバー)」のOSを揃えること。

WEBアプリケーションをインターネットを公開するためにはサーバーが必要です。

あなたの使っているパソコンのOSなんですか?おそらく、ほとんどの方がMac、Windowsのどちらかでしょう。一方、サーバーで使われているOSで大きなシェアを占めているのLinux(リナックス)です。

レンタルサーバーを借りてブログ運営やWEBサイトを運営している方は、サーバーに使わているOSを調べてみてください。

「Ubuntu」「Debian」「CentOS」と書かれたいたら、これらはすべてLinux(リナックス)の一種です。

WEBアプリケーションを公開するとき、多くのケースでは最終的にはLinux(リナックス)で動くサーバー上にプログラムを設置することになります。

MacOSやWindows上で正常に動くアプリケーションできたとしてもそれがLinuxでも上手く動くとは限りません。そのため、自分のパソコンの中に、公開する環境(サーバー)に合わせた仮想的な環境を用意して開発を行います。

ローカル開発環境を構築するメリット

ローカル開発環境を構築するメリットは次のとおり。

  • 限りなく本番環境に近い環境を用意できる
  • ホストPCと隔離された開発環境を作成出来る(ホストPCは自分のPCのこと)
  • 「Box」で共通の環境をチームで共有できる
  • 開発環境の自動化(Chef、puppetなどと連携)
  • 初心者の学習にも最適

限りなく本番環境に近い環境をローカルのパソコン内に設置することができます。そのため、「開発環境ではプログラムがうまく動いたけど、本番環境では正常に動かない!」という自体を避けることができます。

ローカル開発環境は作ったり壊したりが簡単に行えます。初心者がOS、サーバー、プログラミングの勉強をするときにも最適です。
「スナップショット」という機能あり、ある時点の状態に戻すことができます。何か設定変更を加えてうまく動かなくなってしまった場合にも、元の状態にすぐに戻るすことができます。

仮想化ソフトウェア、「VirtualBox」

 

仮想化ソフトウェア

仮想化ソフトウェア「VirtualBox」

仮想マシンとは仮想的なハードウェアのことです。物理的なサーバーを用意することなく、仮想的なサーバーを設置できます。

パソコンの中に仮想マシンを作成するには、VirtualBoxなどの仮想化ソフトウェアと呼ばれるソフトを使います。

VirtualBoxは、オープンソースツール(元になるソースコードが公開されているソフトウェア)で利用料金は無料です。

仮想化ソフトウェアを使えば、WindowsやMacの中にLinuxで動作するコンピュータを設定できます。

ホストOS と ゲストOS

物理的なパソコン(物理マシン)上で動作するOS側を「ホストOS」、仮想マシン上で動作するOSを「ゲストOS」と呼びます。

  • ホストOS:パソコン本体のOS
  • ゲストOS:パソコンの中の仮想環境上で動くOS

ホストOSとゲストOSは隔離されています。それぞれ別のOSを使うことができます。

仮想マシンは物理的にはパソコンの中ですが、振る舞いとしては、パソコンの外部のサーバー存在するのと変わりません。例えば、「ゲストOSの設定をめちゃくちゃにしまった!」という場合にもホストOS側に影響を与えません。

仮想マシンは簡単に増やしたり削除できる

仮想マシンは、必要に応じて増やしたり、削除が簡単にできます。「構築に失敗してしまった・・・」という場合にも手軽に作り直すことができます。

そのため、サーバーの学習目的としても活用できます。

 

Vagrant(ベイグラント)

仮想マシンに簡単に立ち上げ・管理・削除

仮想マシンの構築を簡単に行うために使うのが、 「Vagrant(ベイグラント)」 というソフトウェアです。Vagrantは、仮想マシンの作成、起動、接続、停止などを簡単なコマンドで出来るよう手助けするためのツールです。

Vagrantは、オープンソースツール(元になるソースコードが公開されているソフトウェア)で利用料金は無料です。

Vagrantでは仮想マシンに関する情報を Vagrantfile という設定ファイルに書きます。

ターミナルとは?

仮想マシンの設置、接続の操作には、「ターミナル」を使います。「ターミナル」言ってもあまり聞き慣れないかもしれません。
「黒い画面」といえば、ピンくるでしょうか?「ターミナル」では「コマンド」言って文字列でパソコンを操作します。

使うOSによって必要なソフトが違います。

Windows環境なら TeraTerm 。

Macの環境なら標準でインストールされている Terminal やもっと高機能なiterm2などがあります。

「コマンドで操作」というと、とてもややこしそうに思えます。難しく考える必要はありません。

フォルダを作る、フォルダを移動するという操作はマウス使ったり、パソコン操作に慣れている人ならキーボードショートカットを使ったりしているでしょう。

ターミナルでのコマンド操作も同じです。

「hajipro」という名前のフォルダを作る場合、「mkdir hajipro」というコマンドを実行します。「mkdir」はフォルダを作るときに使うコマンドです。

最後に

ローカル開発環境ついて初心者向けに解説しました。

ローカル開発環境にざっくりと理解できたら、次はVagrant(ベイグラント)とVirtualBox(バーチャルボックス)をインストールしましょう。導入方法は以下の記事を参照してください。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です