仮想環境の構築 その1

それでは仮想環境を構築していきます。
なお、構築ではインストールのための時間がかなり必要なので、気長にやりましょう。

必要なツールのインストール


VirtualBox


仮想環境をつくるツールです。
下記のURLから自分のパソコンのOSにあったものをダウンロードしてください。
[https://www.virtualbox.org/wiki/Downloads]

  • ダウンロードが終わったら、そのファイルを開きます。
  • インストールが始まったら、基本的には設定を変えず、インストールしてしまいましょう。
  • インストールが完了したら、閉じてしまって大丈夫です。

Vagrant


仮想環境を構築するためのツールです。
よく勘違いされますが、あくまでVagrantは VirtualBoxを使いやすくする ためのツールです。
[https://www.vagrantup.com/downloads.html]

  • ダウンロードが終わったら、そのファイルを開きます。
  • インストールが始まったら、基本的には設定を変えず、インストールしてしまいましょう。
  • インストールが完了したら、閉じてしまって大丈夫です。

VirtualBoxにOSをインストール


ここから、Windowsの方はGit bash、Macの方はターミナルを使用して作業します。
ここからUNIXコマンドを使用していきますので、復習のつもりで各コマンドの意味も考えてみましょう。
なお、$はGit bash、もしくはターミナルのコマンドを打ち込む場所を意味します。

# 自分のルートディレクトリ(cdだけうったときの位置)に移動
$ cd

# 今の場所を確認(念のため、今この場所にいるんだ、くらいで確認しておきましょう)
$ pwd

# 新しくMyVagrantという名前のフォルダを作成
$ mkdir MyVagrant
$ cd MyVagrant
# さらにMyVagrantフォルダの中に、今回つくるOSの名前がついたフォルダを作成
$ mkdir centos68
$ cd centos68

# Vagrantのプラグインをインストール(気になる人は調べてみてください。)
$ vagrant plugin install vagrant-vbguest

# VirtualBoxに「CentOS 6.8」のboxを追加(作ることができる環境を追加します。)
$ vagrant box add bento/centos-6.8
# 注意!
# ここで下記のような選択肢がでます
# 1) Paloalt
# 2) Virtualbox
# 3) VMware_desktop
# これは2を選んでEnterを押してください。

# 初期化します
$ vagrant init bento/centos-6.8

# 初期化すると、Vagrantfileというファイルができているはずです。確認してみましょう。
$ ls

# viエディタで、Vagrantfileを開き、35行目のコメントを外してください。
# コメントアウトを外したら、ESCキー押下しコマンドモードに移行したら、:wq で保存終了してください。
$ vi Vagrantfile
# config.vm.network "private_network", ip: "192.168.33.10"
config.vm.network "private_network", ip: "192.168.33.10"

# 仮想環境を立ち上げ!
$ vagrant up

# 完了したら、状態を確認し、「running」とでていればOK!
$ vagrant status

さて、ここで一区切りつきましょう。
ここでエラーがでていなかれば、VirtualBoxの立ち上げまではうまくいっています。
次項では、LAMP環境に必要なものをインストールしていきます。

Q & A


Vagrant upできない


cannnot load such file -- vagrant -vbguestというエラーにより、vagrant upまで進めない方はOS、BIOSの方に問題があると推測されます。(Windows 7、8で確認)
この場合、Vagrantでの構築はやめ、 XAMPPで勉強を進めていただこうと思います ので、内勤に相談してください。

Vagrant sshができない


Vagrant ssh authentication failure

sedがうまくいかない


WindowsでGitbashを使用している方 ですが、

# この魔法のコマンドを打ちましょう。
# これは、Vagrantfileの中の、とある文字を置き換えるコマンドです。
$ sed -i '' -e 's/# config.vm.network "private_network", ip: "192.168.33.10"/config.vm.network "private_network", ip: "192.168.33.10"/' Vagrantfile
sed -i '' -e 's/# config.vm.network "private_network", ip: "192.168.33.10"/config.vm.network "private_network", ip: "192.168.33.10"/' Vagrantfile

を打ったときに下記のエラーが表示されるようです。
原因はまだ調査中ですが、現状問題はないようですので、そのまま進めてください。

vagrant upでこんな赤いメッセージが出る


Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant

The error output from the command was:

/sbin/mount.vboxsf: mounting failed with the error: No such device

仮装環境にログイン後に解決していきます。
まずは以下で仮装環境内のCentOSにログインします。

$ vagrant ssh
# プロンプトが以下のようになりましたら、ログイン成功です。
[vagrant@localhost ~] $ _

ログイン後、カーネルをアップデートします。

[vagrant@localhost ~] $ sudo yum -y update kernel

アップデートが終了したら、以下をそのまま実行してください。必要なものをインストールします。

[vagrant@localhost ~] $ sudo yum -y install kernel-devel kernel-headers kernel-tools kernel-tools-libs

インストールが完了したら、一度仮装環境を脱出して以下を実行します。

[vagrant@localhost ~] $ exit
$ vagrant reload

これで大丈夫です。
完了したら、再度ログインして作業を続けてください。

vagrant ssh

 

仮想環境(VirtualBoxとVagrantのイメージ)


仮想環境の構築ということで VirtualBox 、 Vagrant の2つをインストールして、色々とコマンドを操作してきました。
しかし、一体何が起きているのかイメージしづらい箇所もあるかと思います。
ここまでの作業で、PCの中がどんな状況になっているのかを中心に見ていきましょう。

VirtualBoxとVagrantの関係

仮想環境の構築には、まず以下の2つをPCにインストールします。
・VirtualBox(サーバーを構築するためのもの)
・Vagrant(VirtualBoxを簡単に操作できるためのもの)

VirtualBox を使えば、自分のPCの中にいくつもサーバーを立ち上げることができます。
ただ、VirtualBoxは便利なのですが、設定が色々面倒なのです…。
それを簡単にコマンドで操作できるようにしてくれるものが「 Vagrant 」になります。

まず、PCに VirtualBox と Vagrant をインストールする。

Vagrant を操作して、裏側で VirtualBox を動かしてサーバーを立ち上げる。

ここまでの作業は、以下のようなイメージです。

「VirtualBoxにOSをインストール」の構成

コマンド操作についてです。
「 MyVagrant 」という名前のフォルダを作成したり、「 box 」とやらを追加したかと思えば「 Vagrantfile 」というファイルを編集したり…
こちらに関しても、何をしているのかよくわからないところもあると思います。
コマンドの意味と、この作業をするとPCの中でどのような構成になっているのか、見ていきます。

<仮想環境の構築>
サーバー1つに対して、1つのフォルダ が必要になります。
研修では「 centos68 」というフォルダの中でサーバーを作っています。

そういえば、VirtualBoxを使えば、 複数のサーバー を簡単に作ることができるのでしたね。
この先、2つ3つとサーバーを増やしていきたかった時に管理がしやすいように、
それらをまとめた( MyVagrant というような)フォルダがあれば便利です。

これらの理由から、2つのフォルダを作成しています
・1つのサーバーを管理する「 centos68 」フォルダ
・サーバーが入っているフォルダをまとめておくための「 MyVagrant 」フォルダ

図で見ると、以下のような構成になっています。

例えば、もう一つサーバーを作りたければ「 MyCentOS 」のように適当にフォルダを作成します。
その時、ipアドレスはかぶらないように「192.168.33.11」のように設定してあげてください。

「VirtualBoxにOSをインストール」のコマンドについて

復習にもなりますが、全体の作業の流れを先に確認しておきましょう。

 「 MyVagrant 」を作成(サーバー達をまとめておくため)
 「 MyVagrant 」フォルダの中に「 centos68 」フォルダを作成(ここでサーバーを立ち上げる)
 「 centos68 」フォルダの中で Box を追加
 仮想マシンの初期化
 「 Vagrantfile 」を編集

(①と②はフォルダを作って、そこに移動するだけですね)


最初に「vagrant box add bento/centos-6.8」というコマンドでBoxを追加する作業があります。
( vagrant box add 以降はインストールしたいBoxに合わせて変えてください)

Boxというのは「 仮想マシンのテンプレート 」になります。
というのも、仮想マシンには色々な構成のものがあります。
そのテンプレートとなるものがWeb上に公開されているので、そちらを使ってしまおうというわけです。
今回は「 CentOS 6.8 」というBoxを追加しました。


サーバーの設定をしていきたいのですが、そのためには「 Vagrantfile 」というものを編集する必要があります。
まず、次のコマンドで初期化処理をします。
vagrant init bento/centos-6.8
初期化が行われると、自動で「 Vagrantfile 」が作成されるのでサーバーの設定を行うことができるようになります。


今回は、ipアドレスの設定をするために
「 Vagrantfile 」をviエディタで開いて編集していきます。
ipアドレスの設定が記述されている箇所のコメントアウトを外せばデフォルトで「192.168.33.10」が設定されます。

※「vagrant up」をするときの注意点
仮想環境を立ち上げるためには vagrant up のコマンドで実行できます。
その時、自分がいる場所が 立ち上げたいサーバーがあるディレクトリにいること を確認してください。

カテゴリー

アーカイブ

Close Bitnami banner
Bitnami