Windows上の開発環境は今までXamppを入れてWindowsベースでやってきたんだけど…いろいろと無理を感じてきたので、今さらながら仮想環境を作ることにした。まぁ、昔はデザインとコーディングメインだったからあんまり困らなかったんだよね。


利用したのはVirtualBox[1]。

参考にしたエントリはこちら。

VirtualBox 2.2 と CentOS 5.3 でローカル開発環境 - もやし日記
VirtualBoxで仮想化を始めるための、もっともシンプルなチュートリアル - Unix的なアレ

インストールの手順については、上記エントリを参照することでほぼ問題ないと思う。


CentOSの環境設定については以下を参考にした。

CentOSの開発環境を整える[to-R]



以下、メモ書き。

インストール環境

  • VirtualBox 3.0.8
  • Host OS: Windows XP Professional
  • Guest OS: CentOS 5.3




ifconfigが使えない

ifconfigを使うためには、「su」ではなく「su -」でスーパーユーザになる必要があるようだ。

パソコン手探り CentOSでifconfigを使う方法

「-」というのはrootの環境変数を使用するというオプションらしい。これがない場合は通常設定されている環境変数を引き継ぐ、と。環境変数ってことは当然権限同行の話じゃなくパスが通ってるかどうかの話なので、「su」でスーパーユーザーになってもこうやれば出来るってことなんだけどね。

/sbin/ifconfig




ホストOSからアクセス可能にする

ホストOSからゲストOSにアクセス可能にし、なおかつ、ゲストOSからネットに接続できるようにするためには、ネットワークアダプタに「ホストオンリーネットワーク」と「NAT」の両方を設定すればいいそうです。

VirtualBox 2.2 と CentOS 5.3 でローカル開発環境 - もやし日記

で、設定してみたところ、確かにホストOSからアクセスできるようになった(ファイアウォール設定はオフ)けど、ゲストOSからネットにアクセスできなくなった。特に設定項目があるわけではなし…と一瞬考えたのだけど、次のコマンドを実行するだけでOKだった。

ifdown eth1
ifup eth1

なるほど。




ゲストOSを直接起動する

ショートカットに以下のようにオプションを追加する。

VirtualBox の VM を一発起動:日々のあしあと:So-net blog

VirtualBox.exe -startvm 仮想マシン名

VirtualBoxのショートカットをコピーしてきて、リンク先を例えばこうすれば良いんじゃないかな(仮想マシン名がCentOSだった場合)。

"C:\Program Files\Sun\VirtualBox\VirtualBox.exe" -startvm CentOS

クリックするとそのままゲストOSが立ち上がります。




CentOSのレポジトリのURLが変わってる

yumでmemcachedをインストールするためにレポジトリを更新しようとした。

仙人の心得 ? CentOS:memcachedをインストール

…のだけど、レポジトリのURLが変わっていて上手くできなかった。今現在は下記で手に入るよう(ミラー)。

http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm




PECL::Memcachedを入れるための長い手順

順番は多分こんな感じ

  1. レポジトリを更新
  2. yumでmemcachedをインストール
  3. yumでgccをインストール
  4. yumでg++をインストール
  5. libmemcachedをインストール
  6. yumでPEARをインストール
  7. yumでhttpd-develをインストール
  8. yumでphp-develをインストール
  9. レポジトリを追加
  10. PHPのバージョンを5.1.6→5.2.11
  11. Peclでmemcachedをインストール




PECL::APCを入れようとするとapxsがないぜって怒られる

ちなみにUse apxs to set compile flags (if using APC with Apache)? [yes] : y とすると (中略)怒られる(笑)
 

な、なんですと?

というわけで「y」ではなくて空Enterで問題なくインストールできた。




ホストOSのファイルをゲストOSで共有する

全部ゲストOS上で書くっていうんならともかく、テスト環境としてはこれが出来ないと話にならないので模索したところマウントすればいいことが判明。

Linux Salad: VirtualBoxでクリーンかつ安全に別のOSを導入する

まず「Guest Additions」をインストール。インストール方法は上記の通りなのだけど、インストールしようとするとカーネルが古いと怒られるので、最新版を入れてやる必要があるらしい。どうやら以下を実行しておくとOKらしい。

yum install gcc make kernel kernel-devel

多分必要なのは「kernel-devel」だけなのだけど、とりあえずこの通りやったらインストールできた。再起動。

Ellinikonblue.com Weblog - CentOS 5.3 on VirtualBox

で、マウントしようとすると今度はProtocol error。ああそうか、まずはデバイス(VirtualBox)に対して設定が必要だったのね…

CentOS5で共有フォルダの設定をする

というわけで設定後、以下のコマンドを打ち込んで完成。

# mount -t vboxsf hoge /mnt/hoge




マウスポインタの切り替え…

コンソール内をクリックするとゲストOSに、右CtrlでホストOSに復帰。

…なんだけど、これ結構面倒。どうにかならんのか…と思ったら、上の「Guest Additions」を入れたらマウスポインタを統合してくれた。おお。ついでに解像度が1024x768になって綺麗に見やすく。




ブラウザ(Firefox)のインストール

こちらを参考にインストール。

最新のFirefoxを利用する(CentOS 5) - NOTE Infinity - livedoor Wiki(ウィキ)

おおお、動いた。
(でもあとで、別に要らないことに気付いた。ホストOSのブラウザでアクセスすればいいから)




[*1] 最初、VMware Serverを使ってみたのだけど、ゲストOSからのネット接続が上手くできなくて(無線LANだからNATにしなくちゃいけなかったんだと思う)、設定変えたらゲストOSが立ち上がらなくなったり、サービスのVMware Host Agentが自動起動しなくなったりして鬱陶しかったので諦め。