Ubuntu7.04jaでrailsを使えるまで

Ubuntu7.04 の日本語ローカライズ版のLinuxRuby on Railsをインストールして動かすまでの手順。

まずインストール。


基本的な方針。

  1. aptitudeを使ってインストール
  2. Ruby on Railsで基本的に使うDBをMySQLに想定。
  3. とりあえず使える様になるまで行う。


まず、aptitudeで以下の4つをインストール

  1. rails
  2. mysql-server
  3. libmysql-ruby
  4. rubygems


以下のコマンドを実行。
怒られてもめげずにYes!Yes!Yes!

sudo aptitude install rails
sudo aptitude install mysql-server
sudo aptitude install libmysql-ruby
sudo aptitude install rubygems

rubygemsは動かすだけじゃインストールする必要はないですが、
今後開発していくとき、rubyに対するaptitudecpanのような機能になるので、

sudo gem install パッケージ名

これを覚えると後々便利です。

次にアプリを試しに作ってみる。

プロジェクトフォルダを作ります。
わたしの例だと、自分のユーザーのホームフォルダ配下にprojectと言うフォルダをつくって
そこで開発しています。

mkdir ~/project

で、projectフォルダに移動します。

cd ~/project

試しにテストアプリケーションを作ります。

rails test

ここで、railsに必要なファイルが一気に作られます。

create
create app/controllers
create app/helpers
.... (略) ...

testフォルダにプロジェクトが作られているので、testフォルダに移動します。

cd test

ここでlsをするとこんな配置になってます。

README Rakefile app components config db doc lib log public script test tmp vendor

mysql の DB に testプロジェクト用にDBを作ります。
通常、開発用、テスト用、本番用と3つとかそれ以上作る事が多いですが、今回は手抜きして
開発用のみ作成します。

mysql -u root

mysqlにログインして、DB作成コマンドを実行します。

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 5.0.38-Ubuntu_0ubuntu1-log Ubuntu 7.04 distribution


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


mysql> create database test_development character set utf8;
Query OK, 1 row affected (0.02 sec)

create database test_development character set utf8; が実際のコマンドです。
\qでmysqlを抜けましょう。


で、後はプログラムを作るだけですが、作る物をそういえば決めてませんでした。
名簿システムでも作ってみましょう。


まず、モデル(≒DB上のテーブル)を作ります。


名前とその人の説明だけ保存する事にします。

script/generate Model Peple name:text discription:text

ファイルが作成されます。

exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/peple.rb
create test/unit/peple_test.rb
create test/fixtures/peples.yml
create db/migrate
create db/migrate/001_create_peples.rb

そして、作成されたスクリプトを元に、DB上にテーブルを展開します。

rake db:migrate

こんな結果がでます。

== CreatePeples: migrating ====================================================
ーー create_table(:peples)
-> 0.4291s
== CreatePeples: migrated (0.4297s) ===========================================


pepleのscaffoadを作成します。

script/generate scaffold Peple

関連ファイルがいっぱいできます。

exists app/controllers/
exists app/helpers/
create app/views/peples
exists app/views/layouts/
exists test/functional/
dependency model
exists app/models/
exists test/unit/
exists test/fixtures/
identical app/models/peple.rb
identical test/unit/peple_test.rb
skip test/fixtures/peples.yml
create app/views/peples/_form.rhtml
create app/views/peples/list.rhtml
create app/views/peples/show.rhtml
create app/views/peples/new.rhtml
create app/views/peples/edit.rhtml
create app/controllers/peples_controller.rb
create test/functional/peples_controller_test.rb
create app/helpers/peples_helper.rb
create app/views/layouts/peples.rhtml
create public/stylesheets/scaffold.css

サーバーを立ち上げます。

script/server

3000番のポートで立ち上げるので、
http://localhost:3000/peples
ローカルの3000番のpeplesパスにアクセスすると、
Peples: indexのページが作成されます。

いちおうこれで登録、編集、削除ができます。