誰でも気軽にWebサイトやWebアプリケーションを開発できるようになり、インターネット上に自分のサービスを公開してみたいという方も増えてきているのではないでしょうか。
今回はVagrantとVirtualBoxというソフトウェアを使って、サービスを開発するための環境の作り方について説明します。
###開発環境
Windows10
Virtualbox 5.2.22
vagrant 2.2.2
CentOS
#そもそもローカル開発環境とは
開発したWebアプリケーション等をインターネット上で公開するためにはサーバーが必要となります。サーバーにはレンタルサーバー、VPS、クラウドサーバーなどがありますが、それらのサーバーで使われているOSの大部分はLinuxです。
しかし、皆さんが使用しているパソコンのOSはおそらくWindowsかMacOSだと思います。そのため、たとえWindowsやMacOS上で正常にアプリケーションが動作したとしてもLinux上でも正しく動作するとは限りません。
そこで、公開するサーバーの環境に合わせた環境を自分のパソコンに用意する必要が出てきます。その環境のことをローカル開発環境といいます。
#VirtualBox
ローカル開発環境を構築するためにまず必要となるのが、仮想化ソフトウェアです。今回使用するVirtualBoxというソフトウェアも仮想化ソフトウェアの1種であり、これを使用することで1つのOS内で複数のOSを動かすことのできる仮想マシンを作成、管理することができます。つまり、WindowsやMacOSを搭載したパソコン上でLinuxを動かす、なんてことができます。
では早速インストールしていきましょう。
1.下のURL先のWindows用のリンクからインストーラーをダウンロードしてください。
######※Vagrantが対応していないバージョンをインストールすると後にエラーが発生するため、VirtualBox 5.2.22を選択してください。
2.インストーラーを起動したらセットアップを進めていき、VirtualBoxをインストールする。(チェックボックスは一番下だけで大丈夫です)
#Vagrant
VirtualBoxだけでも仮想マシン上での開発は可能ですが、その操作を簡単に行うために使うのがVagrant(ベイグラント)というソフトウェアです。Vagrantを使うことでVirtualBoxでの仮想マシンの作成や起動、アクセス等を簡単なコマンドで行えるようになります。
では、こちらもインストールしてみましょう。
1.下のリンク先のWindows用のリンクからインストーラーをダウンロードする。
2.インストーラーを起動したらセットアップを進めていき、Vagrantをインストールする。
#仮想マシンを作成する
VirtualBoxとVagrantのインストールが完了したら実際に仮想マシンを作っていきましょう。仮想マシンを作成するにあたって必要になるものがコマンドプロンプトです。※PowerShellでも可
コマンドプロンプトではコマンドと呼ばれる命令文を使って、フォルダを作成したり、移動したりと色んな操作を行うことができます。Windowsシステムツールの中にあるので、さっそく起動してみましょう。([Windows]+[R]でcmdと検索し、実行するのが早いかもしれません)
コマンドプロンプトが起動できたらVagrantが正常にインストールされているかを確認するために以下のコマンドを入力し、Enterを押してください。
vagrant -v
##フォルダの作成
まず、操作しやすいように仮想マシンをまとめるVagrant専用のフォルダをmkdirコマンドを使って作成します。
mkdir Vagrant
次にVagrantフォルダのなかに仮想マシン用のフォルダも作成します。cdコマンドを使ってVagrantフォルダに移動し、先ほどと同じようにmkdirコマンドで仮想マシン用のフォルダを作成し、そのフォルダまで移動します。
cd Vagrand
mkdir CentOS
cd CentOS
##Vagrantfileの編集
ここまで出来たら、以下のコマンドで仮想マシンを設定するためのVagrantfileを作成します。
vagrant init bento/centos-6.8
Vagrantfileが無事に作成できたら、エディターを使ってその中身を編集し、IPアドレスの設定を有効にしていきます。※私はVScodeを使っていますが編集できるならエディターはVimでもなんでもいいです。
Vagrantfileを開くと中身は以下のようになっていると思います。
35行目の#を消し、コメントアウトを解除し、保存してください。(35行目ではないこともあります)
config.vm.network "private_network", ip: "192.168.33.10"
#仮想マシンの起動
IPアドレスを有効にできたら、以下のコマンドで仮想マシンを起動します。
vagrant up
途中いろいろ聞かれると思いますが、OKを選択して続行していけば大丈夫です。
無事に起動が終わったら、確認のために以下のコマンドを入力します。
vagrant status
runningと表示されていればきちんと起動できています。
#仮想マシンにアクセス
仮想マシンが立ち上がったら仮想マシンにアクセスするためにPuTTY(パティ)というソフトウェアをインストールしましょう。SSHログインを行うためにPuTTYなどのSSHクライアントを使ってログインします。(他にはTera Termなどがあります)
1.下のリンク先のWindows用のリンクからインストーラーをダウンロードする。
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
2.インストーラーを起動したらセットアップを進めていき、puttyをインストールする。
インストールできたらPuTTYを起動します。VagrantfileでIPアドレスを有効にしたのでそのときの**IPアドレス(192.168.33.10)**を入力し、connection typeをSSHにしてopenをクリックします。
ユーザー名とパスワードを聞かれるのでともにvagrantと入力する。
これで通常のサーバーと同じように操作ができるようになり、ローカル開発環境を使うことができるようになります。
実際にどう開発に使っていくのかについてはまた別記事でお話しします。