windowsにおける開発を行っていて

・プログラムの情報がwindows環境よりもmac,linux環境の方が多い(気がする)

・パッケージ管理システムが羨ましい(chocolateyがあるけど…)

・FHSじゃないからどこに設定ファイルがあるのか探すのがキツイ。

・コマンドプロンプトのシェル能力に不満。

 

とlinuxバンザイ!な展開で、とはいえメインOSをlinuxにしたりデュアルにするのも面倒だったので

Virtualboxで軽量linuxのlinuxbeanを導入することにした。

 

手順としては、

1. Virutualboxのインストール

2. linuxbeanのisoファイルをダウンロード

3. Virtualboxを起動し、新しいVMをlinuxの設定で作成

4. VMを起動(2でダウンロードしたisoを起動ディスクとして指定)

5. isoをliveCDとしてOSが起動するので、デスクトップ上にあるアイコンをクリックしてインストール

 

という流れ。

 

インストール後は

1. メニューのデバイス>Insert Guest Additions CD Imageをクリック

2. /mediaにVBOXADDITIONS~というディレクトリがあるので、そこに移動

3. VBoxLinuxAdditions.runを起動

とすることで、共有フォルダ使えたり、ホストOS->ゲストOSのカーソル移動をシームレスに出来たりします。

 

共有フォルダの設定は

1. メニューのデバイス>共有フォルダ設定で設定を行う

2. sudo usermod -a -G vboxsf <username> でvboxsfグループにログインユーザを追加

することで可能。

 

この共有フォルダをdropboxに向けてあげることで、

dropboxにソースコードを置いてlinux環境で修正・実行することが可能になります。

もちろんlinux版のdropboxをインストールしても良いですが、

単純にネットワーク通信量2倍になるし、あんまり効率的じゃない気がします。

 

また、ゲストOS側でWebサーバやアプリを立ち上げて、それをホストOSで見る場合には

1. ゲストOS側でFirewallの設定(ホストOSからのパケットを許可してあげれば良い)

2. ネットワーク設定でポートフォワーディングを行う。

http://www.nekotricolor.com/blog/2013/04/25/956/

と設定を行うことで、ホストOSでlocalhost:8888のURLを叩くと

ゲストOSのWebサーバ(localhost:80)にアクセスできたり、

sshでログイン出来たりします。

 

 

これで

puttyに頼らずsshできるし

winscpに頼らずscpできるし

gitのインストールもワンコマンドだし

grepもfindもlessもvimも使えてbashバンザイ!だし

linuxサーバを本番環境とする場合は開発環境としても利用できる

 

というサイコーな環境が出来ました。

dropboxとか共有フォルダを利用せずにgit使うのも有りだと思います。(っていうか普通はそっち使うか)