======Rails======
=====環境=====
Debian etchでsqlite3をデータベースとして使えず、原因はruby1.8.5のせいじゃなかろかとおもい、 \\
ruby,gems,sqlite3はソースからそれ以外のrailsとかはgemからインストールしてみようかなと。\\
aptのruby,rails,rubygemsは全部消してからやってみた。\\
mysqlでいいやって場合は環境2のほうが楽です。\\
[[http://www.rubyonrails.org/| 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=====
[[http://www.modrails.com/|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ができて、\\
RailsRubyがPassengerRubyになったみたい。
passenger.confを作って
ドキュメントルートを設定してRailsBaseURIでサブディレクトリを指定する。あとはてきとう
DocumentRoot /var/www/rails_app
ServerName rails.example.jp
RailsBaseURI /todolist
Options FollowSymLinks
AllowOverride All
Order deny,allow
そんで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をこれに変更するだけでよいらすう。\\
確かに速くなります。でもなんかうまく動いてくれない。
[[http://www.rubyenterpriseedition.com/|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をインストール=====
* [[http://www.ruby-lang.org/ja/downloads/|Ruby Download]]
* [[http://rubyforge.org/projects/rubygems/|rubygems]]
すんなりいかなかったのでめも。
(参考サイト
[[http://iwatakenichi.blogspot.com/2008/05/ruby-on-rails-202-and-rubygems-111-on.html|がんちゃんのブログ]]
参考にしたサイトの通りやっていたら途中で
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をインストール====
[[http://docs.rubygems.org/|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]]