MacにVirtualBoxを入れてCentOS7を入れたメモ
ドキドキの初記事です。初めまして。
タイトルの通り、VirtualBoxをインストールしたりその上でCentOS7を動かしたりしました。
基本的なことばかりですが、備忘やブログの書き方(≒Markdown記法)の練習を兼ねてやったことをまとめます。
間違っている点や「こうしたほうがいい!」という点があればご指摘ください。
環境
- ホストOS:Mac OS X 10.12.2
- 入れるVirtualBox:5.1.14
- 入れるCentOS:7.3.1611
VirtualBoxって何
まずは基本知識。
- 自分のPC上で仮想OSを動かすためのソフトウェア
- 正確にはOracle VM VirtualBOX
- ローカルに開発環境を持てるので便利
- 作ったり壊したりもしやすい!
- 他の技術と組み合わせると更に素早く環境構築できる?(要勉強)
- Vagrant(要勉強)とか
- docker(要勉強)とか
- chef(要勉強)とか
- 似た仮想化製品は色々ある
- それぞれの違いはまだ理解があやふやだし書くの大変なので省略
MacにVirtualBoxを導入する
インストール
公式サイトからインストーラを入手する。ここではMacなのでOS X hostsを選択。
ダウンロードした.pkgを実行。特に変わった手順も無いので、あとは流れでお願いします。
最初の1台を作る
はじめは当然1台も仮想OSが存在しないので、まずは画面左上の「新規」をクリック。
とりあえず以下の設定で作った。ここにあとでCentOSを入れる。
「作成」をクリックすると、仮想マシンの実体であるファイルの在り処やサイズを聞かれる。
- ファイルの場所:いい感じのパス
- デフォルトだと$HOME/VirtualBox VMs/<上で決めたホスト名>になるみたい。
- ファイルサイズ:8GB ※好きなサイズで
- ハードディスクのファイルタイプ:VDI
- 物理ハードディスクにあるストレージ:可変サイズ
VirtualBoxでCentOSを動かす
インストーラの入手
公式サイトからISOを入手する。色々種類があるみたいだけど、ここではminimal ISOを選択。
(ISOごとの違いはこちらの記事などに書かれてました。)
CentOSの起動
VirtualBox画面で先ほど作った仮想OSを選択し、画面上の「起動」をクリック。
起動ディスクを選んで!と英語の表示が出るので、ダウンロードしたインストーラを選択する。
CentOS Linuxのインストール画面が表示されるのでエンター。
インストールが進行していく。かっこいい。
使う言語を聞かれるので選ぶ。
ちなみに、VirtualBoxのコンソールをクリックするとマウスカーソルがコンソール画面から抜け出せなくなるけど、左の⌘commandキーで解放できる。
CentOSの初期設定(インストール続き)
「インストールの概要」で色々設定できるけど、ひとまず先へ進む。
インストールが進行する。画面には「ROOTパスワード」と「ユーザーの作成」という項目が表示される。インストールが完了したら、これらを入力して「設定完了」
ログイン画面が表示されるけど、CentOSではなくVirtualBoxやVM自体の設定を先にしたいので電源オフ。
VirtualBoxのネットワーク設定
ホストOSからゲストOSにSSH接続できるようにする。
インターネット ⇔ ホストOS ⇔ ゲストOS 間の接続は、VirtualBox上の仮想のアダプタで実現する。アダプタの種類によって接続できる場所が変わる模様。以下を参考にさせて頂きました。
http://3ka2w.blog.fc2.com/blog-entry-42.html
各アダプタの概要について。
実際の設定方法について。
VirtualBoxのアダプタ設定
まずゲストOSで使うアダプタを用意する。
VirtualBox自体の「環境設定」(⌘,)から、ネットワーク→ホストオンリーネットワークを開く。
画面右の+アイコンをクリックするとアダプタができる。
できたアダプタをダブルクリックでIP等の設定が確認できる。特にいじる必要はなし。IPだけ覚えておく。デフォルトでは192.168.56.1のはず。
ゲストOSにアダプタを繋ぐ
ゲストOSの設定画面を開き、ネットワーク→アダプター2を開く。ネットワークアダプターを有効化にチェック。
割り当て:ホストオンリーアダプター
名前:さっき作ったアダプタ名
で、OK。
デフォルトのアダプター1(NAT)が、ゲストOSからインターネットへの接続を可能にするもの。
アダプター2(ホストオンリー)が、ホストOSからゲストOSへの接続を可能にするもの。
ゲストOSのIP設定
ゲストOSを起動する。ログインする。
[root@host ~]$ nmtui
NetworkManager TUIが開く。 Edit a connectionを選択する。 enp0s3がNATのアダプタで、もう片方(たぶん変な名前になってる)がホストオンリー。それぞれの設定を変更する。 (ホストオンリーのアダプタは、先に設定してからCentOSをインストールしたら変な名前になりませんでした)
NAT
以下の通り設定。
ホストオンリーアダプタ
以下の通り設定。
IPv4は値を入れる必要あり。前に確認したIPと同じセグメントに属する値を入れる。今回は、デフォルト192.168.56.1なので、192.168.56.2にした。
[root@host ~]$ systemctl restart network
ネットワークサービスを再起動。
以上でホストOSからssh可能なはず。
[root@host ~]$ ip addr show
IPが反映されてること確認したり。
macのターミナルから
$ ssh <作ったユーザー>@192.168.56.2$
で接続して試してみる。
共有フォルダ
必須ではないけどせっかくなので設定。
ホストOSとゲストOS間でフォルダを共有するにはゲストOSにGuest Additionsなるものをインストールする必要がある。
こちらの記事の通りコマンドを叩いた。
大まかな流れやポイントは、ゲストOSの仮想ドライブにGuest AdditionsのCDを挿入して、CDを適当なディレクトリにマウントして、CD内に用意されているスクリプトを実行するだけ。 あとはホストOS側で共有するためのフォルダを作って、ゲストOSに対してもVirtualBox上でそのフォルダを共有用に設定する。
これで、設定した共有フォルダを/media/sf_<共有フォルダ名>としてゲストOS上でも参照できる。
おわりに
こうして書くと長いですね。
自分用メモとはいえ、もう少し小分けにしたいです。
ともあれ、VirtualBoxをインストールして、その上でCentOSを動かせるようになりました。 OS導入直後にやるべきことが沢山ありそうですが、ひとまず今回はここまで。
その後、いくらでも壊せる環境ということで、 こちらの記事
や
こちらの記事
を参考に、gitやrubyを入れたりしました。
この辺りは分かっていないことが多すぎるので割愛。理解が深まって整理できたら書き留めたいです。
CentOSというかLinuxもほぼ初めて触りますし、macも最近使い始めたばかりなので、なんかもう分からないことだらけですね。
とりあえずVirtualBoxを使えるようになったので、色々と試してみなければ。