Rails

環境

Debian etchでsqlite3をデータベースとして使えず、原因はruby1.8.5のせいじゃなかろかとおもい、
ruby,gems,sqlite3はソースからそれ以外のrailsとかはgemからインストールしてみようかなと。
aptのruby,rails,rubygemsは全部消してからやってみた。

mysqlでいいやって場合は環境2のほうが楽です。
ruby on railsのサイト

Ruby

てきとうなフォルダで

$ wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz
$ tar xfz ruby-1.8.6.tar.gz
$ cd ruby-1.8.6
$ ./configure --prefix=/usr/local/ruby
$ make
$ make test
$ sudo make intall

.zshrcとかに/usr/local/ruby/binのパスを通しておく。

$ sudo ln -s /usr/local/ruby/bin/ruby /usr/local/bin/ruby
PATH=/usr/local/bin:$PATH

rubygems

rugygems1.1.1のばあい

$ sudo mkdir /usr/local/rubygems
$ export GEM_HOME=/usr/local/rubygems/
$ wget http://rubyforge.org/frs/download.php/38646/rubygems-1.1.1.tgz
$ tar xzf rubygems-1.1.1.tgz
$ cd rugygems-1.1.1
$ sudo ruby setup.rb config --prefix=/usr/local
$ sudo ruby setup.rb setup
$ sudo ruby setup.rb install

.zshrcかなんかに下のパスを追加

export RUBYLIB=/opt/local/lib/site_ruby/1.8/
export GEM_HOME=/opt/rubygems/

pathも

PATH=/usr/local/ruby/bin:/usr/local/bin:$PATH

Sqlite3

http://www.sqlite.org/

$ wget http://www.sqlite.org/sqlite3-3.5.9.bin.gz
$ gunzip sqlite3-3.5.9.bin.gz
$ sudo mv sqlite3-3.5.9.bin /usr/local/bin/sqlite3

Rails

$ sudo gem install rails

環境2

ruby,rubygemsはdebianのパッケージ管理でインストールしたのをそのまま使ってみる。こっちのほうがとっても簡単。
でもsqlite3がなんでかつかえない。くやしくなんかないです。

$ sudo aptitude install ruby
$ sudo aptitude install rubygems

これで必要なものもいろいろ一緒にインストールしてくれる。気がする。
そのままgemを使うと下のエラーがでて使えないんで

uninitialized constant Gem::GemRunner (NameError) 

/usr/bin/gemを編集,【require 'rubygems/gem_runner】を追加する

$ sudo emacs /usr/bin/gem
 
 
require 'rubygems'
require 'rubygems/gem_runner' #追加
Gem.manage_gems

あとはgemからいろいろとrails入れる

$ sudo gem install rails
$ sudo gem install fastthread

Passenger

Passenger
gemからこれをインストールするだけでapacheのrails環境ができちゃうやつ。
railsのまよっちゃう環境構築がすごく楽に。でもメモリいっぱいつかってくれちゃってやがります。
いつのまにかPassenger2になってた。

ついでにRailsアプリをサブディレクトリで配置してみる書き方。

インストール

$ sudo gem install passenger
$ sudo passenger-install-apache2-module
 
This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.
 
Here's what you can expect from the installation process:
 
 1. The Apache 2 module will be installed for you.
 2. You'll learn how to configure Apache.
 3. You'll learn how to deploy a Ruby on Rails application.

で1を選択。たぶん

で/etc/apache2/sites-available/にpassenger.loadかなんか作って

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.1/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.1
PassengerRuby /usr/bin/ruby1.8
RailsEnv development

passenger2.xxになってRailsSpawnServerがなくなってPassengerRootができて、
RailsRubyPassengerRubyになったみたい。

passenger.confを作って ドキュメントルートを設定してRailsBaseURIでサブディレクトリを指定する。あとはてきとう

<VirtualHost *:80>
  DocumentRoot /var/www/rails_app
  ServerName rails.example.jp
 
 RailsBaseURI /todolist                                                                                                                  
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
</Directory>
</VirtualHost>

そんでrailsアプリケーションフォルダのシンボリックリンク作成。

sudo -u www-data ln -s /home/myuser/work/todolist/public /var/www/rails_app/todolist

作ったらpassengerのシンボリックリンクを追加。

$ a2enmod passenger

Ruby Enterprise edition

Passenger用のるびー。インストールするとかってに/opt/入ってる。
メモリ消費とかいろいろ改善されるらしい。
passengerの使うRubyをこれに変更するだけでよいらすう。
確かに速くなります。でもなんかうまく動いてくれない。

Ruby Enterprise edition

インストール

$ tar xzvf ruby-enterprise-X.X.X.tar.gz
$ cd ruby-enterprise-X.X.X
$ sudo ./ruby-enterprise-X.X.X/installer

設定

passenger.loadのPassengerRubyを変更

PassengerRuby /opt/ruby-enterprise-1.8.6-20080621/bin/ruby #インストールされたruby enterprise editionのパス

さくらインターネットにRuby on Railsをインストール

すんなりいかなかったのでめも。

(参考サイト がんちゃんのブログ

参考にしたサイトの通りやっていたら途中で

source_index.rb:450:in `inflate': failed to allocate memory (NoMemoryError)

みたいのがでてきてとまったので困りました。けどインストールするrubygemsを1.1.1から1.3.1にしたらすんなり。
もしかしたらrubyのバージョンが1.8.5じゃなくて1.8.6になってたのが原因なんでしょうか。よくわかりません。 あとはいけました。

ただ、rubygemsをインストールするときにまず先にRB_USER_INSTALL=trueにしておかないとchown/chgrp: Operation not permittedとかいうのがでて正しくインストールできないときがあります。.zshrcなどに書いておくとよろし。

zshの場合

$ export RB_USER_INSTALL=true

tcshの場合

% setenv RB_USER_INSTALL true 

rugygemsをインストール

RubyGemsのページで最新版を確認して、

$ cd ~/src
$ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
$ tar jxf rubygems-1.3.1.tgz
$ cd rubygems-1.3.1
$ ruby setup.rb --prefix=$HOME/local

sqlite3をインストール

さくらインターネットにsqlite 3.6.1をインストール

$ cd ~/src
$ wget  http://www.sqlite.org/sqlite-3.6.1.tar.gz
$ tar xfz sqlite-3.6.1.tar.gz
$ cd sqlite-3.6.1 
$ ./configure --prefix=$HOME/local --disable-dynamic
$ make
$ make install

http://mmonit.com/Monit

development_tool/rails.txt · 最終更新: 2009/09/19 05:54 (外部編集)