======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]]