Mac OSX YosemiteにVirtualBox5.0+Ubuntu14 Serverを入れる

数年ぶりのプログラミングをするために、MacBook Proにサーバープログラム開発環境を構築する。 

 

f:id:giraffyk1:20150803150746p:plain

MacBook Pro(Retina, 13-inch, Mid 2014)

OSX Yosemite 10.10.4

が開発環境になる。

 

Linux+Python(Django)+Mysql+Apacheの構成で自分用のWebサービスを作成する事が目的だ。リモート開発環境に少し興味があったが、cuiベースのエディタが好きでは無いのと、趣味の環境ということで遊びを優先して、ローカルPCに、サーバーイメージをマウントする環境を用意しようと考えた。さらにその上にMac側のソース&データフォルダをマウントして、mac側でエディタを立ち上げてしこしこと書くのに慣れているので、そういう環境を目指す。

 

【仮想環境】Vmware, Parallels VirtualBoxとある中でVmwareは使用経験があるので、Virtualboxを選択。名前が格好いいのと無料だったため。前知識なし。

 

 【Linuxディストリビュージョン】CentOSなどのredhat系に慣れているがUbuntuが最近イケてるという事でUbuntu14 Serverに決定。前知識なし。古いdebianは触ったことあるくらい。

 

Oracle VM VirtualBox https://www.virtualbox.org/

f:id:giraffyk1:20150803152519p:plain

上記ページよりOSX用をダウンロード。最新版は5.0だった。

f:id:giraffyk1:20150803152751p:plain

pkgアイコンをダブルクリックしてインストールを進める。

 

無事インストールは完了し、Launchpadから起動する。

f:id:giraffyk1:20150803153024p:plain

ようこそVirtualBoxへ!

このウィンドウの左側にコンピューター上のすべての仮想マシンがリスト表示されます。しかしまだ仮想マシンが作成されていないため、リストは空です。

新規仮想マシンを作成するにはウィンドウ上部にあるメインツールバーの[新規]ボタンをクリックしてください。

command+?キーでヘルプを表示できます。また最新情報とニュースを取得するため www.virtualbox.org を訪問ください。

 

 まだ仮想マシンが無いので、作りましょうということで[新規]ボタンから作成していく。

f:id:giraffyk1:20150803153623p:plain新しい仮想マシンの記述名を指定し、インストールするオペレーティング・システムのタイプを選択してください。入力した名前はVirtualBoxでこのマシンを特定するのに使われます。

【名前】は適当で良い。今回はpe(コードネーム)-ubuntu14(OS名)-dev(環境ステータス:開発)とした

【タイプ】Linux

【バージョン】Ubuntu(64-bit)

とした。

 

f:id:giraffyk1:20150803154011p:plain

メモリーサイズ

この仮想マシンに割り当てるメモリー(RAM)の容量をメガバイト単位で選択してください。

必要なメモリーサイズは768MBです。

 

メモリーサイズは開発環境下で動かす際に重くない程度で良いだろう。今回開発するウェブサービスはかなりシンプルなので、最低限で良い。また、OSX側でIDEやPhotoshopなどのアプリケーションを同時起動する事を考えるとできるだけ小さいほうが良いと考えた。768MBのままで良いが一応1024MBとしておいた。仮想ディスクはSSD内に作成されるので、swapしてもしれてるだろう。 

続いて仮想ディスクの設定

f:id:giraffyk1:20150803154625p:plain

ハードディスク

新しいマシンに仮想ハードディスクを割り当てることができます。その場合は新しいハードディスクファイルを作成するか、リストから選択またはフォルダーアイコンを使用してほかの場所から指定できます。

複雑なストレージの設定をする場合は、このステップをスキップしてマシンを一度作成してからマシン設定で変更を加えてください。

必要なハードディスクのサイズは 8.00GBです。

  • 仮想ハードディスクを追加しない
  • 仮想ハードディスクを作成する
  • すでにある仮想ハードディスクファイルを使用する

 

仮想ハードディスクを追加すると、MacのHDの一部を仮想ドライブに割り当てる事ができる。割り当てた仮想ドライブにUbuntuをインストールするイメージだと思われる。

作成された仮想ドライブは、Mac上では1つの巨大なファイル(といくつかの小さな設定ファイル)に見える。

また、1度仮想ドライブを作成してしまえば、環境を変えても仮想ドライブのイメージファイルをコピーしてくるだけで、他のPCで環境を再構築できる(はず)。

今回は、初めての環境構築なので、仮想ハードディスクを作成する。開発環境のSSDが128GBと余裕がないため、10GBとする。

f:id:giraffyk1:20150803155654p:plain

ハードディスクのファイルタイプ

新しい仮想ハードディスクで使用したいファイルのタイプを選択してください。もしほかの仮想ソフトウェアで使用する必要がなければ、設定はそのままにしておいてください。

 

ひとりプロジェクトで開発環境の移行を念頭に入れる必要があまりないためVDIにする。Vmwareに移行したくなったらイメージも作り直そうと思う。

 

続いての質問、ディスクサイズの可変・固定については、SSDのサイズを考慮して可変にする。

f:id:giraffyk1:20150803160211p:plain

というわけで、64bitCPU,メモリ1024MB, ディスク10GBのubuntu用仮想システムが出来上がったようだ。

 

左側の仮想システムをダブルクリックして早速起動してみる。

f:id:giraffyk1:20150803160416p:plain

Please select a virtual optical disk file or a physical optical drive containing a disk to start your new virtual machine from. (新しい仮想マシンを起動するために、仮想CD/DVDディスクファイルかディスクが入った物理CD/DVDドライブを選択してください)

The disk should be suitable for stating a computer from and should contain the operation sysytem you wish to install on the virtual machine if you want to do that now. (あなたがスタートしたい、またはインストールしたいOSが入った起動ディスクを格納してください)

The disk will be ejected from the virtual drive automatically next time you switch the virtual machine off, but you can also do this yourself if needed using the Devices menu. (ディスクは次回の再起動時に仮想ドライブから自動で排出されます。デバイスメニューから手動で指定する事もできます)

 

ここで、Ubuntuのインストールディスクイメージを要求されたので、ダウンロードしにいく。

Download Ubuntu Server: http://www.ubuntu.com/download/server

f:id:giraffyk1:20150803162527p:plain

Ubuntu Serverを選ぶ。開発時もOSXのコンソールからSSHで仮想マシンにログインして作業するので、GUIの無いUbuntu Serverを選ぶ。15系と14系とあるが 14のほうがフィーチャーされているので14.04.2 LTS(Long Time Support長期サポート)版を選ぶ。

Ubuntu Desktop - Google 検索

Linux Desktopの進化が気になって、Desktop版をイメージ検索するとOSXに少し近づいてる?左にランチャーがある。GNOMEかと思ったらUnityというデスクトップ環境らしい。へー。

 

というわけで、ダウンロード完了。先ほどの画面のフォルダマークを押して、Ubuntu Server14のイメージファイルを仮想ドライブにマウントする。

f:id:giraffyk1:20150803164129p:plain

 Start!

f:id:giraffyk1:20150803164245p:plain

Language選択画面が出てくる。日本語を選択する。

上部に何か書いてある

You Have the Auto caputure keyboard option turned on. This will cause the Virtual Machine to Automatically. (自動キーボードキャプチャがオンになっています。これにより仮想マシンが自動化されます)

 

ちょっと意味がわからない。無視してコンソール画面をマウスクリック。

f:id:giraffyk1:20150803165031p:plain

You have clicked the mouse inside the Virtual Machine display or pressed the host key. This will cause the Virtual Machine to capture the host mouse pointer (only if the mouse pointer integration is not currently supported by the guest OS) and the keyboard, which will make them unavaliable to other applications running on your host machine. (

仮想マシンのディスプレイがマウスでクリックされたか、ホストキーが押されました。これによりホスト側のマウスポインターとキーボードが仮想マシンにより補足されます(ゲストOSでマウスポインター統合が現在サポートされいない場合のみ)。ホスト側のアプリケーションでこれらが効かなくなります)

You can press the host key at any time to uncapture the keyboard and mouse (if it is captured) and return them to normal operation. (ホストキーを押すといつでもキーボードが補足されなくなり、元に戻ります)

The currently assigned host key is shown on the status bar at the bottom of the Virtual Machine window, nex to the □ icon. This icon, together with the mouse icon placed nearby, indicate the current keyboard and mouse caputure state.(現在のホストキー割り当ては仮想マシンウィンドウの一番下、ステータスバーの□↓アイコンのそばにあり、現在の状況を通知します。)

The host key is currently defined as [Left Command] (初期設定ではホストキーは、左のコマンドボタンに割り当てられています)

 

f:id:giraffyk1:20150803170851p:plain

 Ubuntu Serverをインストール

f:id:giraffyk1:20150803171118p:plain

The Virtual Machine reports that the guest OS supports mouse pointer integration. This means that you do not need to caputure mouse. (仮想マシンのゲストOSがマウスポインター統合がサポートされています。マウス補足は不要です)

 

とりあえずキーボードとマウスのキャプチャに関してはよくわからないので、無視して進める。

【インストールUI言語の選択】Japanese

【場所の選択】日本

【キーボードの設定】配列を検出する(SSH接続ならしなくても良い)

f:id:giraffyk1:20150803172118p:plain

ほとんど質問されないままネットワークの設定まで辿り着く。peシステムの開発環境なので、pe-devとしておく。 

続いて管理者名、管理者アカウントやパスワードの設定。終わってディスクパーティショニング

f:id:giraffyk1:20150803172551p:plain

ディスク全体に対してガイドによるパーティショニングを選ぶと、続いてディスクをどのように使うか尋ねられます。

パーティショニングの方法:

  • ガイド - ディスク全体を使う
  • ガイド - ディスク全体を使い LVM をセットアップする
  • ガイド - ディスク全体を使い、暗号化 LVMをセットアップする
  • 手動

ここでは、ディスクの初期化を指定する。swapサイズとかは次の項目のようなので、ガイドでそのままLVM(論理ボリューム)を作成する。仮想ディスクで割り当てでサイズ指定してあるので、全体を指定すればよい。暗号化するかどうかは好みで。

f:id:giraffyk1:20150803173107p:plain

これは貴方の現在の設定済みパーティションとマウントポイントの概要です。その設定(ファイルシステム、マウントポイントなど)を変更したいパーティション、新しいパーティションを追加するための空き領域、あるいはパーティションテーブルを初期化したいデバイスのいずれかを選択してください。

  • ガイドによるパーティショニング
  • ソフトウェア RAID の設定
  • 論理ボリュームマネージャの設定
  • 暗号化されたボリュームの設定
  • Configure iSCSI volumes

開発環境なので、おすすめされた割り当て構成のまま、パーティショニングを終了する。サーバー用であればraidや、フォーマット、各割り当てサイズを調整しよう。

 

 

f:id:giraffyk1:20150803173739p:plain

tasksel を設定しています

こまめにアップデートを適用することは、あなたのシステムのセキュリティを保つ上で重要な作業です。

デフォルトでは、アップデートはパッケージ管理ツールを使って操作を行うことで適用します。システムが自動的にダウンロードを行ってセキュリティアップデートを適用したり、CanonicalのLandscapeサービスを使い、システムをグループにまとめた上で、ウェブ経由でシステム管理を行うことを選択することもできます。

このシステムのアップグレードをどのように管理しますか?

  • 自動的にアップデートしない
  • セキュリティアップデートを自動的にインストールする
  • Landscapeでシステムを管理する

 

今回は個人の小規模ユースなので「セキュリティアップデートを自動的にインストールする」を選択。公開サーバーでも同様に設定する予定だが、エンタープライズ用途なら、手動か、Landscapeとやらを使って管理するだろう。それにしてもセキュリティアップデートだけ自動でやってくれるとは便利。

f:id:giraffyk1:20150803174358p:plain

ソフトウェアの選択

現時点では、システムのコアのみがインストールされている状態です。あなたのニーズに合うようにシステムを調整するために、以下の定義済みソフトウェアコレクションから 1 つ以上をインストールできます。

 

今回は全てスキップして、後でaptから手動インストールする。

GRUBのインストールは[はい]

f:id:giraffyk1:20150803174839p:plain

何事もなく、インストール完了。

f:id:giraffyk1:20150803174953p:plain

無事管理者アカウントでログイン完了。

 

次回はOSX側からSSH経由で仮想マシンにログインできるようにする。