#開発環境構築 CentOS/7編 【1】
#環境
-Mac OS X 10.9.5
-VirtualBox 6.0.0
-Vagrant 2.2.3
はじめに
mac OSのホストOSに、 「VirtualBox + Vagrant」で CentOS7のローカル仮想環境を構築しました。
大まかな流れはドットインストールと同じですが、CentOS7の場合はドットインストールの通りにはいかず、結構苦戦したので誰かの参考にして頂ければと。
今回は最初なので、 CentOS7 の仮想マシンを立ち上げ、接続するまでをメモしていきます。
VirtualBoxとVagrantをインストールする
まずは準備です。今回使用するVirtualBoxとVagrantをインストールしておきましょう。
■VirtualBox
自分のOSに合わせて選択します。Macの場合、上記画面の「OS X hosts」をクリックし、インストールして下さい。
また、古いバージョンを使っている場合は最新版をダウンロードしておいて下さい。(バージョンが古いと、後々不具合が発生する可能性があります)
・ターミナルでVirtualBoxのバージョン確認
$ VBoxManage -v
6.0.0r127566
バージョンが表示されれば、インストールは完了しています。
■Vagrant
自分のOSに合わせて選択します。
インストールできれば、バージョン確認しておきましょう。
・Vagrantのバージョン確認
$ vagrant --version
Vagrant 2.2.3
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を元に仮想マシンを初期化処理します。
今回、仮想マシン用のディレクトリとして、ホームディレクトリ直下に「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」というファイルが作成されているはずです。
この「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」と書かれているかと思います。
仮想マシンを起動する
さて、ここまでで準備は整いました。いよいよ 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アプリケーション上からも起動が確認できるかと思います。
■仮想マシンの停止・再起動・削除
起動以外のコマンドも紹介しておきます。
・停止
$ vagrant halt
・スリープ
$ vagrant suspend
・再起動
$ vagrant reload
・削除
$ vagrant destroy
停止状態のマシンを起動するのは、すでに使用したvagrant upコマンドです。
いずれも、「centos7」ディレクトリ(initした場所)に移動した状態で有効です。
仮想マシンにログインする
今はまだ起動させただけなので、ホスト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権限中は $ が # になります
また、「vagrant」ユーザーは普通にsudoコマンドが使えますので、以下でもOK.
・パスワードなしでroot権限へ
[vagrant@localhost ~]$ sudo su -
[vagrant@localhost ~]#
これだけでrootユーザーへ移行できました。
rootから抜けるには、exitコマンドまたはlogoutコマンドを使います。
[vagrant@localhost ~]# logout
[vagrant@localhost ~]$
■仮想マシンからログアウトする方法
仮想マシンからログアウトをするには、exitコマンドかlogoutコマンドを使います。rootから抜ける時と同じですね。
[vagrant@localhost ~]$ exit
おわりに
ひとまず仮想マシンへ接続することができました。
次回は開発環境構築 CentOS7編【#2】 Apacheでwebサーバーを立ち上げ、ブラウザからhtmlファイルを確認するところまでメモしていこうと思います!
※参考①https://wemo.tech
mac OS High SierraにVirtualBox+VagrantでCentOS7仮想環境を構築