Linux
VirtualBox

そうだvirtualboxを使ってみよう

More than 5 years have passed since last update.

まあMAMPとかXAMPPとかでもいいんですがlinux側(centos)もっと触りたーいとか

MACの環境はクリーンなほうがいい〜とかあるわけで自分は後者でMACにはxcodeとvim拡張ぐらいしかいれないクリーンな環境を保持したいので

書いてみました。

homebrewでもいいんですがそれを見つけるためにまたググるのが億劫で。。。

環境 macosx10.8(ホストOS) centos6.3 x86(ゲストOS)


  • 多分windowsでもほぼ同様にいけると思います。

  • ホストOSが32bitのバージョンの場合は落とすisoは32bit版を落としてください。


参考にしたサイト


利便性について

virtualboxは仮想環境のエキスポートで他のメンバーに自分の環境を渡すことができます。

設定といえば共有フォルダの設定変更くらいです。

ネットワークの再設定とかも必要なしです。


用語の説明

自分は正直linux詳しくないのでまず用語がわからないので苦労した

よくググると出てくるキーワード


ホストOS


これは自分の使っているマシンのことを指します


ゲストOS


入れたいOSのことです。今回はcentOSを入れる予定なのでcentOSを指します。


virtualboxの入手

まずはここから

Download VirtualBox

MACの場合はforOSX、winの場合はforwindows hostsを落としてきてください。


OSディスクの入手

ここから入手しましょ

※今回は64bit版で話しを進めます


virtualboxネットワーク設定について

[virtualbox][network][tips] VirtualBox を利用する際のネットワーク設定の話で詳しいお話が載っています。

以下引用 [virtualbox][network][tips] VirtualBox を利用する際のネットワーク設定の話


仮想マシンをローカルマシン上で使用する場合、大体の人が実現したいネットワークの構成としては、

GuestOSは外部ネットワークに対してアクセスできてほしい。

GuestOSは基本的に外部ネットワークからは遮断しておきたい。

でも、HostOSに限り、外部からアクセスできてほしい。

という構成かな、と勝手に思っていたりする。


という構成にしたので

NAT + Host-Onlyの設定にします。

ネットワークの設定については仮想環境VirtualBoxでのネットワークの設定を参考にして済ましてください。

またMACの場合は標準でホストオンリーアダプタを設定するとエラーになりますのでvirtualboxの環境設定からネットワークを開きホストオンリーネットワークを作成しておいてください。

くわしいのは[virtualbox] virtualbox のネットワーク設定(ホストオンリーアダプタ)をみてください。


ゲストOS(centos)の起動まで

VirtualBox for OSX に Linux(CentOS6.3)をインストール のVirtualBox for OSX に Linux(CentOS6.3)をインストールを参考にしてcentOSのインストール画面までやってみてください。

※注意 virtualboxのストレージの容量についてですがはじめの設定値が途中で変更する場合結構大変(いろんなツール入れてゴニョゴニョしなくては行けない)なのでそれなりの容量を初期に確保することをおすすめします(自分は60GBくらいに設定しました)


ゲストOS(centos)のインストール

非常によくまとまっているインストールまで流れが下記に紹介されていますのでやってみてください。

#04 CentOS5のインストール::VMWare×CentOS5 Windowsでカンタン開発環境

VMwareでのお話をしていますが起動したらVMもvirtualboxも一緒です。

自分は言語選択を「英語」

インストールパッケージ選択を「ベース」のみで構成しました。

インストール後必要なものを随時yun install する感じですね


インストール完了後にやること

ここまでで慣れればだいたい1時間くらいでできると思います。

続いて最低限の開発環境を設定をしましょう。


ネットワークの設定

最初の状態だとネットワークアダプタの設定が有効になっていない為通信ができない状態ですのでネットワークの設定をしましょう

ネットワーク設定をNAT + hostOnlyアダプタで設定している場合ですと

/etc/sysconfig/network-scripts/ifcfg-eth0

がNATの設定で

/etc/sysconfig/network-scripts/ifcfg-eth1

がHostOnlyアダプタの設定になります

まあどっちも有効するだけです。


NATの自動boot

vim /etc/sysconfig/network-scripts/ifcfg-eth0

#修正前
ONBOOT="no"
#修正後
ONBOOT="yes"


hostOnlyアダプタの自動boot

vim /etc/sysconfig/network-scripts/ifcfg-eth1

#修正前
ONBOOT="no"
#修正後
ONBOOT="yes"


ネットワーク再起動

service network restart


外部接続確認

cd /tmp

wget http://google.co.jp
#htmlが保存されれば外部通信ができている


一般ユーザーの作成

ザクっと

useradd ユーザー名

passwd ユーザー名
#パスワードを入力する


yum update

これもサクッと

yum -y install yum-fastestmirror

yum -y update


selinuxを止める

こいつが色々悪さをするのでまず止めましょう

#SELinux状態確認

getenforce
Enforcing #有効になってる
#SELinux無効化
setenforce 0
#SELinux状態確認
getenforce
#SELinux無効
Permissive

#SELinuxの無効化
vim /etc/sysconfig/selinux
#編集前
SELINUX=enforcing
#編集後
SELINUX=disabled


sshの設定

これさえ入れればホストOSからターミナルで入れるので入れましょう。


参考にしたサイト

rpm -qa | grep ssh

openssh-4.3p2-16.el5
openssh-clients-4.3p2-16.el5
openssh-server-4.3p2-16.el5
#既に入ってる


SSHの設定

#6.5 sshの設定・scpの使い方でも言われていますが


公開サーバではパスワードログインは許可せず、必ず鍵認証をすること>をオススメします。というか、してください。


vim /etc/ssh/sshd_config

Protocol 2
PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication yes


SSHの起動

#sshdの起動

/etc/init.d/sshd start

#OS起動時に自動で起動する設定
chkconfig sshd on


接続確認

ゲストOS側(CentOS)のIPを調べる

$ifconfig

#下記の項目(inet)がどこかにあるのでメモしておく(デフォルトだと192.168.xx.xxx)なはず
inet addr:192.168.56.101

調べたIPで接続する

ssh ユーザー名@調べたIPアドレス


これで最低限の開発環境は揃いました。

元々は#00 VMWare×CentOS5 Windowsでカンタン開発環境を見てvirtualboxでも同じ風なセットアップ方法を書きたいなーと思って書きました。(引用が多くてごめんなさい)

またこの状態で一旦virtulaboxのスナップショットの保存しておくことおすすめします。

ちょっとqiitaだと画像アップとかないので自前でうまく説明することができませんでした。。

中の人kobitoとかに機能つけてくれれば嬉しいな。