h1. coLinux で作る 快適Ruby on Rails開発環境 質問などは、このページの一番下のコメント欄に書き込んで下さい。 h2. 対象者 * Windows PC 上で快適に Ruby on Railsの開発がしたい人 * CUI(コマンドライン)の好きな人 * Linux(Unix)の基本的なコマンドや設定がわかる人、または Linux(Unix) を勉強したい人 h2. 参考資料 * WEB+DB PRESS Vol.40 「特集2 coLinux,Emacs,GNU screen,zsh[定番]Linux開発環境」 http://gihyo.jp/magazine/wdpress/archive/2007/vol40 h2. インストール h3. 準備しておくソフト * タミナルエミュレータ (例 PuTTY http://yebisuya.dip.jp/Software/PuTTY/) * bz2が扱える解凍ソフト(例 Lhaz http://www.chitora.jp/lhaz.html) * エディタ (例 サクラエディタ http://sakura_editor.at.infoseek.co.jp/) h3. coLinux インストール 1. ネットを監視するセキュリティソフト(Notne, Macfee...)を OFF にする !secure_off.png! 2. http://sourceforge.net/project/showfiles.php?group_id=98788 から以下をダウンロード * coLinux本体: coLinux-0.7.2.exe * Ubuntu Linux イメージ : Ubuntu-6.06.1.ext3.1gb.bz2 3. coLinux-0.7.1.exe を実行してインストール * Choose Components 画面では *Root Filesystem image Download* はチェックを外して下さい。 * インストール場所は適当に設定して下さい。ここでは *D:¥Program Files¥coLinux¥* にインストールしたとして書いています。 4. Ubuntu-6.06.1.ext3.1gb.bz2 を適当な解凍ツールを使い、coLinuxをインストールしたディレクトリー(ここでは:¥Program Files¥coLinux¥)に解凍します。 5. coLinux 設定ファイルを作成します。 * D:¥Program Files¥coLinux¥xample.conf をコピーして D:¥Program Files¥coLinux¥ubuntu.conf という名前にします。 * ubuntu.conf ファイルを以下のように変更します。(変更した行のみ書きます)
cobd0="c:¥coLinux¥root_fs"
   ↓
cobd0="D:\Program Files\coLinux\Ubuntu-6.06.1.ext3.1gb"

ro
   ↓
#ro

#mem=64
   ↓
mem=256  

eth0=slirp
   ↓
eth0=tuntap
*注意* mem= は coLinux のメモリー割り当てです。メモリーをたくさん積んでいるPCの場合は大きい方が良いかもしれません、 私が使っているPCはWindowsXP メモリー 1Gbyte のものです。 6. DOSプロンプトを開き、coLinux を起動します
> D:
> cd ¥Proguram Files¥coLinux
> colinux-daemon @ubuntu.conf
!dos.png! 7. 設定に間違いが無ければ、 DOS 窓に上のようなメッセージが表示され、別ウィンドウに 以下のように coLinux が起動されます。 !coLinux.png! 上のように、 *ubuntu login:* が表示されれば成功です。 h3. ネットワーク設定 ネットワーク構成ですが、coLinux にはPCとは別のセングメントを割り当てます。 coLinux と PC のネットワークの間は TAP-Win32 というドライバー(ブリッジソフト)が変換するので、coLinux と PC は通信が出来ます。 しかし coLiunx からインターネットにアクセスできません、そこでWindowsの「インターネットの共有」機能(NAT)を設定し、coLiunx からインターネットにアクセスできるようにします。 WindowsXP HOME Edition では、インターネットの共有で設定出来るアドレスは 192.168.0.1 に限られるので、今回は以下のように設定します。 * coLinux : 192.168.0.2 (192.168.0.2 〜 192.168.0.254 なら変更可能) * TAP-Win32: 192.168.0.1 また、PC 、インタネット接続のルーターは以下のアドレスになっているとして書きます。 * PC : 192.168.1.12 * ルーター: 192.168.1.1 1. PC 側設定 coLinuxが立ち上がった時点で、ネットワーク接続を表示すると以下のように、TAP-Win32 Adapter とうローカルエリア接続があります。 ここでは「ローカルエリア接続 3」になっていますが環境によって違う名前が付きます。 !net_list.png! 2. TAP-Win32 Adapter のプロパティーを表示し、アドレスを 192.168.0.1 に設定します。 !net_prop1.png! !net_prop2.png! 3. インターネットに接続されている接続(ここでは、ワイヤレスネットワーク接続)に「インターネット接続の共有」を設定します。 インターネットの共有はプロパティーの「詳細設定」タブにあります、 「インターネット接続の共有」のチェック と 「ホームネットワーク接続」に TAP-Win32 Adapterを選択します。 !net_prop3.png! 4. coLinux console に root でログインします。パスワードは root です、インストールが終わったら変更しましょうね。 5. ログインできたら、ネットワークの設定を変更します
# cp /etc/network/interfaces /etc/network/interfaces.org   ← 変更前のファイルはバックアップしておきましょう
# vi /etc/network/interfaces

 ※※  iface eth0 inet static 以下を下のように変更します  

iface eth0 inet static
   address 192.168.0.2
   broadcast 192.168.0.255
   netmask 255.255.255.0
   gateway 192.168.0.1
*注意* coLinux console は英語キーボードの配列になっているので、記号がキーに書かれているのと違う文字が入ります ^^); 6. DNS(name server) の設定も変更します。通常のブローバンドルーターを使っている場合は、DNS はルータのIPアドレスです。
# cp/etc/resolv.conf /etc/resolv.conf.org 
# vi /etc/resolv.conf

 ※※ ブローバンドルーターのIPアドレスを指定
nameserver 192.168.1.1
7. ネットワークを設定
# /etc/init.d/networking restart
8. 確認、まずは自分(coLinux)にpingが届くこと
# ping -c 3 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.155 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.158 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.161 ms

--- 192.168.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2015ms
rtt min/avg/max/mdev = 0.155/0.158/0.161/0.002 ms
9. OKなら TAP-Win32 にpingが届くことを確認
# ping -c 3 192.168.0.1

 以下省略
10. OKなら PC にpingが届くことを確認
# ping -c 3 192.168.1.12
 以下省略
11. OKなら ルーター にpingが届くことを確認
# ping -c 3 192.168.1.1
 以下省略
12. OKなら ネット上のサイト にpingが届くことを確認
# ping -c 3 mixi.jp
 以下省略
h3. アカウント作成 1. 自分のログイン用アカウントを作りましょう。ログイン名/パスワードは PC と同じにして下さい。
# adduser taro     ← ログイン名 trao を作成
Adding user @taro'...
Adding new group @taro' (1001).
Adding new user @taro' (1001) with group @taro'.
Creating home directory @/home/taro'.
Copying files from @/etc/skel'
Enter new UNIX password:                 ← パスワード
Retype new UNIX password:              ← パスワード
passwd: password updated successfully
Changing the user information for taro
Enter the new value, or press ENTER for the default
	Full Name []:                                       ← Enter のみでよい
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [y/N] y      ← Y を忘れずに
2. sudo が使えるように設定します
# vi /etc/sudoers
root    ALL=(ALL) ALL
taro      ALL=(ALL) ALL     ←  自分のアカウントを rootと同様に追加
h3. いったん終了、coLinux の再起動 この辺でいったん、coLinux を終了してみましょう。
# /sbin/shutdown -h 0
coLinux consoleにメッセージが数行表示され *Power down* と表示されたら 終了完了です。 coLinuxを起動した、DOSプロンプト上の colinux-daemon が終了しているはずです。 再起動は 以前と同じく
colinux-daemon @ubuntu.conf
h3. ターミナルエミュレータからのログイン coLinux console はスクロールが出来ない、日本語キーに対応してないので、putty 等のターミナルエミュレータから coLinuxにログインします。 ログイン先は 192.168.0.2 です。 上で作成したアカウントでログインしてみましょう。 h3. Cコンパイラー等のインストール モジュール等のインストールで必要になるCコンパイラー(gcc)等をインストールします。 インストールにはdebian(Ubuntuはdebianベースのlinux)の *apt* を使います。
$ sudo apt-get update    ← インストーラの更新(?)
$ sudo apt-get install libc6-dev gcc make 
途中で _Install these packages without verification [y/N]?_ 等の確認がありますが *y* を入力して下さい。 h3. rubyのインストール debian に用意されている ruby は 1.8.4 と少し古いですが、今回はこれを使ってみます。
$ sudo apt-get ruby1.8 rdoc1.8 ri1.8 libreadline-ruby1.8 irb1.8 ruby1.8-dev
$ sudo ln -s /usr/bin/ruby1.8 /usr/bin/ruby
$ ruby --version
ruby 1.8.4 (2005-12-24) [i486-linux]
h3. ソースからの rubyインストール(オプション) 最新のruby をインストールしたい場合は、ソースからインストールします。
$ mkdir Install
$ cd Install
$ sudo apt-get install zlib1g-dev libreadline5-dev libopenssl libopenssl-dev
$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p111.tar.bz2
$ tar xvjf ruby-1.8.6-p111.tar.bz2
$ cd ruby-1.8.6-p111
$ ./configure
$ make 
$ make test
$ sudo make install
$ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-linux]
h3. gem のインストール
$ mkdir Install
$ cd Install
$ wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
$ tar xvzf rubygems-0.9.4.tgz
$ cd rubygems-0.9.4
$ sudo ruby setup.rb
$ gem --version
0.9.4
h3. rake,rails のインストール
$ sudo gem install rake -y
$ rake --version
rake, version 0.8.1
$ sudo gem install rails -y
$ rails --version
Rails 2.1.0
h3. sqlite3 のインストール
$ sudo apt-get install sqlite3 libsqlite3-dev
$ sudo gem install sqlite3-ruby -- --with-sqlite3-include=/usr/include --with-sqlite3-lib=/usr/lib
Bulk updating Gem source index for: http://gems.rubyforge.org

$ sqlite3   
SQLite version 3.2.8
Enter ".help" for instructions
sqlite> .exit
h3. samba のインストール(オプション) ソースファイル等の作成・編集は Windows上のエディターで行いたい場合は samba を使って、coLinux上のディレクトリーを共有すると良いでしょう。 1. samaba のインストール
$ sudo apt-get install samba
2. samaba 用ログインの作成、 Windowsのログイン/パスワードで作成します。
$ sudo smbpasswd -a taro
New SMB password:
Retype new SMB password:      ← パスワード
Added user taro.                        ← パスワード
3. 設定ファイルの変更
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.org
$ sudo vi /etc/samba/smb.conf

 ※※  変更した行のみ書きます

workgroup = MSHOME
    ↓
workgroup = EY-OFFICE.NET   ← 自分の使っているworkgroupに合わせる

server string = %h server (Samba, Ubuntu)
    ↓
server string = coLinux server

;[homes]
;   comment = Home Directories
;   browseable = no
     ↓
[homes]
   comment = Home Directories
   browseable = no

;   writable = no
     ↓
    writable = yes

;   create mask = 0600
     ↓
    create mask = 0644


;   directory mask = 0700
     ↓
    directory mask = 0755

4. Windows 側 !my_network.png! h2. 質問 ご質問のある方は、"私のBlog":http://d.hatena.ne.jp/yuum3/comment?date=20080607#c にコメント願います。 ----