windowsにvagrantとvirtualboxでWeb開発環境をつくろう。(その1)仮想マシン作成まで

シェアする

Webサーバーの仕組み

公開用サーバーとローカル環境

Webサイトは、Webサーバーにアップします。

でも、開発中のものを誰の目にも触れるサーバーにアップするわけにはいきません。

また、公開用サーバーとして使えるサーバーは高負荷にも耐えられる代わりに高価だったりします。

Webサイトの開発中は、公開用のサーバーのほかに、ステージング用サーバーといって最終確認をするサーバーを使うこともあります。また、そのほかに、各開発者は、自分のパソコンの中にローカル環境と呼ばれるWebサーバーを構築して、その上でデバッグや動作確認することになります。

サーバーはレンタルサーバーを借りるのが良いです。ほとんどのサーバーにはLinuxというOSがインストールされていて、その中でapache(アパッチ)やNginx(エンジンエックス)というようなWebサーバーのアプリが、Webページを公開しています。

つまり、誰かがブラウザでサーバーにアクセスすると、apacheがそのアクセス要求に対して、該当するページのデータを送るんです。

そして、動的な(アクセスするたびに表示内容を変えられる)Webサイトを作るのに、プログラム言語として人気のあるものの一つにPHP(ピーエイチピー)があります。

また、データを管理するのにデータベースを使います。人気のあるのはデータベースソフトにMySQL(マイエスキューエル)がありあす。Webサーバーとして使うコンピュータには、例えば、

Linux + Apache + MySql + PHP

のような構成が必要になります。

これらのアプリの頭文字をとって、

LAMP(ランプ)

と呼んだりします。

LAMP環境をWindowsパソコンにもインストールすれば、自分のパソコン(これをローカル環境と呼ぶこともあります。)でWebの開発を進めることができるんです。

Webサイトが完成したら、実際に公開するために、レンタルサーバーにWebサイトをコピーすればよいのです。

で、レンタルサーバーもいろんなレベルがあって、どこまで自分でインストールするかというのが選べるんですが、とりあえず、この記事では、ローカル環境(自分のパソコンって意味ですね)に、LAMPをインストールする手順を説明します。

Windowsパソコンでのローカル環境の構築には、XAMPPを使うかVagrantを使うか選べます

ローカル環境の構築ですが、Windowsでは、XAMPPというパッケージソフトをインストールするか、Vagrant(ベイグラント)という、仮想環境を管理するソフトを使う方法が選べます。

XAMPP

XAMPPは、Apache、MariaDB(Mysqlの後継)、PHP、Perl がセットになったWeb開発環境です。Windows版、Mac版、Linux版などがあって、Windows版をインストールすれば、簡単にWeb開発環境が構築できます。

でも、Windows版はWindowsアプリとなるので、通常Linuxで構築される公開用Webサーバーとの違いが大きくなります。つまり再現性が低くなります。

また、例えば、Mysqlを使いたいとか、特定のPHPバージョンを使いたいとかを言い出すと、結局、追加でインストールしなければいけなくなるのですが、だんだん面倒が増えてきます。

基本的には、XAMPPのパッケージの場合、そのままのバージョンで使うというのが良いでしょう。

手軽だけど、公開用Webサーバーと違いがある、細かくバージョンを設定するのが面倒というのが特徴です。

Vagrant

正確には、Vagrant + Virtualbox + Linux + Apache + Mysql + PHP をインストールすることになります。

Virtualbox というのが仮想マシンといって、Windowsの中に、もう一つパソコンがあるふりをしてくれるソフトになります。

例えば、Virtualbox をインストールすれば、その中に、Windowsをインストールすることも、Mac OS をインストールすることもできるんです。仮想のパソコンになるんですね。

で、Vagrantは、Virtualbox を管理するためのコマンドラインツールです。Virtualbox は、GUI(グラフィックユーザインターフェース)で操作するため、マウスでボタンをクリックしていったりしないと使えないんですが、それだと、自動化するのが大変ですし、たくさんの仮想マシンに全く同じ環境を構築したり再現させるのが大変になるんです。

そこでVagrantを使うことにより、設定ファイルを書いておけば、何回やっても間違いなく同じ環境を構築することができるんです。

Vagrantの設定ファイルを人に見せれば、その人も同じ環境を楽に構築できるんです。

複数人でWebサイトを開発しているとき、みんなが自分のパソコンに同じローカル環境(=仮想のサーバー)をつくるのにVagrantはとっても便利なんです。

Vagrantを使ってローカル環境を構築する手順

では、Vagrantを使ってローカル環境でWebサイトを構築する手順を説明していきます。

ちなみに、お手軽にWeb開発を体験できるXAMPPの環境の作り方は、記事「Windowsにウェブ開発環境を入れよう:MySQL付きXAMPPのインストール手順」で説明しています。

実際のところは、XAMPPもプログラミングの仕事に十分つかえます。でも柔軟性ではvagrantに分があります。

この記事では、vagrant とVirtualBoxをインストールして、仮想マシンを構築し、その仮想マシン上でLinux OS を動かすところまでを行います。

そこまでできれば、サーバーが手元に入ったことになります。あとは、そのサーバーの中にどのようなソフトを構成していくか考えていくことになります。これは次回以降とします。

手順1. vagrantのインストール

ダウンロード

vagrantのwebサイトに行きます。

「DOWNLOAD x.x.x」のボタンをクリックしてダウンロードページに移動します。

Windows用の64-bitをクリックします。もしwindowsが32bitだったら、32bit版をダウンロードしてください。

自分のWindowsが 32bitか 64bitか不明な場合は、記事「Windowsのバージョン、32bitか64bitかを調べる方法」を確認してください。

インストール

ダウンロードしたら、ファイルを実行します。

「Next」でスタートします。

ライセンスに同意します。「I accept the terms in the License Agreement」にチェックして「Next」で進みます。

インストールフォルダを設定して「Next」ですすみます。
特に変更しなくてよいです。

「Install」をクリックしてインストールを開始します。

インストールが開始します。

「Finish」で終了します。

ここで再起動を要求されます。いったん再起動しましょう。

手順2. Virtualboxのインストール

ダウンロード

VirtualboxのWebサイトへ行きます。

左側メニューから「Download」をクリックします。

最新版であるVirtualBox 6.0.0 の「Windows hosts」をクリックし、インストーラをダウンロードします。

※Windowsのビット数が32bitの場合、VirtualBox 5.2を使用してください。VirtualBox6.0は、64bitしかないとのことです。

インストール

ダウンロードしたインストーラファイルを実行します。

インストーラが起動します。「Next」で開始します。

インストール構成、フォルダを選択しますが、当初のままで問題ないです。
「Next」で進みます。

ショートカットの設定です。
Virtualboxはvagrantから使用するため、特に思い入れがなければ、チェックを外して問題ないです。スタートメニューにはあったほうが良いので、一番上だけ残しておきます。

インストールを開始します。インストール中は、ネットワークがいったん切断されるため、別用途でネットワークが切断されて困る場合は、注意してください。

「Yes」でネットワークが切断されることを了承します。

「Install」をクリックしてインストールを開始します。

インストール中です。

Oracleのドライバーのインストールの確認ウィンドウが表示されたら、「インストール」をクリックします。

「Finish」で画面を閉じます。特にVirtualBoxを開く必要はないため、インストール後のVirtualbox起動チェックは外しておきます。

インストールできているか確認

Vagrant と VirtualBoxのインストールが終わったら、コマンドプロンプトから確認しましょう。

「スタートメニュー→Windowsシステムツール→コマンドプロンプト」で、コマンドプロンプトを起動します。

vagrant -v と入力してみましょう。

下図のようにバージョンが表示されたらインストール成功しています。

手順3. Git for Windowsをインストール

上記では、vagrantのコマンドを入力するのにコマンドプロンプトを使いましたが、これだと端末アクセスするコマンドラインとしては貧弱なので、ターミナルをインストールします。

Git for Windows というのは、バージョン管理システムなのですが、gitが使えるbash環境(シェル環境)が使えます。vagrantのコマンドを使ったり、仮想マシンにSSHで接続したりするのに、bash環境が便利なので、Git for Windowsをインストールします。

インストール方法は、記事「WindowsにGitをインストールする手順」に説明しています。

手順4. 仮想マシンへOSのインストール

仮想マシン(仮想のコンピュータ)にインストールするOSを選択

OSをゼロからインストールすることもできますが、面倒なので、インストール済みのイメージをダウンロードしましょう。

最近、ノートパソコンを買っても、WindowsなどのOSの自分でインストールすることはないですよね。

Windowsがプレインストールされたパソコンを買っていると思います。

そんな感じで、すでにインストールされてある程度アプリも入ったイメージが、いろいろと公開されているので、利用しましょう。

Boxの検索

vagrant では、インストールされたイメージのことを、box(ボックス)と言います。

boxを利用することによって、セットアップ済み・インストール済みのイメージから開発を進めることができます。

ここでは、bentoシリーズのCentOS(セントオーエス、Linux OSのディストリビューション、つまり配布用セットの一つ)を使ってみます。

通常Linuxを使うときは、Linux そのままでインストールするのではなく、ディストリビューションを選んで、インストールします。ディストリビューションに含まれているのは、Linux OS自身(カーネルと呼びます)のほかに、コンパイラやスクリプト言語、ブラウザやwebやメールなどのサーバーアプリケーションです。

ディストリビューションには、CentOSのほかにも、Debian(デビアン)系列のもの、Red Hat系のものなどで、数十種類もあります。

CentOSはRed Hat系列の中の1つです。

私は業務で何度もCentOSのサーバーを扱ってきたので、ここでもCentOSを選択します。

vvagrantのBoxの検索ページへ行きます。

検索テキストボックスに、 bento centos と入力して、Enterキーを押して検索します。

「Recentry Updated」(最近更新された順表示)をクリックすると、最新バージョンとしてbento/centos-7.5 が見つかりました。これを使うことにします。

bento/centos-7.5をクリックすると、このBoxの説明が表示されます。

下図を見るとVagrantfile(vagrantの設定ファイル)への記述方法が書いてあります。

また、「New」タブをクリックすると、新規で仮想マシンを作成するためのコマンドが表示されます。

つまり、以下のコマンドを使うことによって、このBoxを使うことができるということが分かりました。

仮想マシンの作成

それでは、仮想マシンを作りましょう。

まずは、仮想マシンを管理するフォルダを作成します。

仮想マシンを管理するフォルダの作成

どこでもよいです。

私はCドライブに、

C:\data\tk\vagrant\centos7

というフォルダを順番に作りました。

centos7フォルダを右クリックして、コンテキストメニューで「Git Bash Here」をクリックすると、bashというシェルが起動します。

下図のような画面です。コマンドプロンプトに似ていますが、LinuxなどのOSで使われるシェルと言われるテキストでのコマンド入力できる端末であり、ここからvagrantを操作します。

例えば、ここで、

と入力すると、先ほどのように、vagrant のバージョンが表示されます。

仮想マシンの作成と起動

では、このフォルダを管理フォルダとして、仮想マシンを作ります。
このフォルダで次の2つのコマンドを入力します。

vagrant init で、Vagrantファイルが生成されます。
vagrant up で、Vagrantファイルの設定どおりに仮想マシンをセットアップして、起動します。

最初は、イメージをダウンロードするため、かなり時間がかかります。

通信環境にもよりますが、30分から数時間でダウンロードが終わって設定されました。

上図のようになれば、仮想マシンが設定されて、しかも起動されてます。

$はコマンド入力待ち状態です。 vagrant status  と入力して、状態を確認してみましょう。

Current machine states: が runnning となっていたら、仮想マシンが起動しています。

仮想マシンにアクセス

仮想マシンが起動したら、SSHを使って仮想マシンにアクセスしてみましょう。

vagrant up  をした後、 vagrant ssh と入力することで、仮想マシンにSSHでログインできます。

下図のように、ログインすると [vagrant@localhost ~]$ の表示に変わります。

この表示をコマンドプロンプトと呼びますが、プロンプトは促すという意味があり、つまりコマンドの入力待ちを意味します。

コマンドプロンプトの表示の意味ですが、

  • vagrant がユーザ名、
  • @localhost がホスト名です。
  • ~ はカレントディレクトリで、ホームディレクトリを意味します。
  • $ がコマンド入力待ち、またユーザがroot権限(管理者権限)なしの一般ユーザがログインしているという意味になります。

簡単に言うと、コマンド入力待ちということです。

OSのバージョンを確認してみましょう。

cat /etc/redhat-release  と入力してみてください。

CentOS の バージョン 7.5.1804 と表示されました。

また、インストールされているパッケージ(アプリケーション)の確認をしてみます。

yum list installed と入力します。

結果は下図のようになります。

ずらずらっとインストール済みのパッケージ名が表示されます。

細かくは理解していなくても問題ありません。

このリストを見ると、apacheやPHP、Mysqlなど、LAMP環境のアプリケーションが入っていません。これらはこれからインストールしていきます。

とりあえず、ここまでできれば、仮想マシンの作成とOSインストールまでは終了です。

ログアウトして、仮想マシンの電源OFFというかシャットダウンをしておきましょう。

仮想マシンのシャットダウン

まず、 exit で、ログアウトします。

windows10マシンに戻ってきたら、 vagrant halt  と入力して、仮想マシンをシャットダウンしましょう。

vagrant status  でシャットダウン済みか確認します。

Current machine statusが poweroff となっていればOKです。仮想マシンが動いたまま、Windows10(ホストOS)をシャットダウンすると、仮想マシン上での作業が消えてしまうこともあるので注意してください。

まとめ

windows10のローカル環境に、Webアプリの開発環境を構築するすることができます。

そのために、本記事では、vagrant + virtualbox を使って、仮想マシンを作り、Linuxをインストールするところまで説明しました。

次回以降で、Apache, Mysql, PHP をインストールして動作確認までしていきます。
予定としては、CentOS7/apache2.4/PHP7.1/MySQL5.7 の各バージョンを使います。

ぜひ、今回の記事で仮想マシン上でLinux OS を動かすところまで挑戦してみてください。

記事一覧

windowsにvagrantとvirtualboxでWeb開発環境をつくろう。(その1)仮想マシン作成まで

windowsにvagrantとvirtualboxでWeb開発環境をつくろう。(その2)IPアドレスとホスト名の設定

windowsにvagrantとvirtualboxでWeb開発環境をつくろう。(その3)LAMP環境構築の概略

windowsにvagrantとvirtualboxでWeb開発環境をつくろう。(その4)手作業でLAMP環境構築

windowsにvagrantとvirtualboxでWeb開発環境をつくろう。(その5)itamaeを使って自動でLAMP環境構築するには

この記事が気に入ったら
いいね ! しよう