質問などは、このページの一番下のコメント欄に書き込んで下さい。
1. ネットを監視するセキュリティソフト(Notne, Macfee...)を OFF にする
!secure_off.png!
2. http://sourceforge.net/project/showfiles.php?group_id=98788 から以下をダウンロード
3. coLinux-0.7.1.exe を実行してインストール
4. Ubuntu-6.06.1.ext3.1gb.bz2 を適当な解凍ツールを使い、coLinuxをインストールしたディレクトリー(ここでは:¥Program Files¥coLinux¥)に解凍します。
5. coLinux 設定ファイルを作成します。
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
6. DOSプロンプトを開き、coLinux を起動します
> D: > cd ¥Proguram Files¥coLinux > colinux-daemon @ubuntu.conf
7. 設定に間違いが無ければ、 DOS 窓に上のようなメッセージが表示され、別ウィンドウに 以下のように coLinux が起動されます。
!coLinux.png!
上のように、 ubuntu login: が表示されれば成功です。
ネットワーク構成ですが、coLinux にはPCとは別のセングメントを割り当てます。
coLinux と PC のネットワークの間は TAP-Win32 というドライバー(ブリッジソフト)が変換するので、coLinux と PC は通信が出来ます。
しかし coLiunx からインターネットにアクセスできません、そこでWindowsの「インターネットの共有」機能(NAT)を設定し、coLiunx からインターネットにアクセスできるようにします。
WindowsXP HOME Edition では、インターネットの共有で設定出来るアドレスは 192.168.0.1 に限られるので、今回は以下のように設定します。
また、PC 、インタネット接続のルーターは以下のアドレスになっているとして書きます。
1. PC 側設定
coLinuxが立ち上がった時点で、ネットワーク接続を表示すると以下のように、TAP-Win32 Adapter とうローカルエリア接続があります。
ここでは「ローカルエリア接続 3」になっていますが環境によって違う名前が付きます。
!net_list.png!
2. TAP-Win32 Adapter のプロパティーを表示し、アドレスを 192.168.0.1 に設定します。
!net_prop1.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 の設定も変更します。通常のブローバンドルーターを使っている場合は、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 以下省略
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と同様に追加
この辺でいったん、coLinux を終了してみましょう。
# /sbin/shutdown -h 0
coLinux consoleにメッセージが数行表示され Power down と表示されたら 終了完了です。
coLinuxを起動した、DOSプロンプト上の colinux-daemon が終了しているはずです。
再起動は 以前と同じく
colinux-daemon @ubuntu.conf
coLinux console はスクロールが出来ない、日本語キーに対応してないので、putty 等のターミナルエミュレータから coLinuxにログインします。
ログイン先は 192.168.0.2 です。 上で作成したアカウントでログインしてみましょう。
モジュール等のインストールで必要になる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 を入力して下さい。
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]
最新の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]
$ 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
$ sudo gem install rake -y $ rake --version rake, version 0.8.1 $ sudo gem install rails -y $ rails --version Rails 2.1.0
$ 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
ソースファイル等の作成・編集は 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!
ご質問のある方は、私のBlog にコメント願います。
WindowsPC で Ruby on Rails の開発できる環境を作ってみましょう。
初心者にもインストールが簡単なソフトを選んでみました。
http://rubyinstaller.org/ のDownload ページからRuby 1.9.2-p0 をダウンロドしインストールして下さい。
注意点 :C:\>ruby -v ruby 1.9.2p0 (2010-08-18) [i386-mingw32]
今回は、とても簡単に扱えるデータベース SQLite3 を使います。
コマンド http://www.sqlite.org/sqlite-3_7_2.zip と DLL sqlitedll-3_7_2.zip をダウンロードし展開(解凍)します。
zip ファイルの中にあった、 sqlite3.exe, sqlite3.dll は C:¥Ruby¥bin (他の場所にRubyをインストールした場合は適宜よみかえて下さい)にコピーします。
sqlite3.def は不要です。
コマンドプロンプトで以下のようなコマンドを実行してみましょう。 以下のような表示が出ればOKです。
C:\Temp>sqlite3 test SQLite version 3.7.2 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .exit ← .exit で sqlite3 コマンドから抜ける C:\Temp>
Rubyライブラリーの管理コマンド gem を最新バージョンにしておきます。
C:\Temp> gem update --system
gem (Ruby Gems) からインストールします。コマンドプロンプトで以下のようなコマンドを実行してみましょう (終了するまで時間がかかるかもしれません)。
C:\Temp> gem install sqlite3-ruby --no-rdoc --no-ri
Rails , Rake を gem (Ruby Gems) からインストールします。コマンドプロンプトで以下のようなコマンドを実行してみましょう (あるていど時間がかかります)。
C:\Temp> gem install rake --no-rdoc --no-ri C:\Temp> gem install rails --no-rdoc --no-ri
C:\Ruby\lib\ruby\gems\1.9.1\specifications\rake.gemspec ファイルを削除して下さい
Ruby のドキュメントは http://www.ruby-lang.org/ja/man/archive/ruby-refm-1.9.1-dynamic-20100729.zip はからダウンロードし適当なディレクトリーに展開して下さい。展開して出来たファイルのなかの index.html をブラウザーで表示して下さい。
Ruby (Ruby on Rails) の開発はWindowsの 「メモ帳」でも出来ますが、EmEditor Text Editor Free版 や サクラエディタ、秀丸(シェアウェア)などのエデイタ ソフトをインストールしておくと良いと思います。
ご質問のある方は、私のBlog にコメント願います。
Mac OS 10.5, 10.6には Ruby, Ruby on Rails(Gem)が予めインストールされています。
しかし、最新版ではない、irbで日本語が入力出来ないなどの欠点がありますので MacPorts(http://www.macports.org/) を使ってruby をインストールする事をお勧めします。
http://www.macports.org/install.php ページから最新のMacPortsをダウンロードしインストールします。インストール手順は通常のMacアプリと同じです。
MacPortsでインストールしたソフトは /opt/local以下にインストールされますので、bashの設定 (~./batchrc)に以下の行を追加します。export PATH=/opt/local/bin:/opt/local/sbin:$PATH export MANPATH=/opt/local/share/man:$MANPATH最初にMacPortsソフト自身とのリストを更新した方が良いでしょう。
sudo port -v selfupdate sudo port sync
ここでは新規でRuby1.9.2 をデフォルトのruby (/opt/local/bin/ruby)としてインストールする手順を書きます。もし1.8.7等と共存させる場合はrvm等を使って下さい。
MacPorts(port)を使ってインストールします。 portはソースを取得しコンパイルしてコマンドを作るのでインストルに多少時間がかかります。
sudo port install ruby19 +nosuffix sudo gem update --system
SQLite3もMacPorts(port)でインストールします。
sudo port install sqlite3
RubyのSQLite3ドライバーは Gem でインストールします。
sudo gem install sqlite3-ruby --no-rdoc --no-ri
Railsは は Gem でインストールします。Railsに必要なRakeもインストールします。
sudo gem install rake --no-rdoc --no-ri sudo gem install rails --no-rdoc --no-ri
/opt/local/lib/ruby1.9/gems/1.9.1/specifications/rake.gemspec を削除して下さい。
http://rubyforge.org/projects/rubygems/
rails todo cd todo ruby script/generate scaffold todo due:date task:string rake db:migrate ruby scrip/server
Todo.find にソートオプション を追加
1 def index
2 @todos = Todo.find(:all##(, :order => 'due')##)
3
4 respond_to do |format|
5 format.html # index.html.erb
6 format.xml { render :xml => @todos }
7 end
8 end
解答例のソースコードは http://ey-office.net/redmine/repositories/browse/rails/tags/todo_q1 で参照できます。
ruby script/generate model user name:string user_id:integer
ruby script/generate migration AddUserIdToTodo user_id:integer
rake db:migrate
ruby script/console # usersデータの作成,todos.user_id更新
User.new(:id=>1, :name=>'山田')
u.save
u = User.new(:id=>2, :name=>'川田')
u.save
Todo.update_all("user_id=1")
User.find(:all) # users の確認
Todo.find(:all) # todos の確認
quit
1 class User < ActiveRecord::Base
2 ##(has_many :todos)##
3 end
1 class Todo < ActiveRecord::Base
2 ##(belongs_to :user)##
3 end
1 <h1>Listing todos</h1>
2
3 <table>
4 <tr>
5 <th>Due</th>
6 ##(<th>Name</th>)##
7 <th>Task</th>
8 </tr>
9
10 <% for todo in @todos %>
11 <tr>
12 <td><%=h todo.due %></td>
13 ##(<td><%=h todo.user.name %></td>)##
14 <td><%=h todo.task %></td>
15 <td><%= link_to 'Show', todo %></td>
16 <td><%= link_to 'Edit', edit_todo_path(todo) %></td>
17 <td><%= link_to 'Destroy', todo, :confirm => 'Are you sure?', :method => :delete %></td>
18 </tr>
19 <% end %>
20 </table>
21
22 <br />
23
24 <%= link_to 'New todo', new_todo_path %>
1 <p>
2 <b>Due:</b>
3 <%=h @todo.due %>
4 </p>
5
6 <p>
7 <b>Task:</b>
8 <%=h @todo.task %>
9 </p>
10
11 ##(<p>
12 <b>Name:</b>
13 <%=h @todo.user.name %>
14 </p>)##
15
16 <p>
17 <b>Memo:</b><br/>
18 <%=new_line(h(@todo.memo)) %>
19 </p>
20
21 <%= link_to 'Edit', edit_todo_path(@todo) %> |
22 <%= link_to 'Back', todos_path %>
1 <h1>Editing todo</h1>
2
3 <%= error_messages_for :todo %>
4
5 <% form_for(@todo) do |f| %>
6 <p>
7 <b>Due</b><br />
8 <%= f.date_select :due %>
9 </p>
10
11 <p>
12 <b>Task</b><br />
13 <%= f.text_field :task %>
14 </p>
15
16 ##(<p>
17 <b>Name</b><br />
18 <%= f.select :user_id, User.find(:all).collect {|u| [ u.name, u.id ] } %>
19 </p>)##
20
21 <p>
22 <b>Memo</b><br />
23 <%= f.text_area :memo %>
24 </p>
25
26 <p>
27 <%= f.submit "Update" %>
28 </p>
29 <% end %>
30
31 <%= link_to 'Show', @todo %> |
32 <%= link_to 'Back', todos_path %>
1 <h1>New todo</h1>
2
3 <%= error_messages_for :todo %>
4
5 <% form_for(@todo) do |f| %>
6 <p>
7 <b>Due</b><br />
8 <%= f.date_select :due %>
9 </p>
10
11 <p>
12 <b>Task</b><br />
13 <%= f.text_field :task %>
14 </p>
15
16 ##(<p>
17 <b>Name</b><br />
18 <%= f.select :user_id, User.find(:all).collect {|u| [ u.name, u.id ] } %>
19 </p>)##
20
21 <p>
22 <b>Memo</b><br />
23 <%= f.text_area :memo %>
24 </p>
25
26 <p>
27 <%= f.submit "Create" %>
28 </p>
29 <% end %>
30
31 <%= link_to 'Back', todos_path %>
解答例のソースコードは http://ey-office.net/redmine/repositories/browse/rails/tags/todo_q3 で参照できます。
ruby script/generate migration AddMemoToTodo memo:text rake db:migrate
1 module TodosHelper
2 ##(
3 def new_line(s)
4 s.gsub(/\n/, "<br>")
5 end
6 )##
7 end
1 <p>
2 <b>Due:</b>
3 <%=h @todo.due %>
4 </p>
5
6 <p>
7 <b>Task:</b>
8 <%=h @todo.task %>
9 </p>
10
11 ##(<p>
12 <b>Memo:</b><br/>
13 <%=new_line(h(@todo.memo)) %>
14 </p>)##
15
16 <%= link_to 'Edit', edit_todo_path(@todo) %> |
17 <%= link_to 'Back', todos_path %>
18
1 <h1>Editing todo</h1>
2
3 <%= error_messages_for :todo %>
4
5 <% form_for(@todo) do |f| %>
6 <p>
7 <b>Due</b><br />
8 <%= f.date_select :due %>
9 </p>
10
11 <p>
12 <b>Task</b><br />
13 <%= f.text_field :task %>
14 </p>
15
16 ##(<p>
17 <b>Memo</b><br />
18 <%= f.text_area :memo %>
19 </p>)##
20
21 <p>
22 <%= f.submit "Update" %>
23 </p>
24 <% end %>
25
26 <%= link_to 'Show', @todo %> |
27 <%= link_to 'Back', todos_path %>
28
1 <h1>New todo</h1>
2
3 <%= error_messages_for :todo %>
4
5 <% form_for(@todo) do |f| %>
6 <p>
7 <b>Due</b><br />
8 <%= f.date_select :due %>
9 </p>
10
11 <p>
12 <b>Task</b><br />
13 <%= f.text_field :task %>
14 </p>
15
16 ##(<p>
17 <b>Memo</b><br />
18 <%= f.text_area :memo %>
19 </p>)##
20
21 <p>
22 <%= f.submit "Create" %>
23 </p>
24 <% end %>
25
26 <%= link_to 'Back', todos_path %>
解答例のソースコードは http://ey-office.net/redmine/repositories/browse/rails/tags/todo_q2 で参照できます。