<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4643272829788237240</id><updated>2011-11-28T09:09:45.442+09:00</updated><title type='text'>leave a note [message] behind on Rails</title><subtitle type='html'>ruby on Rails開発時のメモ置き場です。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-8852714119256769643</id><published>2008-01-08T16:41:00.000+09:00</published><updated>2008-01-08T16:44:14.415+09:00</updated><title type='text'>RailsのMailer(TMail)のメールアドレスドット問題</title><content type='html'>TMail(0.10.7で確認)だと3つ以上連続するピリオドを持つアドレスは不正と判断して、弾いてしまいます。&lt;br /&gt;なので、Railsでメールを受信する機能を使うときに、送信アドレスのフォーマットが規約RFCに反している場合でも処理を続けるようにする対応をしてみた&lt;br /&gt;とくに、携帯のドコモ、auは規約に準じていない(2007年12月時点)ので注意。&lt;br /&gt;反したメールアドレスとは、3つ以上連続するピリオドを持つアドレスなど。&lt;br /&gt;hello...yes.i.do.@your.ne.jp&lt;br /&gt;&lt;br /&gt;参考ページ&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/urekat/?of=1"&gt;urekatのスカンク日記３　2007-11-1の記事&lt;/a&gt;&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/technohippy/searchdiary?word=*%5BRails%5D"&gt;ずっと君のターン　2007-11-26の記事&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;■まず、parser.yを手に入れる&lt;br /&gt;Rails1.2.3のパケージに含まれるTMailにはparser.yが存在しない。&lt;br /&gt;バージョンを確認（info.rbの中身のコメント上部）してTMailを単体で&lt;a href="http://rubyforge.org/frs/?group_id=4512"&gt;DL&lt;/a&gt;すればparser.yが手に入ります。&lt;br /&gt;&lt;br /&gt;そいつを編集する。以下のをみてなんとなく修正する&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;lib/tmail/parser.y&lt;br /&gt;&lt;br /&gt;tkrmb:~% svn log -r 3329 http://i.loveruby.net/svn/public/tmail/trunk/&lt;br /&gt;------------------------------------------------------------------------&lt;br /&gt;r3329 | aamine | 2006-10-29 13:05:44 +0900 (日, 29 10 2006) | 3 lines&lt;br /&gt;&lt;br /&gt;* lib/tmail/parser.y (dots): allow many dots for mobile phone addresses.&lt;br /&gt;* test/testaddress.rb: test it.&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------------------&lt;br /&gt;tkrmb:~% svn diff -r 3328:3329 http://i.loveruby.net/svn/public/tmail/trunk/lib/tmail/parser.y&lt;br /&gt;Index: parser.y&lt;br /&gt;===================================================================&lt;br /&gt;--- parser.y    (リビジョン 3328)&lt;br /&gt;+++ parser.y    (リビジョン 3329)&lt;br /&gt;@@ -201,7 +201,7 @@&lt;br /&gt;             | local            { Address.new( val[0], nil ) }&lt;br /&gt;  &lt;br /&gt;   local: local_head&lt;br /&gt;-       | local_head '.' { val[0].push ''; val[0] }&lt;br /&gt;+       | local_head dots { (val[1] + 1).times { val[0].push '' }; val[0] }&lt;br /&gt;&lt;br /&gt;   local_head: word&lt;br /&gt;                 { val }&lt;br /&gt;@@ -225,9 +225,11 @@&lt;br /&gt;                   val[0]&lt;br /&gt;                 }&lt;br /&gt;&lt;br /&gt;-  dots      : '.'     { 0 }&lt;br /&gt;-            | '.' '.' { 1 }&lt;br /&gt;+  dot_repeat : '.'&lt;br /&gt;+             | dot_repeat '.' { val[0] + val[1] }&lt;br /&gt;&lt;br /&gt;+  dots      : dot_repeat     { val[0].size - 1 }&lt;br /&gt;+&lt;br /&gt;   word      : atom&lt;br /&gt;             | QUOTED&lt;br /&gt;             | DIGIT&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;■編集したparser.yからparser.rbを生成する&lt;br /&gt;raccを使ってparser.rbを生成する&lt;br /&gt;raccが入ってなければここから&lt;a href="http://i.loveruby.net/ja/projects/racc/"&gt;DL&lt;/a&gt;できる&lt;br /&gt;&lt;br /&gt;raccをインストール&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# wget http://i.loveruby.net/archive/racc/racc-1.4.5-all.tar.gz&lt;br /&gt;・&lt;br /&gt;・&lt;br /&gt;・&lt;br /&gt;[root@mycentos ~]# tar zxvf racc-1.4.5-all.tar.gz&lt;br /&gt;・&lt;br /&gt;・&lt;br /&gt;・&lt;br /&gt;[root@mycentos ~]# cd racc-1.4.5-all&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;とりあえずREADMEを読んでインストールした。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos racc-1.4.5-all]# cat README.ja&lt;br /&gt;Racc README&lt;br /&gt;===========&lt;br /&gt;&lt;br /&gt;  Racc は LALR(1) パーサジェネレータです。&lt;br /&gt;  yacc の Ruby 版に相当します。&lt;br /&gt;&lt;br /&gt;  NOTE:&lt;br /&gt;  Ruby 1.8.0 からは Racc のランタイムが標準添付されているので、&lt;br /&gt;  Racc で生成したパーサを安心して配布できます。また Ruby 1.6 系に&lt;br /&gt;  対応させたい場合は racc -E で生成してください。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;必要環境&lt;br /&gt;--------&lt;br /&gt;&lt;br /&gt;  *  ruby 1.6 以降&lt;br /&gt; (*) C コンパイラと make&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;インストール&lt;br /&gt;------------&lt;br /&gt;&lt;br /&gt;  パッケージのトップディレクトリで次のように入力してください。&lt;br /&gt;  ($ は通常ユーザ、# はルートのプロンプトです)&lt;br /&gt;&lt;br /&gt;      $ ruby setup.rb config&lt;br /&gt;      $ ruby setup.rb setup&lt;br /&gt;     ($ su)&lt;br /&gt;      # ruby setup.rb install&lt;br /&gt;&lt;br /&gt;  これで通常のパスに Racc がインストールされます。自分の好き&lt;br /&gt;  なディレクトリにインストールしたいときは、setup.rb config に&lt;br /&gt;  各種オプションをつけて実行してください。オプションのリストは&lt;br /&gt;&lt;br /&gt;      $ ruby setup.rb --help&lt;br /&gt;&lt;br /&gt;  で見られます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  コンパイラがない場合&lt;br /&gt;  --------------------&lt;br /&gt;&lt;br /&gt;  config を以下のようにすれば、拡張モジュールなしで&lt;br /&gt;  インストールできます。&lt;br /&gt;&lt;br /&gt;      $ ruby setup.rb config --without-ext&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;テスト&lt;br /&gt;------&lt;br /&gt;&lt;br /&gt;  sample/ 以下にいくつか Racc の文法ファイルのサンプルが用意&lt;br /&gt;  してあります。動くのも動かないのもありますが、少なくとも&lt;br /&gt;  calc-ja.y は動くのでこれを処理してみましょう。Racc をインス&lt;br /&gt;  トールしたあと&lt;br /&gt;&lt;br /&gt;      $ racc -ocalc.rb calc-ja.y&lt;br /&gt;&lt;br /&gt;  として下さい。処理は一瞬から数秒で終わるので、&lt;br /&gt;&lt;br /&gt;      $ ruby calc.rb&lt;br /&gt;&lt;br /&gt;  を実行してください。ちゃんと動いてますか？&lt;br /&gt;&lt;br /&gt;  Racc の文法など詳しいことは doc.ja/ ディレクトリ以下の HTML を&lt;br /&gt;  見てください。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ライセンス&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;  このパッケージに付属するファイルの著作権は青木峰郎が保持します。&lt;br /&gt;  ライセンスは GNU Lesser General Public License (LGPL) version 2&lt;br /&gt;  です。ただしユーザが書いた規則ファイルや、Racc がそこから生成し&lt;br /&gt;  た Ruby スクリプトはその対象外です。好きなライセンスで配布して&lt;br /&gt;  ください。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;バグなど&lt;br /&gt;--------&lt;br /&gt;&lt;br /&gt;  Racc を使っていてバグらしき現象に遭遇したら、下記のアドレスまで&lt;br /&gt;  メールをください。作者にはバグを修正する義務はありませんがその&lt;br /&gt;  意思はあります。また、そのときはできるだけバグを再現できる文法&lt;br /&gt;  ファイルを付けてください。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                                         青木峰郎(あおきみねろう)&lt;br /&gt;                                              aamine@loveruby.net&lt;br /&gt;                                            http://i.loveruby.net&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;parser.yからparser.rbを生成&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]racc parser.y -E -o parser.rb&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;■出来上がったparser.rbを既存のものと置き換えることで対応終了&lt;br /&gt;/usr/local/lib/ruby/gems/1.8/gems/actionmailer-1.3.5/lib/action_mailer/vendor/tmail&lt;br /&gt;あたりにあるはずなので上書きは早まってもせず、バックアップをとってから。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos tmail]mv parser.rb parser.rb.org&lt;br /&gt;[root@mycentos tmail]cp /create_parser/path/parser.rb parser.rb&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;あとは動作確認。Railsが落ちずに動けば今回はOKとした。&lt;br /&gt;TMailのバージョンが異なるparser.yを使うと絶対にRailsが落ちると思うので注意して。いまさらですが。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-8852714119256769643?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/8852714119256769643/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=8852714119256769643' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/8852714119256769643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/8852714119256769643'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2008/01/railsmailertmail.html' title='RailsのMailer(TMail)のメールアドレスドット問題'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-2819444751629626908</id><published>2007-12-13T14:54:00.000+09:00</published><updated>2007-12-13T15:54:42.904+09:00</updated><title type='text'>Railsのlogファイルとsessionファイルを何とかする</title><content type='html'>Railsを運用するときに注意しないといけない、logファイルとsessionファイルを削除するシェルをcronに登録する。&lt;br /&gt;&lt;br /&gt;参考ページ&lt;br /&gt;&lt;a href="http://chn.co.jp/blog/20071113.html"&gt;CHNの中の人たちブログ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wl.emit-japan.com/show_article.php?id=4"&gt;EMIT-Japan WebCT レター&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html"&gt;cron の設定ガイド&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;■私はCentOS環境ですが。&lt;br /&gt;&lt;br /&gt;logファイルをlogrotateで日毎の世代管理に切り替える&lt;br /&gt;今回は、日毎、14世代、圧縮しない、の条件でした。&lt;br /&gt;&lt;br /&gt;# Rails logs:&lt;br /&gt;/path/to/your/rails/home/log/*.log {&lt;br /&gt; daily #毎日&lt;br /&gt; missingok #ファイルが存在しなくてもエラーにしない&lt;br /&gt; rotate 14 #14日分を保持&lt;br /&gt; nocompress #圧縮しない&lt;br /&gt; notifempty #ファイルが空なら対象外&lt;br /&gt; copytruncate #元のコピーでローテファイルを作成し、元ファイルをクリアする（※重要）&lt;br /&gt; create 0666 hoge hoge #権限666 グループhoeg 持ち主hogeで作成&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;以上の内容を/etc/logrotate.confの後ろに書き足す。&lt;br /&gt;※重要：railsが新しいファイルではなくリネームされた方に書き込み続けてしまうため必要。&lt;br /&gt;&lt;br /&gt;■logrotateのテスト&lt;br /&gt;&lt;br /&gt;正常にローテーションするかチェックしてみる。&lt;br /&gt;直接コマンド起動 logrotate /etc/logrotate.conf&lt;br /&gt;&lt;br /&gt;うまくローテファイルが出来ていれば、OKなようです。&lt;br /&gt;logファイルはこれでまずよしとする。&lt;br /&gt;&lt;br /&gt;■ここまでユーザはrootですよ&lt;br /&gt;&lt;br /&gt;3日間アクセスの無いセッションファイルを削除する。&lt;br /&gt;こちらは、任意の名前（railsclean）でシェルを作成しましょう。&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;FIND="/usr/bin/find"&lt;br /&gt;START_DIR="/path/to/your/rails/home" # 検索を始めるディレクトリ&lt;br /&gt;PATH_PATTERN="*/tmp/sessions/ruby_sess*" # 削除するパターン&lt;br /&gt;CONDITION="-atime +3" # 3日以上アクセスされてないファイル&lt;br /&gt;EXEC="-exec rm {} ;" #分かりにくいけど{}のあとに半角スペースは必要&lt;br /&gt;#EXEC="-ls" # テスト用&lt;br /&gt;&lt;br /&gt;${FIND} ${START_DIR} -type f -path "${PATH_PATTERN}" ${CONDITION} ${EXEC}&lt;br /&gt;&lt;br /&gt;作成したファイルに実行権限つける&lt;br /&gt;&lt;table width="98%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding: 10px; background-color: rgb(16, 16, 16); color: rgb(255, 255, 255); font-size: 85%;"&gt;[root@mycentos ~]#chmod 755 railsclean&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;cronに登録する。&lt;br /&gt;crontabをみてみると以下のようになっていて、時間、日、週、月ごとに実行してくれるようになっているはず。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding: 10px; background-color: rgb(16, 16, 16); color: rgb(255, 255, 255); font-size: 85%;"&gt;[root@mycentos ~]#cat crontab&lt;br /&gt;SHELL=/bin/bash&lt;br /&gt;PATH=/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;MAILTO=root&lt;br /&gt;HOME=/&lt;br /&gt;&lt;br /&gt;# run-parts&lt;br /&gt;31 * * * * root run-parts /etc/cron.hourly #毎時31分に実行&lt;br /&gt;32 6 * * * root run-parts /etc/cron.daily  #毎日6時32分に実行&lt;br /&gt;52 6 * * 0 root run-parts /etc/cron.weekly #毎週日曜日の6時52分に実行&lt;br /&gt;12 7 1 * * root run-parts /etc/cron.monthly#毎月1日の7時12分に実行&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;今回は、/etc/cron.dailyディレクトリに先ほどのファイルを置いた。&lt;br /&gt;&lt;br /&gt;■railscleanのテスト&lt;br /&gt;&lt;br /&gt;明日の朝まで待ってもいいけど、テストで記述したとおりシェルが動くか確認したいので&lt;br /&gt;/etc/cron.hourlyディレクトリにrailscleanを置いてみたらすぐ確認できる。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-2819444751629626908?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/2819444751629626908/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=2819444751629626908' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/2819444751629626908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/2819444751629626908'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2007/12/railslogsession.html' title='Railsのlogファイルとsessionファイルを何とかする'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-6132279821893587312</id><published>2007-10-02T17:09:00.000+09:00</published><updated>2007-10-02T20:11:36.693+09:00</updated><title type='text'>明細行のtext_fieldなどをフォームで配列化する on Rails</title><content type='html'>&lt;strong&gt;明細行のtext_fieldなどをフォームで配列化する&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;ぺんちゃん日記にて、ヒントをいただいたけど、それじゃー新規のときはidがまだないからどうしたらいいの？って感じで。&lt;br /&gt;ゴリゴリidにダミー値を入れてみたりしたけど、なんか気持ち悪くて、ActionView::helper.rbを調べてみた。ありました！&lt;br /&gt;&lt;br /&gt;ヒントページ&lt;br /&gt;&lt;a href="http://www.pen-chan.jp/~tdiary/pen-chan/20070618.html"&gt;ぺんちゃん日記&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;■例えば、家族情報を明細として持つとしたら&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;table border="1" cellpadding="0" cellspacing="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;td style="width:90px"&gt;続柄&lt;/td&gt;&lt;td style="width:90px"&gt;名前&lt;/td&gt;&lt;td style="width:50px"&gt;年齢&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;input type="text" readonly="true" value="ママ" size="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;input type="text" readonly="true" value="たえこ" size="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;input type="text" readonly="true" value="39" size="5"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;input type="text" readonly="true" value="息子" size="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;input type="text" readonly="true" value="デップ" size="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;input type="text" readonly="true" value="8" size="5"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;input type="text" readonly="true" value="ペット" size="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;input type="text" readonly="true" value="タマ" size="15"&gt;&lt;/td&gt;&lt;td&gt;&lt;input type="text" readonly="true" value="5" size="5"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;(うぅ、テーブルがうまくレイアウトできない。。)&lt;br /&gt;&lt;br /&gt;■これをRailsで表示&lt;br /&gt;&lt;br /&gt;表示するだけなら、なんとでもなるけど、コントローラーで params[:family] で取得できたら、つまり params[:family][0] の中に続柄・名前・年齢が入っている Hash として取得できたらすごい楽。なわけ。&lt;br /&gt;&lt;br /&gt;■ヒントページによると更新の場合は&lt;br /&gt;&lt;br /&gt;&amp;lt;%= text_field("family[]", 'zokugara') %&amp;gt;&lt;br /&gt;としておけば、id(例えば23だとする)が使用されて、&lt;br /&gt;&lt;br /&gt;&amp;lt;input id="family_23_zokugara" name="family[23][zokugara]" size="30" type="text" value="1" /&amp;gt;&lt;br /&gt;と展開してくれる。&lt;br /&gt;&lt;br /&gt;■でも新規登録もあるわけで&lt;br /&gt;&lt;br /&gt;前は、コントローラーでidにダミー値(例えば"a"とか)を入れて、更新時と同じような動きにしていたが。&lt;br /&gt;やっぱ、おかしい。気持ち悪い。&lt;br /&gt;&lt;br /&gt;調べてみたら、:index =&amp;gt; 0 みたいな感じで、options(html_optionsがある場合はそっち)に指定してやると、idの代わりに(優先的に)使用してくれる。&lt;br /&gt;&lt;br /&gt;上記の例に適応してみるとRailsでは例えばこう書ける。&lt;br /&gt;&lt;pre style="width:680px;overflow-x:auto;"&gt;&lt;br /&gt;&amp;lt;% @families.each_with_index do |@family,index| %&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;&lt;br /&gt;      &amp;lt;%= select('family[]', 'zokugara', [["ママ", "0"],["息子", "1"],["ペット", "1"]].freeze, {:include_blank =&amp;gt; true}, :index =&amp;gt; index) %&amp;gt;&lt;br /&gt;    &amp;lt;/td&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;&lt;br /&gt;      &amp;lt;%= text_field 'family[]', 'name', :size =&amp;gt; "20", :index =&amp;gt; index %&amp;gt;&lt;br /&gt;    &amp;lt;/td&amp;gt;&lt;br /&gt;    &amp;lt;td&amp;gt;&lt;br /&gt;      &amp;lt;%= text_field 'family[]', 'age', :size =&amp;gt; "20", :index =&amp;gt; index %&amp;gt;&lt;br /&gt;    &amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;% end %&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;※@familiesはコントローラーで、ARモデルインスタンスを３つnewしたHashと思ってください。&lt;br /&gt;&lt;br /&gt;これで思い通りに展開されて、コントローラーで楽にパラメータを取得できるようになる！&lt;br /&gt;&lt;br /&gt;■まとめ&lt;br /&gt;&lt;br /&gt;こんなことで悩んでいるのはわしだけか？&lt;br /&gt;調べても、出てこなかったしな。&lt;br /&gt;いまさら、RailsDocumentに載ってるわ。これ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-6132279821893587312?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/6132279821893587312/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=6132279821893587312' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/6132279821893587312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/6132279821893587312'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2007/10/textfield-on-rails.html' title='明細行のtext_fieldなどをフォームで配列化する on Rails'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-1177483446626649313</id><published>2007-09-20T19:20:00.000+09:00</published><updated>2007-09-20T19:24:24.603+09:00</updated><title type='text'>せっかくなので、テキストオートコンプリートを使いたい。</title><content type='html'>&lt;strong&gt;text_field_with_auto_complete。&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;くまくまーさんを頼りに、text_field_with_auto_completeの複数のフィールド対応を試してみる。&lt;br /&gt;&lt;br /&gt;参考ページ&lt;br /&gt;&lt;a href="http://wota.jp/ac/?date=0829"&gt;ヽ( ・∀・)ノくまくまー(08-29[長年日記])&lt;/a&gt;&lt;br /&gt;&lt;a href="http://yoshitetsu.developer.drecom.jp/blog/articles/multicontrols"&gt;ruby愛&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;前提、Railsの環境上であること&lt;br /&gt;&lt;br /&gt;■multicontrols.jsを手に入れる。&lt;br /&gt;&lt;br /&gt;くまくまーさんにはいつもお世話になっていて、今回もいただきー！と思ったのに、リンクが切れている。&lt;br /&gt;探したら、改善版がruby愛さんのところで見つかった。&lt;br /&gt;文字コードをutf8、改行コードをLFにして（念のため、prototype.jsに合わせた）RAILS_ROOT/public/以下に保存&lt;br /&gt;&lt;br /&gt;■くまくまーさんで学んだとおりにコーディング。&lt;br /&gt;&lt;br /&gt;くまくまーさんを見る。&lt;br /&gt;&lt;br /&gt;■なぜか、Javascriptエラーが。。。&lt;br /&gt;&lt;br /&gt;IEでは「Stack over line 0」が起こる。&lt;br /&gt;FireFoxではタイマーのようにスクリプトエラーが起きまくる。。&lt;br /&gt;４時間ほどハマって下さい。&lt;br /&gt;&lt;br /&gt;■解決したのは&lt;br /&gt;&lt;br /&gt;prototype.jsのバージョンが新しすぎたようです。&lt;br /&gt;1.5.1.1を使用していました。&lt;br /&gt;&lt;br /&gt;1.6.0_rc0 =&gt; ×&lt;br /&gt;1.5.1.1 =&gt; ×&lt;br /&gt;1.5.1 =&gt; ×&lt;br /&gt;1.5.0 =&gt; ○&lt;br /&gt;&lt;br /&gt;試した結果です。&lt;br /&gt;&lt;br /&gt;■まとめ&lt;br /&gt;&lt;br /&gt;text_field_with_auto_completeはもしかして、推奨されてないのかな。&lt;br /&gt;Rails Documentationにも「DEPRECATION WARNING: This method will become a separate plugin when Rails 2.0 ships.」て書かれているし。&lt;br /&gt;prototype.jsの1.5.1以上が必要になったときに、また考えよう。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-1177483446626649313?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/1177483446626649313/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=1177483446626649313' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/1177483446626649313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/1177483446626649313'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2007/09/blog-post.html' title='せっかくなので、テキストオートコンプリートを使いたい。'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-7330714489847545629</id><published>2007-08-29T18:31:00.000+09:00</published><updated>2007-08-29T18:40:56.185+09:00</updated><title type='text'>WEBrickから別のサーバへ</title><content type='html'>&lt;strong&gt;fcgiがインストールできなかったので、Mongrelをインストール&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;いろいろ調べて、lighttpd + FastCGIでRailsを動かしてみようとして、FastCGIのインストールで&lt;br /&gt;断念。わけわからんErrorでインストールできない。&lt;br /&gt;なので、lighttpd + Mongrelにチャレンジ&lt;br /&gt;&lt;br /&gt;参考ページ&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/kambara/20060601/1149114495"&gt;神原日記&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rubyist.g.hatena.ne.jp/muscovyduck/20070402/p1"&gt;バリケンのRuby日記&lt;/a&gt;&lt;br /&gt;&lt;a href="http://myearth.ddo.jp/mtblog/2006/01/000005.html"&gt;Apache+mod_perlからLighttpd+FastCGIに移行&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;■Mongrelをインストール&lt;br /&gt;&lt;br /&gt;gemコマンドで簡単に入る&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# gem install mongrel&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;質問には、&gt; 2、&gt; 1で答えた。わかってないので雰囲気で。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Need to update 2 gems from http://gems.rubyforge.org&lt;br /&gt;..&lt;br /&gt;complete&lt;br /&gt;Select which gem to install for your platform (x86_64-linux)&lt;br /&gt; 1. mongrel 1.0.1 (mswin32)&lt;br /&gt; 2. mongrel 1.0.1 (ruby)&lt;br /&gt; 3. mongrel 1.0 (mswin32)&lt;br /&gt; 4. mongrel 1.0 (ruby)&lt;br /&gt; 5. Skip this gem&lt;br /&gt; 6. Cancel installation&lt;br /&gt;&gt; 2&lt;br /&gt;Install required dependency daemons? [Yn]  y&lt;br /&gt;Install required dependency fastthread? [Yn]  y&lt;br /&gt;Select which gem to install for your platform (x86_64-linux)&lt;br /&gt; 1. fastthread 1.0 (ruby)&lt;br /&gt; 2. fastthread 1.0 (mswin32)&lt;br /&gt; 3. fastthread 0.6.4.1 (mswin32)&lt;br /&gt; 4. fastthread 0.6.4.1 (ruby)&lt;br /&gt; 5. Skip this gem&lt;br /&gt; 6. Cancel installation&lt;br /&gt;&gt; 1&lt;br /&gt;Building native extensions.  This could take a while...&lt;br /&gt;Install required dependency gem_plugin? [Yn]  y&lt;br /&gt;Install required dependency cgi_multipart_eof_fix? [Yn]  y&lt;br /&gt;Building native extensions.  This could take a while...&lt;br /&gt;Successfully installed mongrel-1.0.1&lt;br /&gt;Successfully installed daemons-1.0.7&lt;br /&gt;Successfully installed fastthread-1.0&lt;br /&gt;Successfully installed gem_plugin-0.2.2&lt;br /&gt;Successfully installed cgi_multipart_eof_fix-2.3&lt;br /&gt;Installing ri documentation for mongrel-1.0.1...&lt;br /&gt;Installing ri documentation for daemons-1.0.7...&lt;br /&gt;Installing ri documentation for gem_plugin-0.2.2...&lt;br /&gt;Installing ri documentation for cgi_multipart_eof_fix-2.3...&lt;br /&gt;Installing RDoc documentation for mongrel-1.0.1...&lt;br /&gt;Installing RDoc documentation for daemons-1.0.7...&lt;br /&gt;Installing RDoc documentation for gem_plugin-0.2.2...&lt;br /&gt;Installing RDoc documentation for cgi_multipart_eof_fix-2.3...&lt;br /&gt;[root@mycentos ~]#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;起動確認してみる。RailsRootへ移動し以下のコマンド&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos jr01]# ruby script/server&lt;br /&gt;=&gt; Booting Mongrel (use 'script/server webrick' to force WEBrick)&lt;br /&gt;=&gt; Rails application starting on http://0.0.0.0:3000&lt;br /&gt;=&gt; Call with -d to detach&lt;br /&gt;=&gt; Ctrl-C to shutdown server&lt;br /&gt;** Starting Mongrel listening at 0.0.0.0:3000&lt;br /&gt;** Starting Rails with development environment...&lt;br /&gt;** Rails loaded.&lt;br /&gt;** Loading any Rails specific GemPlugins&lt;br /&gt;** Signals ready.  TERM =&gt; stop.  USR2 =&gt; restart.  INT =&gt; stop (no restart).&lt;br /&gt;** Rails signals registered.  HUP =&gt; reload (without restart).  It might not work well.&lt;br /&gt;** Mongrel available at 0.0.0.0:3000&lt;br /&gt;** Use CTRL-C to stop.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;WEBrickの起動がされずに、Mongrelが起動するようになった。&lt;br /&gt;WEBrickを起動したい場合は、以下のコマンドでできる&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos jr01]# ruby script/server webrick&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;■Lighttpdをインストール&lt;br /&gt;&lt;br /&gt;yumでインストールできるように少し、/etc/yum.repos.d/CentOS-Base.repoファイルをいじる。&lt;br /&gt;（CentOSはRHELのクローンOSなので、こういうときはRHELのパッケージから探すためらしい。）&lt;br /&gt;viの使い方は&lt;a href="http://www.linux.or.jp/JF/JFdocs/vi-user-usage.html"&gt;viを使い倒そう&lt;/a&gt;で覚えました。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# vi /etc/yum.repos.d/CentOS-Base.repo&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;CentOS-Base.repoに以下を追加する&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[dag]&lt;br /&gt;name=Dag RPM Repository for Red Hat Enterprise Linux&lt;br /&gt;baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag&lt;br /&gt;gpgcheck=1&lt;br /&gt;enabled=1&lt;br /&gt;includepkgs=lighttpd lighttpd-fastcgi&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;yumでLighttpdをインストールする&lt;br /&gt;（今回は結局使わないけど、流れで、Lighttpd-fastcgiもインストールしちゃってます。）&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# yum install lighttpd lighttpd-fastcgi&lt;br /&gt;Loading "fastestmirror" plugin&lt;br /&gt;Setting up Install Process&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;=============================================================================&lt;br /&gt; Package                 Arch       Version          Repository        Size&lt;br /&gt;=============================================================================&lt;br /&gt;Installing:&lt;br /&gt; lighttpd                x86_64     1.3.16-1.2.el4.rf  dag               283 k&lt;br /&gt; lighttpd-fastcgi        x86_64     1.3.16-1.2.el4.rf  dag                38 k&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;=============================================================================&lt;br /&gt;Install      2 Package(s)&lt;br /&gt;Update       0 Package(s)&lt;br /&gt;Remove       0 Package(s)&lt;br /&gt;Total download size: 322 k&lt;br /&gt;Is this ok [y/N]: y&lt;br /&gt;Downloading Packages:&lt;br /&gt;(1/2): lighttpd-fastcgi-1 100% |=========================|  38 kB    00:00&lt;br /&gt;(2/2): lighttpd-1.3.16-1. 100% |=========================| 283 kB    00:05&lt;br /&gt;Running Transaction Test&lt;br /&gt;Finished Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;  Installing: lighttpd                     ######################### [1/2]&lt;br /&gt;  Installing: lighttpd-fastcgi             ######################### [2/2]&lt;br /&gt;&lt;br /&gt;Installed: lighttpd.x86_64 0:1.3.16-1.2.el4.rf lighttpd-fastcgi.x86_64 0:1.3.16-1.2.el4.rf&lt;br /&gt;Complete!&lt;br /&gt;[root@mycentos ~]#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;lighttpd.confファイルの設定をする。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# vi /etc/lighttpd/lighttpd.conf&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;必要そうなとこを変更。PATH系は各々の環境で置き換える。&lt;br /&gt;特に必要なのは以下の２つかな。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;mod_proxyのコメントを外す&lt;br /&gt;&lt;br /&gt;$HTTP["url"] !~ "\.(html|png|gif|svg|xml|js|css|swf|ico)$" {&lt;br /&gt;  proxy.server = ("/" =&gt; (&lt;br /&gt;                          ("host" =&gt; "127.0.0.1", "port" =&gt; 3000)&lt;br /&gt;                         ))&lt;br /&gt;}&lt;br /&gt;を追加する&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# cat /etc/lighttpd/lighttpd.conf&lt;br /&gt;# lighttpd configuration file&lt;br /&gt;#&lt;br /&gt;# use a it as base for lighttpd 1.0.0 and above&lt;br /&gt;#&lt;br /&gt;# $Id: lighttpd.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $&lt;br /&gt;&lt;br /&gt;############ Options you really have to take care of ####################&lt;br /&gt;&lt;br /&gt;## modules to load&lt;br /&gt;# at least mod_access and mod_accesslog should be loaded&lt;br /&gt;# all other module should only be loaded if really neccesary&lt;br /&gt;# - saves some time&lt;br /&gt;# - saves memory&lt;br /&gt;server.modules              = (&lt;br /&gt;                                "mod_rewrite",&lt;br /&gt;#                               "mod_redirect",&lt;br /&gt;#                               "mod_alias",&lt;br /&gt;                                "mod_access",&lt;br /&gt;#                               "mod_cml",&lt;br /&gt;#                               "mod_trigger_b4_dl",&lt;br /&gt;#                               "mod_auth",&lt;br /&gt;#                               "mod_status",&lt;br /&gt;#                               "mod_setenv",&lt;br /&gt;#                               "mod_fastcgi",&lt;br /&gt;                                "mod_proxy",&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;                                "mod_accesslog" )&lt;br /&gt;&lt;br /&gt;## a static document-root, for virtual-hosting take look at the&lt;br /&gt;## server.virtual-* options&lt;br /&gt;#server.document-root        = "/srv/www/lighttpd/"&lt;br /&gt;server.document-root        = "/var/raily/jr01/public/"&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;## deny access the file-extensions&lt;br /&gt;#&lt;br /&gt;# ~    is for backupfiles from vi, emacs, joe, ...&lt;br /&gt;# .inc is often used for code includes which should in general not be part&lt;br /&gt;#      of the document-root&lt;br /&gt;url.access-deny             = ( "~", ".inc" )&lt;br /&gt;&lt;br /&gt;$HTTP["url"] =~ "\.pdf$" {&lt;br /&gt;  server.range-requests = "disable"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$HTTP["url"] !~ "\.(html|png|gif|svg|xml|js|css|swf|ico)$" {&lt;br /&gt;  proxy.server = ("/" =&gt; (&lt;br /&gt;    ("host" =&gt; "127.0.0.1", "port" =&gt; 3000)&lt;br /&gt;  ))&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;######### Options that are good to be but not neccesary to be changed #######&lt;br /&gt;&lt;br /&gt;## bind to port (default: 80)&lt;br /&gt;server.port                = 3210&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;## to help the rc.scripts&lt;br /&gt;server.pid-file             = "/var/run/lighttpd.pid"&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;## for mod_cml&lt;br /&gt;## don't forget to add index.cml to server.indexfiles&lt;br /&gt;# cml.extension               = ".cml"&lt;br /&gt;# cml.memcache-hosts          = ( "127.0.0.1:11211" )&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;起動確認してみる。うごいたよ。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# service lighttpd start&lt;br /&gt;Starting lighttpd:                                         [  OK  ]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;■mongrel_clusterのインストール&lt;br /&gt;&lt;br /&gt;mongrelをいっぺんに複数起動してくれる、mongrel_clusterをインストールしてみる&lt;br /&gt;これもgemコマンドで簡単。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# gem install mongrel_cluster&lt;br /&gt;Need to update 1 gems from http://gems.rubyforge.org&lt;br /&gt;.&lt;br /&gt;complete&lt;br /&gt;Successfully installed mongrel_cluster-1.0.2&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;mongrel_clusterの設定ファイルを作成する、各々の環境で置き換える&lt;br /&gt;RailsRootへ移動し以下のコマンド&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos jr01]# mongrel_rails cluster::configure -e development -p 3000 -a 0.0.0.0 -l /var/raily/jr01/log/mongrel.log -P /var/run/rails.pid -c /var/raily/jr01 -r /var/raily/jr01 -N 1 --user root&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;引数の意味は以下で、大体わかる。-Nは起動したいMongrelの数。（後で変えれるからビビることなかった。。）&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;mongrel_rails start -h&lt;br /&gt;Usage: mongrel_rails &lt;command&gt; [options]&lt;br /&gt;    -e, --environment ENV            Rails environment to run as&lt;br /&gt;    -d, --daemonize                  Whether to run in the background or not&lt;br /&gt;    -p, --port PORT                  Which port to bind to&lt;br /&gt;    -a, --address ADDR               Address to bind to&lt;br /&gt;    -l, --log FILE                   Where to write log messages&lt;br /&gt;    -P, --pid FILE                   Where to write the PID&lt;br /&gt;    -n, --num-procs INT              Number of processors active before clients denied&lt;br /&gt;    -t, --timeout TIME               Timeout all requests after 100th seconds time&lt;br /&gt;    -m, --mime PATH                  A YAML file that lists additional MIME types&lt;br /&gt;    -c, --chdir PATH                 Change to dir before starting (will be expanded)&lt;br /&gt;    -r, --root PATH                  Set the document root (default 'public')&lt;br /&gt;    -B, --debug                      Enable debugging mode&lt;br /&gt;    -C, --config PATH                Use a config file&lt;br /&gt;    -S, --script PATH                Load the given file as an extra config script.&lt;br /&gt;    -G, --generate CONFIG            Generate a config file for -C&lt;br /&gt;        --user USER&lt;br /&gt;                                     User to run as&lt;br /&gt;        --group GROUP&lt;br /&gt;                                     Group to run as&lt;br /&gt;        --prefix PATH&lt;br /&gt;                                     URL prefix for Rails app&lt;br /&gt;    -h, --help                       Show this message&lt;br /&gt;        --version                    Show version&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;configの下にmongrel_cluster.ymlファイルが作成される&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Writing configuration file to config/mongrel_cluster.yml.&lt;br /&gt;[root@mycentos jr01]#&lt;br /&gt;[root@mycentos jr01]# cat config/mongrel_cluster.yml&lt;br /&gt;---&lt;br /&gt;user: root&lt;br /&gt;cwd: /var/raily/jr01&lt;br /&gt;log_file: /var/raily/jr01/log/mongrel.log&lt;br /&gt;port: "3000"&lt;br /&gt;environment: development&lt;br /&gt;address: 0.0.0.0&lt;br /&gt;pid_file: /var/run/rails.pid&lt;br /&gt;servers: 1&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;clusterを使って、Mongrelを起動する（RailsRootで）&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos jr01]# mongrel_rails cluster::start&lt;br /&gt;starting port 3000&lt;br /&gt;!!! You must also specify a group.&lt;br /&gt;mongrel::start reported an error. Use mongrel_rails mongrel::start -h to get help.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;失敗したのかな？。よくわからんが、config/mongrel_cluster.ymlファイルのuser: rootを削除して再チャレンジ&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos jr01]# mongrel_rails cluster::start&lt;br /&gt;starting port 3000&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;無事起動でしたようです。止めるときは、以下のコマンド&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos jr01]# mongrel_rails cluster::stop&lt;br /&gt;stopping port 3000&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;RailsRootまで移動して、いちいち起動が面倒なので、自動起動用スクリプトをコピー作成する&lt;br /&gt;mongrel_clusterの自動起動用スクリプトを探す&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos /]# find -name mongrel_cluster&lt;br /&gt;./usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.2/resources/mongrel_cluster&lt;br /&gt;./usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.2/lib/mongrel_cluster&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;/etc/rc.d/init.dへコピーし（名前は何でもいい。）、作成したファイルに実行権をつける（自動起動の設定はとりあえずしない）&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# cp /usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.2/resources/mongrel_cluster /etc/rc.d/init.d/mongrel_jr01&lt;br /&gt;chmod 755 /etc/rc.d/init.d/mongrel_jr01&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;自動起動用スクリプトを編集し、mongrel_cluster.ymlの場所を指定する&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# vi /etc/rc.d/init.d/mongrel_jr01&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;以下のような感じ。exportは重要です。（各々の環境で。）&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# cat /etc/rc.d/init.d/mongrel_jr01&lt;br /&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# Copyright (c) 2007 Bradley Taylor, bradley@railsmachine.com&lt;br /&gt;#&lt;br /&gt;# mongrel_cluster       Startup script for Mongrel clusters.&lt;br /&gt;#&lt;br /&gt;# chkconfig: - 85 15&lt;br /&gt;# description: mongrel_cluster manages multiple Mongrel processes for use \&lt;br /&gt;#              behind a load balancer.&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;CONF_DIR=/var/raily/jr01/config&lt;br /&gt;PID_DIR=/var/run&lt;br /&gt;USER=root&lt;br /&gt;&lt;br /&gt;RETVAL=0&lt;br /&gt;&lt;br /&gt;export PATH=/usr/local/bin:$PATH&lt;br /&gt;export POSTGRES_HOME=/usr/local/pgsql&lt;br /&gt;export PGLIB=$POSTGRES_HOME/lib&lt;br /&gt;export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"&lt;br /&gt;&lt;br /&gt;# Gracefully exit if the controller is missing.&lt;br /&gt;which mongrel_cluster_ctl &gt;/dev/null || exit 0&lt;br /&gt;&lt;br /&gt;# Go no further if config directory is missing.&lt;br /&gt;[ -d "$CONF_DIR" ] || exit 0&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;    start)&lt;br /&gt;      # Create pid directory&lt;br /&gt;      mkdir -p $PID_DIR&lt;br /&gt;      chown $USER:$USER $PID_DIR&lt;br /&gt;&lt;br /&gt;      mongrel_cluster_ctl start -c $CONF_DIR&lt;br /&gt;      RETVAL=$?&lt;br /&gt;  ;;&lt;br /&gt;    stop)&lt;br /&gt;      mongrel_cluster_ctl stop -c $CONF_DIR&lt;br /&gt;      RETVAL=$?&lt;br /&gt;  ;;&lt;br /&gt;    restart)&lt;br /&gt;      mongrel_cluster_ctl restart -c $CONF_DIR&lt;br /&gt;      RETVAL=$?&lt;br /&gt;  ;;&lt;br /&gt;    status)&lt;br /&gt;      mongrel_cluster_ctl status -c $CONF_DIR&lt;br /&gt;      RETVAL=$?&lt;br /&gt;  ;;&lt;br /&gt;    *)&lt;br /&gt;      echo "Usage: mongrel_cluster {start|stop|restart|status}"&lt;br /&gt;      exit 1&lt;br /&gt;  ;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;exit $RETVAL&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;これでどこでも起動できるようなった。しかし、変な文句を言われる。わからない。。&lt;br /&gt;でも動いてるから今回はよしとする。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# service mongrel_jr01 start&lt;br /&gt;Starting all mongrel_clusters...&lt;br /&gt;!!! Path to log file not valid: log/mongrel.3000.log&lt;br /&gt;mongrel::start reported an error. Use mongrel_rails mongrel::start -h to get help.&lt;br /&gt;!!! Path to log file not valid: log/mongrel.3001.log&lt;br /&gt;mongrel::start reported an error. Use mongrel_rails mongrel::start -h to get help.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;■じゃ、LighttpdとMongrelを両方起動して確認&lt;br /&gt;&lt;br /&gt;ポート3210に接続して、Railsアプリのパスへ接続。&lt;br /&gt;うごいた！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-7330714489847545629?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/7330714489847545629/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=7330714489847545629' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/7330714489847545629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/7330714489847545629'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2007/08/webrick.html' title='WEBrickから別のサーバへ'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-5066251807161786455</id><published>2007-08-20T12:02:00.001+09:00</published><updated>2008-12-13T11:41:55.884+09:00</updated><title type='text'>RailsとPostgreSQLの接続を作る</title><content type='html'>&lt;strong&gt;RailsからPostgreSQLへ接続してみる&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;PostgreSQLのセットアップが完了したので、Ruby on Railsとの接続確立を確認します。&lt;br /&gt;&lt;br /&gt;参考ページ&lt;br /&gt;&lt;a href="http://tomonori855.sakura.ne.jp/recipe/2006/05/rails.html"&gt;Postgresql on Rails and OSX (Potential Energy)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;■RailsにPostgreSQL用のアダプタを与える&lt;br /&gt;&lt;br /&gt;アダプタは２種類あるようです。どちらもgemコマンドでインストールできます。&lt;br /&gt;違いは、わかりません。。1つ目の方法は、引数のパスを環境に合わせて変更する必要があります。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;gem install postgres -- --with-pgsql-include-dir=/usr/local/pgsql/include --with-pgsql-lib-dir=/usr/local/pgsql/lib&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;gem install postgres-pr&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;結果ですが、1つ目の方法はパスをさらに設定してやらないとエラーになりました。&lt;br /&gt;/etc/ld.so.confとやらに追記する方法もあるようですが、熟練者向けってどこかで書いてたのでやめました。&lt;br /&gt;&lt;br /&gt;今回はサーバーを起動するユーザの（root）.bash_profileファイルにLD_LIBRARY_PATHを設定しました。&lt;br /&gt;以下を追加しました。&lt;br /&gt;export POSTGRES_HOME=/usr/local/pgsql&lt;br /&gt;export PGLIB=$POSTGRES_HOME/lib&lt;br /&gt;export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# cat .bash_profile&lt;br /&gt;# .bash_profile&lt;br /&gt;&lt;br /&gt;# Get the aliases and functions&lt;br /&gt;if [ -f ~/.bashrc ]; then&lt;br /&gt;        . ~/.bashrc&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# User specific environment and startup programs&lt;br /&gt;&lt;br /&gt;PATH=$PATH:$HOME/bin&lt;br /&gt;&lt;br /&gt;export PATH&lt;br /&gt;export POSTGRES_HOME=/usr/local/pgsql&lt;br /&gt;export PGLIB=$POSTGRES_HOME/lib&lt;br /&gt;export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"&lt;br /&gt;unset USERNAME&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;.bash_profileを反映します。再読込み。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# source ~root/.bash_profile&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;2つ目の方法はインストールするだけで使えました。&lt;br /&gt;うわさでは、1つ目のアダプタの方が処理が速いとか。。&lt;br /&gt;&lt;br /&gt;■RailsのPostgreSQLへの設定をして接続を確認&lt;br /&gt;&lt;br /&gt;続いて、RailsにDB接続確認用の画面を作ってみます。&lt;br /&gt;任意の場所に任意のフォルダを作ります。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos var]# mkdir raily&lt;br /&gt;[root@mycentos var]# cd raily&lt;br /&gt;[root@mycentos raily]# &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;railsコマンドでDBテストプロジェクトを作成する&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos raily]# rails dbtest&lt;br /&gt;      create&lt;br /&gt;      create  app/controllers&lt;br /&gt;      create  app/helpers&lt;br /&gt;      create  app/models&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;      create  public/javascripts/application.js&lt;br /&gt;      create  doc/README_FOR_APP&lt;br /&gt;      create  log/server.log&lt;br /&gt;      create  log/production.log&lt;br /&gt;      create  log/development.log&lt;br /&gt;      create  log/test.log&lt;br /&gt;[root@mycentos raily]#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;database.ymlを編集して、PostgreSQLのアダプタを使うようにします&lt;br /&gt;viの使い方は&lt;a href="http://www.linux.or.jp/JF/JFdocs/vi-user-usage.html"&gt;viを使い倒そう&lt;/a&gt;で覚えました。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos raily]# cd dbtest/config&lt;br /&gt;[root@mycentos config]# vi database.yml&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;とりあえず、development、test、productionの3箇所を以下のように変えました。&lt;br /&gt;先に、pgAdminⅢを使ってスキーマを作成しました。pgAdminⅢはGUIなので方法は書きません。&lt;br /&gt;（Railsのプロジェクトとスキーマは1対1でないと駄目だと思うよ）&lt;br /&gt;adapterはそのままpostgresql、databaseは作成したDBの名前、usernameは作成したDBを編集できるロールの名前、passwordはそのロールのパスワード、encodingは作成したDBの文字コード（今回はUTF8で作成した）&lt;br /&gt;adapter: postgresql&lt;br /&gt;database: dbtest&lt;br /&gt;username: ruby&lt;br /&gt;password: rails&lt;br /&gt;host: localhost&lt;br /&gt;encoding: utf8&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos config]# cat database.yml&lt;br /&gt;# MySQL (default setup).  Versions 4.1 and 5.0 are recommended.&lt;br /&gt;#&lt;br /&gt;# Install the MySQL driver:&lt;br /&gt;#   gem install mysql&lt;br /&gt;# On MacOS X:&lt;br /&gt;#   gem install mysql -- --include=/usr/local/lib&lt;br /&gt;# On Windows:&lt;br /&gt;#   gem install mysql&lt;br /&gt;#       Choose the win32 build.&lt;br /&gt;#       Install MySQL and put its /bin directory on your path.&lt;br /&gt;#&lt;br /&gt;# And be sure to use new-style password hashing:&lt;br /&gt;#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html&lt;br /&gt;development:&lt;br /&gt;  adapter: postgresql&lt;br /&gt;  database: dbtest&lt;br /&gt;  username: ruby&lt;br /&gt;  password: rails&lt;br /&gt;  host: localhost&lt;br /&gt;  encoding: utf8&lt;br /&gt;&lt;br /&gt;# Warning: The database defined as 'test' will be erased and&lt;br /&gt;# re-generated from your development database when you run 'rake'.&lt;br /&gt;# Do not set this db to the same as development or production.&lt;br /&gt;test:&lt;br /&gt;  adapter: postgresql&lt;br /&gt;  database: dbtest&lt;br /&gt;  username: ruby&lt;br /&gt;  password: rails&lt;br /&gt;  host: localhost&lt;br /&gt;  encoding: utf8&lt;br /&gt;&lt;br /&gt;production:&lt;br /&gt;  adapter: postgresql&lt;br /&gt;  database: dbtest&lt;br /&gt;  username: ruby&lt;br /&gt;  password: rails&lt;br /&gt;  host: localhost&lt;br /&gt;  encoding: utf8&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;では、プログラムを作成します。コマンドで雛形を作成してくれます。助かります。&lt;br /&gt;candyモデルを作成&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos config]# cd ../&lt;br /&gt;[root@mycentos dbtest]# ruby script/generate model candy&lt;br /&gt;      exists  app/models/&lt;br /&gt;      exists  test/unit/&lt;br /&gt;      exists  test/fixtures/&lt;br /&gt;      create  app/models/candy.rb&lt;br /&gt;      create  test/unit/candy_test.rb&lt;br /&gt;      create  test/fixtures/candies.yml&lt;br /&gt;      create  db/migrate&lt;br /&gt;      create  db/migrate/001_create_candies.rb&lt;br /&gt;[root@mycentos dbtest]#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;作成されたdb/migrate/001_create_candies.rbを編集して、テーブルを作成します。&lt;br /&gt;以下のように編集&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos dbtest]# vi db/migrate/001_create_candies.rb&lt;br /&gt;&lt;br /&gt;class CreateCandies &lt; ActiveRecord::Migration&lt;br /&gt;  def self.up&lt;br /&gt;    create_table :candies do |t|&lt;br /&gt;      t.column :name,          :string,   :limit =&gt; 30,                  :null =&gt; false&lt;br /&gt;      t.column :volume,        :integer,                :default =&gt; 0,   :null =&gt; false&lt;br /&gt;      t.column :bb_date,       :date&lt;br /&gt;      t.column :created_at,    :timestamp&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  def self.down&lt;br /&gt;    drop_table :candies&lt;br /&gt;  end&lt;br /&gt;end&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;rake db:migrateコマンドを実行する。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos dbtest]# rake db:migrate&lt;br /&gt;(in /var/raily/dbtest)&lt;br /&gt;== CreateCandies: migrating ===================================================&lt;br /&gt;-- create_table(:candies)&lt;br /&gt;NOTICE:  CREATE TABLE will create implicit sequence "candies_id_seq" for serial column "candies.id"&lt;br /&gt;NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "candies_pkey" for table "candies"&lt;br /&gt;   -&gt; 0.0127s&lt;br /&gt;== CreateCandies: migrated (0.0129s) ==========================================&lt;br /&gt;[root@mycentos dbtest]#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;んー出来たか不安だけど、次にcandyのscaffoldを作ります。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos dbtest]# ruby script/generate scaffold candy&lt;br /&gt;      exists  app/controllers/&lt;br /&gt;      exists  app/helpers/&lt;br /&gt;      exists  app/views/candies&lt;br /&gt;      exists  app/views/layouts/&lt;br /&gt;      exists  test/functional/&lt;br /&gt;  dependency  model&lt;br /&gt;      exists    app/models/&lt;br /&gt;      exists    test/unit/&lt;br /&gt;      exists    test/fixtures/&lt;br /&gt;   identical    app/models/candy.rb&lt;br /&gt;   identical    test/unit/candy_test.rb&lt;br /&gt;   identical    test/fixtures/candies.yml&lt;br /&gt;      create  app/views/candies/_form.rhtml&lt;br /&gt;      create  app/views/candies/list.rhtml&lt;br /&gt;      create  app/views/candies/show.rhtml&lt;br /&gt;      create  app/views/candies/new.rhtml&lt;br /&gt;      create  app/views/candies/edit.rhtml&lt;br /&gt;      create  app/controllers/candies_controller.rb&lt;br /&gt;      create  test/functional/candies_controller_test.rb&lt;br /&gt;      create  app/helpers/candies_helper.rb&lt;br /&gt;      create  app/views/layouts/candies.rhtml&lt;br /&gt;      create  public/stylesheets/scaffold.css&lt;br /&gt;[root@mycentos dbtest]#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;では、WEBrickを起動してみましょう。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@ndatacom dbtest]# ruby script/server&lt;br /&gt;=&gt; Booting WEBrick...&lt;br /&gt;=&gt; Rails application started on http://0.0.0.0:3000&lt;br /&gt;=&gt; Ctrl-C to shutdown server; call with --help for options&lt;br /&gt;[2007-08-20 11:58:39] INFO  WEBrick 1.3.1&lt;br /&gt;[2007-08-20 11:58:39] INFO  ruby 1.8.6 (2007-03-13) [x86_64-linux]&lt;br /&gt;[2007-08-20 11:58:39] INFO  WEBrick::HTTPServer#start: pid=23716 port=3000&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;画面でみれた。登録もできる。日本語もでた。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_RIuUAKQWwVY/RskEUjFGpCI/AAAAAAAAAAU/G61nU3T6mUg/s1600-h/image01.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_RIuUAKQWwVY/RskEUjFGpCI/AAAAAAAAAAU/G61nU3T6mUg/s320/image01.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5100612804034339874" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-5066251807161786455?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/5066251807161786455/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=5066251807161786455' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/5066251807161786455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/5066251807161786455'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2007/08/railspostgresql.html' title='RailsとPostgreSQLの接続を作る'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_RIuUAKQWwVY/RskEUjFGpCI/AAAAAAAAAAU/G61nU3T6mUg/s72-c/image01.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-5419059311254546497</id><published>2007-08-17T19:19:00.000+09:00</published><updated>2007-11-20T16:49:57.090+09:00</updated><title type='text'>CentOSへRailsのためにPostgreSQL</title><content type='html'>&lt;strong&gt;PostgreSQLのセットアップ&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Ruby on RailsのDBとして、PostgreSQLを使いたいので、セットアップします。&lt;br /&gt;&lt;br /&gt;参考ページ&lt;br /&gt;&lt;a href="http://kazmax.zpp.jp/pgsql/pgsql3.html"&gt;Linuxで自宅サーバー&lt;/a&gt;&lt;br /&gt;&lt;a href="http://centossrv.com/postgresql.shtml"&gt;データベースサーバー構築(PostgreSQL)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;■CentOSにインストールされているPostgreSQLを確認&lt;br /&gt;&lt;br /&gt;yumコマンドで確認してみる&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]#Installed Packages&lt;br /&gt;Name   : postgresql&lt;br /&gt;Arch   : x86_64&lt;br /&gt;Version: 7.4.17&lt;br /&gt;Release: 1.RHEL4.1&lt;br /&gt;Size   : 7.8 M&lt;br /&gt;Repo   : installed&lt;br /&gt;Summary: PostgreSQL client programs and libraries.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;psqlコマンドでも確認してみる&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# psql --version&lt;br /&gt;psql (PostgreSQL) 7.4.17&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;7.4.17がインストールされているようです。&lt;br /&gt;現在（2007年8月17日）時点で、8.2.4が最新なのでそれにバージョンアップを試みる。&lt;br /&gt;最新ソースは&lt;a href="http://www.postgresql.jp/"&gt;日本PostgreSQLユーザ会&lt;/a&gt;から取得できます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;■とりあえず7.4.17のPostgreSQLをセットアップしてみる&lt;br /&gt;&lt;br /&gt;PostgreSQLを起動します&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# service postgresql start&lt;br /&gt;Starting postgresql service:                               [  OK  ]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;自動起動も設定しておく&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# chkconfig postgresql on&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;システム上のpostgresユーザのパスワードを設定&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# passwd postgres&lt;br /&gt;Changing password for user postgres.&lt;br /&gt;New password:&lt;br /&gt;Retype new password:&lt;br /&gt;passwd: all authentication tokens updated successfully.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;PostgreSQL上のpostgresユーザのパスワードを設定&lt;br /&gt;postgresユーザにスイッチする&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# su - postgres&lt;br /&gt;-bash-3.00$&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;psqlコマンドでPostgreSQLに接続&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;-bash-3.00$ psql template1&lt;br /&gt;Welcome to psql 7.4.17, the PostgreSQL interactive terminal.&lt;br /&gt;&lt;br /&gt;Type:  \copyright for distribution terms&lt;br /&gt;       \h for help with SQL commands&lt;br /&gt;       \? for help on internal slash commands&lt;br /&gt;       \g or terminate with semicolon to execute query&lt;br /&gt;       \q to quit&lt;br /&gt;&lt;br /&gt;template1=#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;SQLでpostgresユーザのパスワードを設定する&lt;br /&gt;;を忘れずにEnterするとパスワード設定完了&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;template1=# alter user postgres with password 'ひみつー';&lt;br /&gt;ALTER USER&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;PostgreSQLから接続を切断&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;template1=# \q&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;PostgreSQL設定ファイルを編集して、リモートでpgAdminⅢを使って接続できるようにしてみる&lt;br /&gt;まず、postgresql.confを編集し、TCP/IP経由でのデータベース接続許可する&lt;br /&gt;viの使い方は&lt;a href="http://www.linux.or.jp/JF/JFdocs/vi-user-usage.html"&gt;viを使い倒そう&lt;/a&gt;で覚えました。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;-bash-3.00$ vi /var/lib/pgsql/data/postgresql.conf&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;tcpip_socket = falseの部分をコメントアウトしてtrueにする&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;#---------------------------------------------------------------------------&lt;br /&gt;# CONNECTIONS AND AUTHENTICATION&lt;br /&gt;#---------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;# - Connection Settings -&lt;br /&gt;&lt;br /&gt;#tcpip_socket = false&lt;br /&gt;tcpip_socket = true&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;次、pg_hba.confを編集し、リモートでの接続を許可する&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;-bash-3.00$ vi /var/lib/pgsql/data/pg_hba.conf&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;ファイルの最後に以下を追加する。上から、ローカルからのアクセスは無条件に許可・内部からのアクセスは無条件に許可・上記以外からのアクセスはパスワード認証により許可&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;local  all    all                             trust&lt;br /&gt;host   all    all 127.0.0.1  255.255.255.255  trust&lt;br /&gt;host   all    all 0.0.0.0    0.0.0.0          password crypt&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;これでPostgreSQLの設定はひとまず完了&lt;br /&gt;ルートユーザに戻り、PostgreSQLを再起動する&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;-bash-3.00$ exit&lt;br /&gt;[root@mycentos ~]# service postgresql restart&lt;br /&gt;Stopping postgresql service:                               [  OK  ]&lt;br /&gt;Starting postgresql service:                               [  OK  ]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;リモートでpgAdminⅢを使って接続できたので、無事にセットアップできました。&lt;br /&gt;pgAdminⅢの使い方は、GUIだし書かない。&lt;br /&gt;あと、リモートでそのまま通信するのはセキュリティーとか不安なので、SSHを使ってポートフォアードなんてのを利用した。&lt;br /&gt;&lt;a href="http://ja.poderosa.org/download/plugins.html"&gt;Poderosaプラグイン&lt;/a&gt;サイトのSSHのポートフォワーディングツールを使ってます。&lt;br /&gt;あまりわかってないので詳しい話はできません。&lt;a href="http://www.fiberbit.net/user/kunyami/sshpf/poderosa.html"&gt;SSHポートフォワーディングによる接続&lt;/a&gt;を参考にしました。&lt;br /&gt;&lt;br /&gt;■PostgreSQLをバージョンアップ&lt;br /&gt;&lt;br /&gt;最新のPostgreSQLにバージョンアップします。7.4.17も少し動かしていたので、勉強もかねてバックアップをまず取ります。&lt;br /&gt;コマンドは、pg_dumpall &gt; ファイル名です&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# su - postgres&lt;br /&gt;-bash-3.00$ pg_dumpall &gt; postgresBK&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;データが少ないから、すぐ終わった。できてるね。場所も覚えておこう。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;-bash-3.00$ ls&lt;br /&gt;backups  data  initdb.i18n  postgresBK&lt;br /&gt;-bash-3.00$ pwd&lt;br /&gt;/var/lib/pgsql&lt;br /&gt;-bash-3.00$ exit&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;PostgreSQLを止めます&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# service postgresql stop&lt;br /&gt;Stopping postgresql service:                               [  OK  ]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;古いPostgreSQLを削除します。yumでインストールしているので、yumでアンインストールする&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# yum remove postgresql&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;途中で確認でとまるのでyを入力し、Enter。無事に削除できた。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Loading "fastestmirror" plugin&lt;br /&gt;Setting up Remove Process&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&gt; Populating transaction set with selected packages. Please wait.&lt;br /&gt;---&gt; Package postgresql.x86_64 0:7.4.17-1.RHEL4.1 set to be erased&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;Setting up repositories&lt;br /&gt;update                    100% |=========================|  951 B    00:00&lt;br /&gt;base                      100% |=========================| 1.1 kB    00:00&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;Install      0 Package(s)&lt;br /&gt;Update       0 Package(s)&lt;br /&gt;Remove       2 Package(s)&lt;br /&gt;Total download size: 0&lt;br /&gt;Is this ok [y/N]: y&lt;br /&gt;Downloading Packages:&lt;br /&gt;Running Transaction Test&lt;br /&gt;Finished Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;  Removing  : postgresql-server            ######################### [1/2]&lt;br /&gt;  Removing  : postgresql                   ######################### [2/2]&lt;br /&gt;&lt;br /&gt;Removed: postgresql.x86_64 0:7.4.17-1.RHEL4.1&lt;br /&gt;Dependency Removed: postgresql-server.x86_64 0:7.4.17-1.RHEL4.1&lt;br /&gt;Complete!&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;postgresユーザを作成する。PostgreSQLのインストールはrootで行ってはいけないらしい&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos postgresql-8.2.4]# groupadd postgres&lt;br /&gt;[root@mycentos postgresql-8.2.4]# useradd -g postgres postgres&lt;br /&gt;[root@mycentos postgresql-8.2.4]# passwd postgres&lt;br /&gt;Changing password for user postgres.&lt;br /&gt;New UNIX password:ひみつ&lt;br /&gt;Retype new UNIX password:ひみつ&lt;br /&gt;passwd: all authentication tokens updated successfully.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;wgetコマンドで最新バージョンをダウンロード&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# su - postgres&lt;br /&gt;[postgres@mycentos ~]# wget ftp://ftp.jp.postgresql.org/source/v8.2.4/postgresql-8.2.4.tar.gz&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;ソースの解凍、そしてできたディレクトリに移動します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos ~]# tar zxvf postgresql-8.2.4.tar.gz&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;[postgres@mycentos ~]# cd postgresql-8.2.4&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;PostgreSQLをビルドします。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos postgresql-8.2.4]# ./configure --prefix=/usr/local/pgsql&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;[postgres@mycentos postgresql-8.2.4]# make&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;なんとか成功。./configureのオプションはいろいろ調べてけど、シンプルにprefixだけにしました。良くわかってないけど。&lt;br /&gt;あと、./configure時に、readlineライブラリが無いよ！て怒られて困ったけど（readlineパッケージはインストール済みやったもん。。）&lt;br /&gt;調べたところreadline-develもいるらしい。なのでyum install readline-develをしました。&lt;br /&gt;&lt;br /&gt;checkinstallを使ってRPM化します。&lt;a href="http://leaveanotemessagebehind.blogspot.com/2007/08/checkinstall.html"&gt;checkinstallの導入&lt;/a&gt;&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos postgresql-8.2.4]# checkinstall&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;Building file list...OKtar: /usr/src/redhat/SOURCES/postgresql-8.2.4.tgz: Cannot open: Permission denied&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;あらら、権限がない。んーじゃrootでやるしかないのか。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos postgresql-8.2.4]# exit&lt;br /&gt;[root@mycentos ~]# cd /home/postgres/postgres-8.2.4&lt;br /&gt;[root@mycentos postgresql-8.2.4]# checkinstall&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;**********************************************************************&lt;br /&gt;&lt;br /&gt; Done. The new package has been saved to&lt;br /&gt;&lt;br /&gt; /usr/src/redhat/RPMS/x86_64/postgresql-8.2.4-1.x86_64.rpm&lt;br /&gt; You can install it in your system anytime using:&lt;br /&gt;&lt;br /&gt;      rpm -i postgresql-8.2.4-1.x86_64.rpm&lt;br /&gt;**********************************************************************&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;とりあえずRPMの作成は成功。いけんのかね？&lt;br /&gt;でまたしらべてみたら、インストールまではrootでもよぐねくねくね？&lt;a href="http://bitarts.jp/tech/linux/postgresql80.html"&gt;BitArts&lt;/a&gt;をみて続きをする。&lt;br /&gt;rootのままパッケージをインストールする&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos postgresql-8.2.4]# rpm -ivh /usr/src/redhat/RPMS/x86_64/postgresql-8.2.4-1.&lt;br /&gt;x86_64.rpm&lt;br /&gt;Preparing...                ########################################### [100%]&lt;br /&gt;   1:postgresql             ########################################### [100%]&lt;br /&gt;[root@mycentos postgresql-8.2.4]#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;あっさり。じゃー初期設定します。&lt;br /&gt;データ保存用のディレクトリを作ります。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos postgresql-8.2.4]# cd /usr/local/pgsql&lt;br /&gt;[root@mycentos pgsql]# mkdir data&lt;br /&gt;[root@mycentos pgsql]# chown postgres:postgres data&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;postgresユーザになってから、データ初期化コマンド実行&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos pgsql]# su - postgres&lt;br /&gt;[postgres@mycentos ~]# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data&lt;br /&gt;The files belonging to this database system will be owned by user "postgres".&lt;br /&gt;This user must also own the server process.&lt;br /&gt;&lt;br /&gt;The database cluster will be initialized with locale C.&lt;br /&gt;&lt;br /&gt;fixing permissions on existing directory /usr/local/pgsql/data ... ok&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;copying template1 to postgres ... ok&lt;br /&gt;&lt;br /&gt;WARNING: enabling "trust" authentication for local connections&lt;br /&gt;You can change this by editing pg_hba.conf or using the -A option the&lt;br /&gt;next time you run initdb.&lt;br /&gt;&lt;br /&gt;Success. You can now start the database server using:&lt;br /&gt;&lt;br /&gt;    /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data&lt;br /&gt;or&lt;br /&gt;    /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;データ初期化は成功したようです。pg_hba.confの編集をわすれるなよ。っていわれてます。あとでね。&lt;br /&gt;postgresユーザの.bash_profileファイルにPATHを設定します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos ~]# vi .bash_profile&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;以下を追加しました。&lt;br /&gt;export PATH=$PATH:/usr/local/pgsql/bin&lt;br /&gt;export POSTGRES_HOME=/usr/local/pgsql&lt;br /&gt;export PGLIB=$POSTGRES_HOME/lib&lt;br /&gt;export PGDATA=$POSTGRES_HOME/data&lt;br /&gt;export MANPATH="$MANPATH":$POSTGRES_HOME/man&lt;br /&gt;export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos ~]# cat .bash_profile&lt;br /&gt;# .bash_profile&lt;br /&gt;&lt;br /&gt;# Get the aliases and functions&lt;br /&gt;if [ -f ~/.bashrc ]; then&lt;br /&gt;        . ~/.bashrc&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;# User specific environment and startup programs&lt;br /&gt;&lt;br /&gt;PATH=$PATH:$HOME/bin&lt;br /&gt;&lt;br /&gt;export PATH&lt;br /&gt;export PATH=$PATH:/usr/local/pgsql/bin&lt;br /&gt;export POSTGRES_HOME=/usr/local/pgsql&lt;br /&gt;export PGLIB=$POSTGRES_HOME/lib&lt;br /&gt;export PGDATA=$POSTGRES_HOME/data&lt;br /&gt;export MANPATH="$MANPATH":$POSTGRES_HOME/man&lt;br /&gt;export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"&lt;br /&gt;&lt;br /&gt;unset USERNAME&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;.bash_profileを反映します。再読込み。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos ~]# source ~postgres/.bash_profile&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;データベースができるかな。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos ~]# pg_ctl start&lt;br /&gt;[postgres@mycentos ~]# createdb --encoding=UTF8&lt;br /&gt;ERROR:  database "postgres" already exists&lt;br /&gt;STATEMENT:  CREATE DATABASE postgres ENCODING 'UTF8';&lt;br /&gt;&lt;br /&gt;createdb: database creation failed: ERROR:  database "postgres" already exists&lt;br /&gt;&lt;br /&gt;[postgres@mycentos ~]# psql&lt;br /&gt;Welcome to psql 8.2.4, the PostgreSQL interactive terminal.&lt;br /&gt;&lt;br /&gt;Type:  \copyright for distribution terms&lt;br /&gt;       \h for help with SQL commands&lt;br /&gt;       \? for help with psql commands&lt;br /&gt;       \g or terminate with semicolon to execute query&lt;br /&gt;       \q to quit&lt;br /&gt;&lt;br /&gt;postgres=#&lt;br /&gt;postgres=#\q&lt;br /&gt;[postgres@mycentos ~]#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;なんか既にありまっす。ていわれたので、そのまま接続。できた。&lt;br /&gt;&lt;br /&gt;■じゃー8.2.4のPostgreSQLをセットアップしてみる&lt;br /&gt;&lt;br /&gt;rootで、まず自動起動用スクリプトをコピーする&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# cp /home/postgres/postgresql-8.2.4/contrib/start-scripts/linux /etc/rc.d/init.d/postgres&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;作成したファイルに実行権をつけ、自動起動も設定しておく。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# chmod 755 /etc/rc.d/init.d/postgres&lt;br /&gt;[root@mycentos ~]# chkconfig postgres on&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;PostgreSQL上のpostgresユーザのパスワードを設定&lt;br /&gt;postgresユーザにスイッチし、psqlコマンドでPostgreSQLに接続後、パスワード設定する（7.4.17とはちょっと違うからね）&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# su - postgres&lt;br /&gt;[postgres@mycentos ~]# psql template1&lt;br /&gt;Welcome to psql 8.2.4, the PostgreSQL interactive terminal.&lt;br /&gt;&lt;br /&gt;Type:  \copyright for distribution terms&lt;br /&gt;       \h for help with SQL commands&lt;br /&gt;       \? for help with psql commands&lt;br /&gt;       \g or terminate with semicolon to execute query&lt;br /&gt;       \q to quit&lt;br /&gt;&lt;br /&gt;template1=# alter role postgres with password 'ひみつー';&lt;br /&gt;template1=# \q&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;次は、postgresql.confを編集し、TCP/IP経由でのデータベース接続許可する（7.4.17とはちょっと違うからね）&lt;br /&gt;viの使い方は&lt;a href="http://www.linux.or.jp/JF/JFdocs/vi-user-usage.html"&gt;viを使い倒そう&lt;/a&gt;で覚えました。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos ~]# vi /usr/local/pgsql/data/postgresql.conf&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;listen_addresses = '*'を追加する&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;#---------------------------------------------------------------------------&lt;br /&gt;# CONNECTIONS AND AUTHENTICATION&lt;br /&gt;#---------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;# - Connection Settings -&lt;br /&gt;&lt;br /&gt;#listen_addresses = 'localhost'         # what IP address(es) to listen on;&lt;br /&gt;listen_addresses = '*'                  # comma-separated list of addresses;&lt;br /&gt;                                        # defaults to 'localhost', '*' = all&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;次、pg_hba.confを編集し、リモートでの接続を許可する（7.4.17とはちょっと違うからね）&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos ~]# vi /usr/local/pgsql/data/pg_hba.conf&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;ファイルの最後のとこを以下のように変更&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;# "local" is for Unix domain socket connections only&lt;br /&gt;local   all         all                               trust&lt;br /&gt;# IPv4 local connections:&lt;br /&gt;host    all         all         127.0.0.1/32          trust&lt;br /&gt;host    all         all         0.0.0.0/0             password&lt;br /&gt;# IPv6 local connections:&lt;br /&gt;#host    all         all         ::1/128               trust&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;ルートユーザに戻り、PostgreSQLを再起動する&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos ~]# exit&lt;br /&gt;[root@mycentos ~]# service postgres restart&lt;br /&gt;service postgres restart&lt;br /&gt;Restarting PostgreSQL: server stopped&lt;br /&gt;ok&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Autovacuumをお勧めします。とpgAdminⅢにいわれたので設定する&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# su - postgres&lt;br /&gt;[postgres@mycentos ~]# vi /usr/local/pgsql/data/postgresql.conf&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;stats_row_level = onにします&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;#---------------------------------------------------------------------------&lt;br /&gt;# RUNTIME STATISTICS&lt;br /&gt;#---------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;# - Query/Index Statistics Collector -&lt;br /&gt;&lt;br /&gt;#stats_command_string = on&lt;br /&gt;#update_process_title = on&lt;br /&gt;&lt;br /&gt;#stats_start_collector = on             # needed for block or row stats&lt;br /&gt;                                        # (change requires restart)&lt;br /&gt;#stats_block_level = off&lt;br /&gt;#stats_row_level = off&lt;br /&gt;stats_row_level = on&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;autovacuum = onにします。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;#---------------------------------------------------------------------------&lt;br /&gt;# AUTOVACUUM PARAMETERS&lt;br /&gt;#---------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;#autovacuum = off                       # enable autovacuum subprocess?&lt;br /&gt;autovacuum = on                         # 'on' requires stats_start_collector&lt;br /&gt;                                        # and stats_row_level to also be on&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;ルートユーザに戻り、PostgreSQLを再起動する。これでAutovacuumが有効になりました。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[postgres@mycentos ~]# exit&lt;br /&gt;[root@mycentos ~]# service postgres restart&lt;br /&gt;service postgres restart&lt;br /&gt;Restarting PostgreSQL: server stopped&lt;br /&gt;ok&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;■バックアップデータを戻してみる&lt;br /&gt;&lt;br /&gt;バックアップファイルをコピーしきて、リストアコマンドをたたく&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# cd /var/lib/pgsql/&lt;br /&gt;[root@mycentos ~]# cp postgresBK /home/postgres/postgresBK&lt;br /&gt;[root@mycentos ~]# su - postgres&lt;br /&gt;[postgres@mycentos ~]# psql -f postgresBK postgres&lt;br /&gt;You are now connected to database "template1".&lt;br /&gt;psql:postgresBK:11: ERROR:  cannot delete from a view&lt;br /&gt;HINT:  You need an unconditional ON DELETE DO INSTEAD rule.&lt;br /&gt;psql:postgresBK:13: NOTICE:  SYSID can no longer be specified&lt;br /&gt;CREATE ROLE&lt;br /&gt;psql:postgresBK:20: ERROR:  cannot delete from a view&lt;br /&gt;HINT:  You need an unconditional ON DELETE DO INSTEAD rule.&lt;br /&gt;CREATE DATABASE&lt;br /&gt;You are now connected to database "template1".&lt;br /&gt;SET&lt;br /&gt;SET&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;SET&lt;br /&gt;CREATE TABLE&lt;br /&gt;psql:postgresBK:131: NOTICE:  CREATE TABLE will create implicit sequence "members_id_seq" for serial column "members.id"&lt;br /&gt;CREATE TABLE&lt;br /&gt;CREATE INDEX&lt;br /&gt;psql:postgresBK:169: NOTICE:  ALTER TABLE / ADD PRIMARY KEY will create implicit index "members_pkey" for table "members"&lt;br /&gt;ALTER TABLE&lt;br /&gt; setval&lt;br /&gt;--------&lt;br /&gt;      2&lt;br /&gt;(1 row)&lt;br /&gt;&lt;br /&gt;SET&lt;br /&gt;COMMENT&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;大事なデータじゃないし、なんかわからんけどOKとする。&lt;br /&gt;無事リモートでも接続できた。SSHでもできた。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-5419059311254546497?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/5419059311254546497/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=5419059311254546497' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/5419059311254546497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/5419059311254546497'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2007/08/centosrailspostgresql.html' title='CentOSへRailsのためにPostgreSQL'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-989752305776062378</id><published>2007-08-17T11:02:00.000+09:00</published><updated>2008-12-13T11:41:56.054+09:00</updated><title type='text'>CentOSにRailsをインストール</title><content type='html'>&lt;strong&gt;Railsをインストール。&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Ruby、RubyGemsのインストールが無事に終わったので、Railsをいれます。&lt;br /&gt;&lt;br /&gt;■gemsコマンドでRailsをインストール&lt;br /&gt;&lt;br /&gt;Ruby、RubyGems入ってる。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# gem -v&lt;br /&gt;0.9.4&lt;br /&gt;[root@mycentos ~]# ruby -v&lt;br /&gt;ruby 1.8.6 (2007-03-13 patchlevel 0) [x86_64-linux]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;gemsコマンド実行&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# gem install rails&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;あらら、エラーがでた。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Bulk updating Gem source index for: http://gems.rubyforge.org&lt;br /&gt;ERROR:  While executing gem ... (Gem::GemNotFoundException)&lt;br /&gt;    Could not find rails (&gt; 0) in any repository&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;ちょっと調べたら、引数をつけないと駄目なようでした。再度コマンド&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# gem install rails --include-dependencies&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;うまくいった。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Bulk updating Gem source index for: http://gems.rubyforge.org&lt;br /&gt;Successfully installed rails-1.2.3&lt;br /&gt;Successfully installed rake-0.7.3&lt;br /&gt;Successfully installed activesupport-1.4.2&lt;br /&gt;Successfully installed activerecord-1.15.3&lt;br /&gt;Successfully installed actionpack-1.13.3&lt;br /&gt;Successfully installed actionmailer-1.3.3&lt;br /&gt;Successfully installed actionwebservice-1.2.3&lt;br /&gt;Installing ri documentation for rake-0.7.3...&lt;br /&gt;Installing ri documentation for activesupport-1.4.2...&lt;br /&gt;Installing ri documentation for activerecord-1.15.3...&lt;br /&gt;Installing ri documentation for actionpack-1.13.3...&lt;br /&gt;Installing ri documentation for actionmailer-1.3.3...&lt;br /&gt;Installing ri documentation for actionwebservice-1.2.3...&lt;br /&gt;Installing RDoc documentation for rake-0.7.3...&lt;br /&gt;Installing RDoc documentation for activesupport-1.4.2...&lt;br /&gt;Installing RDoc documentation for activerecord-1.15.3...&lt;br /&gt;Installing RDoc documentation for actionpack-1.13.3...&lt;br /&gt;Installing RDoc documentation for actionmailer-1.3.3...&lt;br /&gt;Installing RDoc documentation for actionwebservice-1.2.3...&lt;br /&gt;[root@mycentos ~]# &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;ブラウザで確認できるか簡単なWEBrickを起動してみる。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# mkdir raily&lt;br /&gt;[root@mycentos ~]# cd raily&lt;br /&gt;[root@mycentos raily]# rails hello&lt;br /&gt;      create&lt;br /&gt;      create  app/controllers&lt;br /&gt;　　　　　　・&lt;br /&gt;　　　　　　・&lt;br /&gt;　　　　　　・&lt;br /&gt;      create  doc/README_FOR_APP&lt;br /&gt;      create  log/server.log&lt;br /&gt;      create  log/production.log&lt;br /&gt;      create  log/development.log&lt;br /&gt;      create  log/test.log&lt;br /&gt;[root@mycentos raily]# cd hello&lt;br /&gt;[root@mycentos hello]# ruby script/server&lt;br /&gt;=&gt; Booting WEBrick...&lt;br /&gt;=&gt; Rails application started on http://0.0.0.0:3000&lt;br /&gt;=&gt; Ctrl-C to shutdown server; call with --help for options&lt;br /&gt;[2007-08-16 16:42:37] INFO  WEBrick 1.3.1&lt;br /&gt;[2007-08-16 16:42:37] INFO  ruby 1.8.6 (2007-03-13) [x86_64-linux]&lt;br /&gt;[2007-08-16 16:42:37] INFO  WEBrick::HTTPServer#start: pid=16006 port=3000&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_RIuUAKQWwVY/RsUC7jFGpBI/AAAAAAAAAAM/kqR25PVTAc0/s1600-h/image01.gif"&gt;&lt;img style="float:none; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_RIuUAKQWwVY/RsUC7jFGpBI/AAAAAAAAAAM/kqR25PVTAc0/s320/image01.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5099485375119139858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ポート3000にアクセスし、無事に見れました。ポートを変えたいときは引数を付けて起動する例えば、--port=3210&lt;br /&gt;Ctrl＋CでWEBrickを停止する。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;&lt;br /&gt;[2007-08-16 16:43:30] INFO  going to shutdown ...&lt;br /&gt;[2007-08-16 16:43:30] INFO  WEBrick::HTTPServer#start done.&lt;br /&gt;[root@mycentos hello]#&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-989752305776062378?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/989752305776062378/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=989752305776062378' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/989752305776062378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/989752305776062378'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2007/08/centosrails.html' title='CentOSにRailsをインストール'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_RIuUAKQWwVY/RsUC7jFGpBI/AAAAAAAAAAM/kqR25PVTAc0/s72-c/image01.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-6934450966401917076</id><published>2007-08-16T18:10:00.000+09:00</published><updated>2007-08-16T19:01:39.619+09:00</updated><title type='text'>CentOSへRubyGemsをインストール</title><content type='html'>&lt;strong&gt;Rubyのインストールの次に。&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Ruby on RailsをインストールするためにRubyの次に、RubyGemsの最新バージョンをインストール。&lt;br /&gt;&lt;br /&gt;参考ページ&lt;br /&gt;&lt;a href="http://centos.oss.sc/ruby/newest_install/"&gt;CentOS で構築する自宅サーバ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;参考ページのまねで、checkinstall を使って RPM 化してからインストールする。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://leaveanotemessagebehind.blogspot.com/2007/08/checkinstall.html"&gt;checkinstall&lt;/a&gt;を先に導入しておきます。&lt;br /&gt;&lt;br /&gt;■RubyGemsの最新をインストール&lt;br /&gt;&lt;br /&gt;2007年8月16日現在で最新バージョンはrubygems-0.9.4です。&lt;br /&gt;最新版は &lt;a href="http://rubyforge.org/"&gt;RubyForge&lt;/a&gt;で確認できます。&lt;br /&gt;&lt;br /&gt;今回はwgetコマンドで最新バージョンをダウンロード&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# wget  http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;ソースの解凍、そしてできたディレクトリに移動します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# tar zxvf rubygems-0.9.4.tgz&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;[root@mycentos ~]# cd rubygems-0.9.4&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;checkinstall を使って RPM 化します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos rubygems-0.9.4]# checkinstall -R "ruby setup.rb"&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;以下の状態で止まります。デフォルトのパッケージドキュメントを作っていいかと聞かれます。作ってもいいのでそのまま Enter （デフォルトで Yes なので）を押します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;checkinstall 1.6.0, Cocheckinstall 1.6.0, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran&lt;br /&gt;           This software is released under the GNU GPL.&lt;br /&gt;&lt;br /&gt;The package documentation directory ./doc-pak does not exist.&lt;br /&gt;Should I create a default set of package docs?  [y]:&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;パッケージの詳細の入力を求められます。別によそに提供するわけでもないので、何も入力せずに Enter で良いそうです。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Preparing package documentation...OK&lt;br /&gt;Please write a description for the package.&lt;br /&gt;End your description with an empty line or EOF.&gt;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;パッケージの内容の確認がでます。ここで は11を入力します。でEnter。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;**************************************&lt;br /&gt;**** RPM package creation selected ***&lt;br /&gt;**************************************&lt;br /&gt;This package will be built according to these values:&lt;br /&gt;1 -  Summary: [ Package created with checkinstall 1.6.0 ]2 -  Name:    [ rubygems ]3 -  Version: [ 0.9.4 ]4 -  Release: [ 1 ]5 -  License: [ GPL ]6 -  Group:   [ Applications/System ]7 -  Architecture: [ x86_64 ]8 -  Source location: [ rubygems-0.9.4 ]9 -  Alternate source location: [  ]10 - Requires: [  ]11 - Provides: [ rubygems ]&lt;br /&gt;Enter a number to change any of them or press ENTER to continue:&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Rubyと関連付けが必要なのでrubyと入力します。でEnter。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;&lt;br /&gt;Enter a number to change any of them or press ENTER to continue:11&lt;br /&gt;Enter the additional requirements: &gt;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;最後にまた同じパッケージの内容の確認がでます。11のところがrubyになっているのが確認できます。&lt;br /&gt;ここで Enter を押すと RPM の作成処理が始まります。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Enter the additional requirements: &gt;&gt;ruby&lt;br /&gt;&lt;br /&gt;This package will be built according to these values:&lt;br /&gt;1 -  Summary: [ Package created with checkinstall 1.6.0 ]2 -  Name:    [ rubygems ]3 -  Version: [ 0.9.4 ]4 -  Release: [ 1 ]5 -  License: [ GPL ]6 -  Group:   [ Applications/System ]7 -  Architecture: [ x86_64 ]8 -  Source location: [ rubygems-0.9.4 ]9 -  Alternate source location: [  ]10 - Requires: [ ruby ]11 - Provides: [ rubygems ]&lt;br /&gt;Enter a number to change any of them or press ENTER to continue:&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RPM の作成処理が始まりました。うまくいきました。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;&lt;br /&gt;Installing with ruby setup.rb...&lt;br /&gt;&lt;br /&gt;========================= Installation results ===========================---&gt; bin&lt;br /&gt;&lt;--- bin&lt;br /&gt;---&gt; lib&lt;br /&gt;　　　　・&lt;br /&gt;　　　　・&lt;br /&gt;　　　　・&lt;br /&gt;&lt;--- lib/rubygems/digest&lt;br /&gt;&lt;--- lib/rubygems&lt;br /&gt;&lt;--- lib&lt;br /&gt;  Successfully built RubyGem&lt;br /&gt;  Name: sources&lt;br /&gt;  Version: 0.0.1&lt;br /&gt;  File: sources-0.0.1.gem&lt;br /&gt;Removing old RubyGems RDoc and ri...&lt;br /&gt;Installing rubygems-0.9.4 ri...&lt;br /&gt;Installing rubygems-0.9.4 rdoc...&lt;br /&gt;&lt;br /&gt;As of RubyGems 0.8.0, library stubs are no longer needed.&lt;br /&gt;Searching $LOAD_PATH for stubs to optionally delete (may take a while)...&lt;br /&gt;...done.&lt;br /&gt;No library stubs found.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;======================== Installation successful ==========================&lt;br /&gt;Copying documentation directory...&lt;br /&gt;./&lt;br /&gt;./TODO&lt;br /&gt;./README&lt;br /&gt;./doc/&lt;br /&gt;./doc/makedoc.rb&lt;br /&gt;./doc/doc.css&lt;br /&gt;./ChangeLog&lt;br /&gt;&lt;br /&gt;Copying files to the temporary directory...OK&lt;br /&gt;Striping ELF binaries and libraries...OK&lt;br /&gt;Compressing man pages...OK&lt;br /&gt;Building file list...OK&lt;br /&gt;Building RPM package...OK&lt;br /&gt;NOTE: The package will not be installed&lt;br /&gt;Erasing temporary files...OK&lt;br /&gt;Writing backup package...OK&lt;br /&gt;Deleting temp dir...OK&lt;br /&gt;&lt;br /&gt;**********************************************************************&lt;br /&gt;&lt;br /&gt; Done. The new package has been saved to&lt;br /&gt;&lt;br /&gt; /usr/src/redhat/RPMS/x86_64/rubygems-0.9.4-1.x86_64.rpm&lt;br /&gt; You can install it in your system anytime using:&lt;br /&gt;&lt;br /&gt;      rpm -i rubygems-0.9.4-1.x86_64.rpm&lt;br /&gt;**********************************************************************&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;作成された RPM をインストールします。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos rubygems-0.9.4]# rpm -ivh /usr/src/redhat/RPMS/x86_64/rubygems-0.9.4-1.x86_64.rpm&lt;br /&gt;Preparing...                ########################################### [100%]&lt;br /&gt;   1:rubygems               ########################################### [100%]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;後片付けをします。別にしなくてもいいけど。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos rubygems-0.9.4]# rm /usr/src/redhat/RPMS/x86_64/rubygems-0.9.4-1.x86_64.rpm&lt;br /&gt;[root@mycentos rubygems-0.9.4]# cd&lt;br /&gt;[root@mycenos ~]# rm -rf rubygems-0.9.4*&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;参考ページのおかげで、エラー無く無事終了。最後にGemsのバージョンを確認。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# gems -v&lt;br /&gt;0.9.4&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;そういえば、いちどzlibがないってエラーがでたきがする・・。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;/usr/local/lib/ruby/site_ruby/1.8/rubygems/remote_fetcher.rb:4:in `require': no such file to load -- zlib (LoadError)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;zlib がいるらしい。&lt;a href="http://d.hatena.ne.jp/Hexa/20070604"&gt;こちらのページ&lt;/a&gt;を参考にしました。てかそのまま。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycenos ~]# yum install zlib-devel&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;続けて、&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycenos ~]# cd ruby-1.8.6/ext/zlib&lt;br /&gt;[root@mycenos zlib]# ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib&lt;br /&gt;[root@mycenos zlib]# make&lt;br /&gt;[root@mycenos zlib]# make install&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;これでいけたと思う。&lt;br /&gt;&lt;br /&gt;追伸&lt;br /&gt;もともと古いRubyやGemsがインストールされていて、古いの削除→最新をインストールとしてた場合、rubyやgemsを作成する場所を変えたら、インストール後にruby -vやgems -vを打っても、みつかんないよそんなもの～（英語）ていわれます。そのときは、一度ログアウトします。そしたら、パスが反映されました。これで半日ハマったし。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-6934450966401917076?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/6934450966401917076/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=6934450966401917076' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/6934450966401917076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/6934450966401917076'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2007/08/centosrubygems.html' title='CentOSへRubyGemsをインストール'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-5007078191619187005</id><published>2007-08-06T17:21:00.000+09:00</published><updated>2007-08-06T17:27:49.923+09:00</updated><title type='text'>checkinstall の導入</title><content type='html'>&lt;strong&gt;Rubyをインストールする前に。&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;tar ボール（拡張子が tar.gz や tgz などのソースアーカイブファイル）からインストールの方法が良くわからない。&lt;br /&gt;checkinstall は tar ボールからのインストールを監視して RPM を作ってくれる便利なツールです。&lt;br /&gt;&lt;br /&gt;参考ページ&lt;br /&gt;&lt;a href="http://centos.oss.sc/fundamentals/checkinstall/"&gt;CentOS で構築する自宅サーバ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;■checkinstallのインストール&lt;br /&gt;&lt;br /&gt;checkinstall は yum でインストールできるので簡単です。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# yum --enablerepo=rpmforge install checkinstall&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;以下の状態で止まります。いいかい？ってきかれてるのでyでEnter。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Loading "fastestmirror" plugin&lt;br /&gt;Setting up Install Process&lt;br /&gt;Setting up repositories&lt;br /&gt;Loading mirror speeds from cached hostfile&lt;br /&gt;Reading repository metadata in from local files&lt;br /&gt;Excluding Packages in global exclude list&lt;br /&gt;Finished&lt;br /&gt;Parsing package install arguments&lt;br /&gt;Resolving Dependencies&lt;br /&gt;--&gt; Populating transaction set with selected packages. Please wait.&lt;br /&gt;---&gt; Downloading header for checkinstall to pack into transaction set.&lt;br /&gt;checkinstall-1.6.0-3.el4. 100% |=========================| 4.8 kB    00:00&lt;br /&gt;---&gt; Package checkinstall.x86_64 0:1.6.0-3.el4.rf set to be updated&lt;br /&gt;--&gt; Running transaction check&lt;br /&gt;&lt;br /&gt;Dependencies Resolved&lt;br /&gt;&lt;br /&gt;=============================================================================&lt;br /&gt; Package                 Arch       Version          Repository        Size&lt;br /&gt;=============================================================================&lt;br /&gt;Installing:&lt;br /&gt; checkinstall            x86_64     1.6.0-3.el4.rf   rpmforge           82 k&lt;br /&gt;&lt;br /&gt;Transaction Summary&lt;br /&gt;=============================================================================&lt;br /&gt;Install      1 Package(s)&lt;br /&gt;Update       0 Package(s)&lt;br /&gt;Remove       0 Package(s)&lt;br /&gt;Total download size: 82 k&lt;br /&gt;Is this ok [y/N]:&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;これでComplete!だそうです。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Downloading Packages:&lt;br /&gt;(1/1): checkinstall-1.6.0 100% |=========================|  82 kB    00:00&lt;br /&gt;Running Transaction Test&lt;br /&gt;Finished Transaction Test&lt;br /&gt;Transaction Test Succeeded&lt;br /&gt;Running Transaction&lt;br /&gt;  Installing: checkinstall                 ######################### [1/1]&lt;br /&gt;&lt;br /&gt;Installed: checkinstall.x86_64 0:1.6.0-3.el4.rf&lt;br /&gt;Complete!&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;ちなみに、わたしは【yum --enablerepo=rpmforge install checkinstall】でエラーになりました。&lt;br /&gt;checkinstall は RPMForge のリポジトリを yum リポジトリに追加していなければならないそうです。&lt;br /&gt;CentOS5の場合は、【el4】を【el5】にする。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm&lt;br /&gt;[root@mycentos ~]# rpm -Uhv rpmforge-release-0.3.6-1.el4.rf.i386.rpm&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;参考ページにしたがって、&lt;br /&gt;無用の混乱を避けるため、デフォルトでは有効にならないように設定ファイルを修正します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# vi /etc/yum.repos.d/rpmforge.repo&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;viの使い方は&lt;a href="http://www.linux.or.jp/JF/JFdocs/vi-user-usage.html"&gt;viを使い倒そう&lt;/a&gt;で覚えました。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;enabled = 1&lt;br /&gt;　　↓&lt;br /&gt;enabled = 0&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;またまた参考ページにしたがって、&lt;br /&gt;次に RPM の署名を検証するためのキーを導入します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt&lt;br /&gt;[root@mycentos ~]# rpm --import RPM-GPG-KEY.dag.txt&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;これで設定は完了です。今後、RPMforge のリポジトリを使いたい場合は以下のように「--enablerepo=rpmforge」をつけます。&lt;br /&gt;ちなみに以下は、RPMforge のものも含めたパッケージのリストを表示します。&lt;br /&gt;なにやら、いっぱい表示されます。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# yum --enablerepo=rpmforge list&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;また、パッケージ認証用のキーをインストールするかきかれるのでそのときはyで応答します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Importing GPG key 0x6B8D79E6 "Dag Wieers (Dag Apt Repository v1.0) &lt;dag@wieers.com&gt;"&lt;br /&gt;Is this ok [y/N]:&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;これで【yum --enablerepo=rpmforge install checkinstall】がうまくいきます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-5007078191619187005?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/5007078191619187005/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=5007078191619187005' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/5007078191619187005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/5007078191619187005'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2007/08/checkinstall.html' title='checkinstall の導入'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4643272829788237240.post-4941372260938543462</id><published>2007-08-06T13:24:00.000+09:00</published><updated>2007-08-16T16:23:58.293+09:00</updated><title type='text'>CentOS という Linux へ Ruby をインストール</title><content type='html'>&lt;strong&gt;Rubyの最新バージョンをインストール&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Ruby on Railsをインストールするためにまず、Rubyの最新バージョンをインストール。&lt;br /&gt;Ruby on Rails が求める Ruby のバージョンは 1.8.2 以上です。（※現在2007/08）&lt;br /&gt;もともと、1.8.1がインストールされていたので、削除して、1.8.6をインストールします。&lt;br /&gt;&lt;br /&gt;参考ページ&lt;br /&gt;&lt;a href="http://centos.oss.sc/ruby/newest_install/"&gt;CentOS で構築する自宅サーバ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;参考ページのまねで、checkinstall を使って RPM 化してからインストールする。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://leaveanotemessagebehind.blogspot.com/2007/08/checkinstall.html"&gt;checkinstall&lt;/a&gt;を先に導入しておきます。&lt;br /&gt;&lt;br /&gt;■Rubyの確認&lt;br /&gt;&lt;br /&gt;rubyがあるか確認&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# ruby -v&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;1.8.1がインストールされてます。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# ruby 1.8.1 (2003-03-13 patchlevel 0) [x86_64-linux]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;インストールされてなければ、以下のように表示される。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# rubyなんてないよ（英語で）&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;参考ページにしたがって、ruby1.8.1をアンインストールする。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# yum remove ruby-libs&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;■Rubyの最新をインストール&lt;br /&gt;&lt;br /&gt;2007年8月6日現在で最新バージョンはruby1.8.6です。&lt;br /&gt;最新版は &lt;a href="http://www.ruby-lang.org/ja/downloads/"&gt;Ruby の公式ページ&lt;/a&gt;で確認できます。&lt;br /&gt;&lt;br /&gt;今回はwgetコマンドで最新バージョンをダウンロード&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;ソースの解凍、そしてできたディレクトリに移動します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# tar zxvf ruby-1.8.6.tar.gz&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;[root@mycentos ~]# cd ruby-1.8.6&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Ruby をビルドします。checkinstall を使って RPM として管理するので、「--prefix=/usr/local」をつけてインストール先を /usr/local にします。&lt;br /&gt;理解してません。参考ページのいいなりです。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ruby-1.8.6]# ./configure --prefix=/usr/local&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;br /&gt;[root@mycentos ruby-1.8.6]# make&lt;br /&gt;　　　　　・&lt;br /&gt;　　　　　・&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;checkinstall を使って RPM 化します。&lt;br /&gt;Ruby は「make install」でインストールするとインストールしたファイルを参照しながらインストール処理を続けるので、そのような場合は 「--fstrans=no」オプションをつける必要があります。&lt;br /&gt;理解してません。参考ページのいいなりです。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ruby-1.8.6]# checkinstall --fstrans=no&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;以下の状態で止まります。デフォルトのパッケージドキュメントを作っていいかと聞かれます。作ってもいいのでそのまま Enter （デフォルトで Yes なので）を押します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;checkinstall 1.6.0, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran&lt;br /&gt;           This software is released under the GNU GPL.&lt;br /&gt;&lt;br /&gt;The package documentation directory ./doc-pak does not exist.&lt;br /&gt;Should I create a default set of package docs?  [y]:&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;続いてパッケージタイプを聞かれます。RPM なので r を入力します。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Preparing package documentation...OK&lt;br /&gt;Please choose the packaging method you want to use.Slackware [S], RPM [R] or Debian [D]?&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;パッケージの詳細の入力を求められます。別によそに提供するわけでもないので、何も入力せずに Enter で良いそうです。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;Please write a description for the package.&lt;br /&gt;End your description with an empty line or EOF.&gt;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;最後にパッケージの内容の確認がでます。ここで Enter を押すと RPM の作成処理が始まります。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;**************************************&lt;br /&gt;**** RPM package creation selected ***&lt;br /&gt;**************************************&lt;br /&gt;This package will be built according to these values:&lt;br /&gt;1 -  Summary: [ Package created with checkinstall 1.6.0 ]2 -  Name:    [ ruby ]3 -  Version: [ 1.8.6 ]4 -  Release: [ 1 ]5 -  License: [ GPL ]6 -  Group:   [ Applications/System ]7 -  Architecture: [ x86_64 ]8 -  Source location: [ ruby-1.8.6 ]9 -  Alternate source location: [  ]10 - Requires: [  ]11 - Provides: [ ruby ]&lt;br /&gt;Enter a number to change any of them or press ENTER to continue:&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;RPM の作成処理が始まりました。うまくいきました。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;&lt;br /&gt;Installing with make install...&lt;br /&gt;&lt;br /&gt;========================= Installation results ===========================./miniruby  ./instruby.rb --dest-dir="" --extout=".ext" --make="make" --mflags="" --make-flags="" --installed-list .installed.list --mantype="doc"&lt;br /&gt;installing binary commands&lt;br /&gt;installing command scripts&lt;br /&gt;installing library scripts&lt;br /&gt;installing headers&lt;br /&gt;installing manpages&lt;br /&gt;installing extension objects&lt;br /&gt;installing extension scripts&lt;br /&gt;&lt;br /&gt;======================== Installation successful ==========================&lt;br /&gt;Copying documentation directory...&lt;br /&gt;./&lt;br /&gt;./README.ja&lt;br /&gt;./README.EXT.ja&lt;br /&gt;./COPYING&lt;br /&gt;./COPYING.ja&lt;br /&gt;　　　　・&lt;br /&gt;　　　　・&lt;br /&gt;Building RPM package...OK&lt;br /&gt;NOTE: The package will not be installed&lt;br /&gt;Erasing temporary files...OK&lt;br /&gt;Deleting doc-pak directory...OK&lt;br /&gt;Writing backup package...OK&lt;br /&gt;Deleting temp dir...OK&lt;br /&gt;&lt;br /&gt;**********************************************************************&lt;br /&gt;&lt;br /&gt; Done. The new package has been saved to&lt;br /&gt;&lt;br /&gt; /usr/src/redhat/RPMS/x86_64/ruby-1.8.6-1.x86_64.rpm&lt;br /&gt; You can install it in your system anytime using:&lt;br /&gt;&lt;br /&gt;      rpm -i ruby-1.8.6-1.x86_64.rpm&lt;br /&gt;**********************************************************************&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;作成された RPM をインストールします。【rpm -i ruby-1.8.6-1.x86_64.rpm】て書かれてるけど、参考ページにしたがって&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ruby-1.8.6]# rpm -Uvh /usr/src/redhat/RPMS/x86_64/ruby-1.8.6-1.x86_64.rpm&lt;br /&gt;Preparing...                ########################################### [100%]&lt;br /&gt;   1:ruby                   ########################################### [100%]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;後片付けをします。別にしなくてもいいけど。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ruby-1.8.6]# rm /usr/src/redhat/RPMS/x86_64/ruby-1.8.6-1.x86_64.rpm&lt;br /&gt;[root@mycentos ruby-1.8.6]# cd&lt;br /&gt;[root@mycentos ~]# rm -rf ruby-1.8.6*&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;参考ページのおかげで、エラー無く無事終了。最後にRubyのバージョンを確認。&lt;br /&gt;&lt;table width="98%"&gt;&lt;tr&gt;&lt;td style="background-color:#101010;color:#ffffff;font-size:85%;padding:10px;"&gt;[root@mycentos ~]# ruby -v&lt;br /&gt;ruby 1.8.6 (2007-03-13 patchlevel 0) [x86_64-linux]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4643272829788237240-4941372260938543462?l=leaveanotemessagebehind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leaveanotemessagebehind.blogspot.com/feeds/4941372260938543462/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4643272829788237240&amp;postID=4941372260938543462' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/4941372260938543462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4643272829788237240/posts/default/4941372260938543462'/><link rel='alternate' type='text/html' href='http://leaveanotemessagebehind.blogspot.com/2007/08/centos-linux-ruby.html' title='CentOS という Linux へ Ruby をインストール'/><author><name>yukky</name><uri>http://www.blogger.com/profile/15362401994572636582</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
