mac OS High Sierra」のホストOSに、 「VirtualBox + Vagrant」で CentOS7のローカル仮想環境を構築してみました。

大まかな流れはドットインストールと同じですが、CentOS7の場合はドットインストールの通りにはいかない部分が多くあり、結構苦戦したので誰かの参考になればと思います。

今回は最初なので、 CentOS7 の仮想マシンを立ち上げ、接続するまでをメモしていきます。そんなに難しい所はないと思いますので、さくっといっちゃいましょう。

はじめに:ベーシックなUnixコマンドについては特に説明しません。簡単なコマンド知識があることを前提とします。

目次

1. VirtualBoxとVagrantをインストールする

まずは準備です。今回使用するVitualBoxとVagrantをインストールしておきましょう。

VirtualBox

vortualbox:ダウンロードページ

vbダウンロード

自分のOSに合わせて選択します。Macの場合、上記画面の「OS X hosts」をクリックし、インストールして下さい。(Sierraでもこちらで問題なかったです)

また、Local by Flywheelとかをインストールしている人はすでにダウンロードされてるかと思いますが、古いバージョンを使っている場合は最新版をダウンロードしておいて下さい。(バージョンが古いと、後々不具合が発生する可能性があります)

ターミナルでVirtualBoxのバージョン確認

$ VBoxManage -v
5.2.12r122591

バージョンが表示されれば、インストールは完了しています。

Vagrant

Vagrantのダウンロードページ

vgダウンロード

自分のOSに合わせて選択します。

インストールできれば、バージョン確認しておきましょう。

Vagrantのバージョン確認

$ vagrant --version
Vagrant 2.1.1

2. VagrantからCent0S7のBoxを取得する

Vagrantがインストールできたら、仮想環境の元となる「Box」を取得します。

CentOS7のBoxは公式のBoxがあるので、こちらを使っていこうと思います。

公式ページの説明

vagrant init centos/7
vagrant up

これだけの手順で説明されているが、ひとまずドットインストールに沿って、Boxを個別に取得する方法でやっていこうと思います。

vagrant box add box名でBoxは取得できます。

CentOS7のBoxを取得

$ vagrant box add centos/7

すると、プロバイダーを選べと言われます。

こんなメッセージ

==> box: Loading metadata for box 'centos/7'
    box: URL: https://vagrantcloud.com/centos/7
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) hyperv
2) libvirt
3) virtualbox
4) vmware_desktop

Enter your choice: 

今回は VirtualVox を使用しているので、3番ですね。

3 を入力し、エンター

Enter your choice: 3
==> box: Adding box 'centos/7' (v1804.02) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/centos/boxes/7/versions/1804.02/providers/virtualbox.box
    box: Download redirected to host: cloud.centos.org
==> box: Successfully added box 'centos/7' (v1804.02) for 'virtualbox'!

上記のように、Successfully まで出てくればBoxが取得できたはずです。

取得したBoxはvagrant box listコマンドで確認できます。

取得したBoxの確認

$ vagrant box list
centos/7 (virtualbox, 1804.02)

今取得したcentos/7が表示されればOKです!

Boxファイルの確認

取得してきたBoxの実際のファイルは、「~/.vagrant.d/boxes」に存在しています。

boxes確認

Boxの削除

Boxの削除はbox removeコマンドで可能です。

$ vagrant box remove box_name

 

3. 仮想マシンを初期化する

続いて、取得したBoxを元に仮想マシンを初期化処理します。

今回、仮想マシン用のディレクトリとして、ホームディレクトリ直下に「centos7」という名前のディレクトリを作り、そこに仮想環境を構築してみようと思います。(ドットインストールでは「myCentOSVM」という名前でした)

ホームディレクトリにcetos7ディレクトリを作成

$ mkdir ~/centos7

今作ったcentos7ディレクトリへ移動

$ cd ~/centos7

centos7ディレクトリ上に移動できたら、initコマンドでBoxを指定し、仮想マシンを初期化します。

Box「centos/7」で初期化

$ vagrant init centos/7

以下のメッセージが出てくればOK。

A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

centos7ディレクトリを確認すると、「Vagrantfile」というファイルが作成されているはずです。

vagrantfilesの確認

この「Vagrantfile」はかなり重要なファイルです。ここに書かれている設定を元にして仮想マシンが起動します。

後々設定を変えるために中身を書き換えていきますが、今は眺めるくらいにしておきましょう。

仮想マシンの状態を確認する

Vagrantの仮想マシンの状態確認はstatusコマンドで確認できます。

一度確認してみましょう。

$ vagrant status
Current machine states:

default                   not created (virtualbox)

The environment has not yet been created. Run `vagrant up` to
create the environment. If a machine is not created, only the
default provider will be shown. So if a provider is not listed,
then the machine is not created for that environment.

上記のようなステータスが表示されれば初期化は完了しています。

まだ一度も起動させたことがないので、「not created」と書かれているかと思います。

4. 仮想マシンを起動する

さて、ここまでで準備は整いました。いよいよ CentOS7 の仮想マシンを起動していきます。
仮想マシンの起動は、vagrant upコマンドで行います。

仮想マシンの起動

$ vagrant up

少し時間が掛かると思います。

処理が終わったら、状態を確認してみましょう。

仮想マシンの起動を確認

$ vagrant status
Current machine states:

default running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.


さっきまで「not create」だったところが「running」となっていれば、無事に仮想マシンが起動できています。

VirtualBoxアプリケーション上からも起動が確認できるかと思います。

VirtualBoxでも確認可能

仮想マシンの停止・再起動・削除

起動以外のコマンドも紹介しておきます。

停止

$ vagrant halt

スリープ

$ vagrant suspend

再起動

$ vagrant reload

削除

$ vagrant destroy

停止状態のマシンを起動するのは、すでに使用したvagrant upコマンドです。

いずれも、「centos7」ディレクトリ(initした場所)に移動した状態で有効です。

5. 仮想マシンにログインする

今はまだ起動させただけなので、ホストOS(Mac)側での作業ですが、ここからは仮想マシンにログインして、ゲストOS(CentOS7)で作業していきます。

仮想マシンが起動している状態でvagrant sshコマンドを使用すると、仮想マシンへSSH接続できます。

仮想マシンへSSH接続

$ vagrant ssh

すると、ターミナルの状態が以下のように変化することがわかるかと思います。

[vagrant@localhost ~]$

初期ユーザーは「vagrant」というユーザーのようです。

pwdコマンドでホームディレクトリ確認

[vagrant@localhost ~]$ pwd
/home/vagrant

「/home/ユーザー名」がホームディレクトリとなっています。

OSも一応確認してみましょう。

仮想マシンでOSを確認

[vagrant@localhost ~]$ cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

CentOS7ですね!

rootユーザーへ移行

rootユーザーへ移行する際のパスワードは「vagrant」でした。

パスワード入力してrootへ

[vagrant@localhost ~]$ su -
password:
[vagrant@localhost ~]#    ←root権限中は $ が # になります

*サーバー初心者の方へ:Linuxでpasswordの入力中は何も表示されませんが、実際にはちゃんと入力されていますので、パスワードを入力してエンターキーを押せばOKです。また、「vagrant」ユーザーは普通にsudoコマンドが使えますので、以下でもOK.

パスワードなしでroot権限へ

[vagrant@localhost ~]$ sudo su -
[vagrant@localhost ~]#

これだけでrootユーザーへ移行できました。

*サーバー初心者の方へ:ここから以下のメモにおいて、「$ sudo 〇〇」としているコマンドは、rootユーザーになった状態で「# 〇〇」でも構いません。

rootから抜けるには、exitコマンドまたはlogoutコマンドを使います。

[vagrant@localhost ~]# logout
[vagrant@localhost ~]$

仮想マシンからログアウトする方法

仮想マシンからログアウトをするには、exitコマンドかlogoutコマンドを使います。rootから抜ける時と同じですね。

[vagrant@localhost ~]$ exit

 

おわりに

ひとまず仮想マシンへ接続することができました。

ローカル環境の構築は初めてだったので、ワクワクしながら構築していました。(この先に地獄が待っていようとは...)

次回はApacheでwebサーバーを立ち上げ、ブラウザからhtmlファイルを確認するところまでメモしていこうと思います!

- Thank you for reading. -

あなたの1クリックが励みになります\( ̄ー ̄)/

コメント

コメントする

CAPTCHA


TOPへ Top