[RubyForge] [RAA] [Forge] [逆引きRuby] [マニュアル] [るびま] [Try! Ruby] [PRaggerまとめ] [Rubyコーディング規約]
2007-05-07
■ Rubygemsをユーザー権限でインストールする方法(Sakura サーバにRubygemsをインストール)

サクラインターネットのスタンダードプランはtelnetが使えるけど、root権限は使えない。
ユーザー権限だけでレンタルサーバーにRuby On Railsを入れてredMineを動かしてみます。
まず最初にRubyGemsを入れます。
3.2 Installing RubyGems in a User Directory
RubyGems User Guide | RubyGems Manuals
以下を行います。
$ export GEM_HOME=/home/mygemrepository $ ruby setup.rb config --prefix=/home/mystuff $ ruby setup.rb setup $ ruby setup.rb install
※サクラインターネット(スタンダードプラン)ではシェルがcshなので
exportはsetenvにします。
shell /bin/csh
$ setenv GEM_HOME /home/mygemrepository $ ruby setup.rb config --prefix=/home/mystuff $ ruby setup.rb setup $ ruby setup.rb install
そのまま起動すると「gem:9:in `require': no such file to load -- rubygems (LoadError)」とエラーになるのでライブラリ用検索パスを追加します。
setenv RUBYLIB /home/mystuff/lib/ruby/site_ruby/1.8
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X 11R6/bin $HOME/bin /home/mygemrepository/bin /home/mygemrepository/bin ) setenv GEM_HOME /home/mygemrepository setenv RUBYLIB /home/mystuff/lib/ruby/site_ruby/1.8
最後に以下を実行
gem update --system
■ Sakura サーバに Sqlite3 をインストールしてみる

※サクラインターネットのSQLサーバーを使う場合は不要です。
%wget http://sqlite.org/sqlite-3.x.x.tar.gz %tar xzvf sqlite-3.x.x.tar.gz %cd sqlite-3.x.x %./configure --prefix=$HOME %make %make install
ハタさんのブログ : Sakura サーバに Sqlite3 をインストールしてみる
こちらを参考に
wget http://sqlite.org/sqlite-3.3.17.tar.gz tar xzvf sqlite-3.3.17.tar.gz cd sqlite-3.3.17 ./configure --prefix=$HOME make make install
■ Sakura サーバに sqlite3-ruby をインストールしてみる

※サクラインターネットのSQLサーバーを使う場合は不要です。
%gem install sqlite3-ruby
Select which gem to install for your platform (i386-freebsd6)
1. sqlite3-ruby 1.2.1 (mswin32)
2. sqlite3-ruby 1.2.1 (ruby)
3. sqlite3-ruby 1.2.0 (mswin32)
4. sqlite3-ruby 1.2.0 (ruby)
5. Skip this gem
6. Cancel installation
> 2
Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.
ruby extconf.rb install sqlite3-ruby
checking for sqlite3.h... yes
checking for sqlite3_open() in -lsqlite3... yes
creating Makefile
make
cc -I. -I. -I/usr/local/lib/ruby/1.8/i386-freebsd6 -I. -DHAVE_SQLITE3_H -I/usr/local/include -fPIC -O2 -fno-strict-aliasing -pipe -fPIC -c sqlite3_api_wrap.c
cc -shared -Wl,-soname,sqlite3_api.so -L'/usr/local/lib' -Wl,-R'/usr/local/lib' -L'/usr/local/lib' -Wl,-R'/usr/local/lib' -o sqlite3_api.so sqlite3_api_wrap.o -Wl,-R -Wl,/usr/local/lib -L/usr/local/lib -L. -lruby18 -lsqlite3 -lcrypt -lm -pthread -lc
make install
/usr/bin/install -c -o root -g wheel -m 0755 sqlite3_api.so /home/xxx/xxx/xxx/xxxrepo/gems/sqlite3-ruby-1.2.1/lib
install: /home/xxx/xxx/xxx/xxxrepo/gems/sqlite3-ruby-1.2.1/lib/sqlite3_api.so: chown/chgrp: Operation not permitted
*** Error code 71
Stop in /home/xxx/xxx/xxx/xxxrepo/gems/sqlite3-ruby-1.2.1/ext/sqlite3_api.
sqlite3-rubyのインストール。rubygemsからのインストールには失敗したので、setup.rbから。
その他雑多なこと(tDiary版)(2007-04)
wget http://rubyforge.org/frs/download.php/17097/sqlite3-ruby-1.2.1.tar.gz tar zxf sqlite3-ruby-1.2.1.tar.gz cd sqlite3-ruby-1.2.1 ruby setup.rb config --prefix=/home/garyo -- --with-sqlite3-dir=$HOME 2>&1 ruby setup.rb setup 2>&1 ruby setup.rb install 2>&1
■ Sakura サーバにRuby on Railsをインストール

gem install rails
質問には全てY
%gem install rails Install required dependency rake? [Yn] Y Install required dependency activesupport? [Yn] Y Install required dependency activerecord? [Yn] Y Install required dependency actionpack? [Yn] Y Install required dependency actionmailer? [Yn] Y Install required dependency actionwebservice? [Yn] Y
■ Sakura サーバでRailsを起動する

さくらのレンタルサーバにRuby on Railsを入れる手順
ヤドカリデンキ商会(第一倉庫)
上記を参考に
%ln -s [railasを作成したフォルダ] /home/ID/www/[公開するフォルダ]
下の3行をコメントアウト
AddHandler fastcgi-script .fcgi
Options +FollowSymLinks +ExecCGI
4.config/environment.rbを書き換え
下の2行を追加
※「/home/mystuff」はRubygemsをインストールしたフォルダ
$LOAD_PATH.push("/home/mystuff/lib/ruby/site_ruby/1.8")
$LOAD_PATH.push("/home/mystuff/lib/ruby")
https://secure.sakura.ad.jp/rscontrol/
「データベースの設定」を開き以下を調べる
6.hello/config の 「database.yml」を開く
上記の※1、※2、※3を書き換える。
development:
database: hello_development
username: ※1
password: ※3
host: ※2
7.ブラウザで以下を開く
http://[ドメイン].sakura.ne.jp/[公開フォルダ]/hello/public/index.html
以下が表示される。
Welcome aboard
■ さくらインターネットでSubversionのインストール

さくらインターネットでSubversionの補足。
さくらインターネットでSubversionの補足。 (SaikyoLine.jp)
下記の手順をそのまま実行。
$ mkdir $HOME/local/src $ cd $HOME/local/src $ wget http://subversion.tigris.org/downloads/subversion-1.4.3.tar.bz2 $ wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-0.9.13.tar.bz2 $ wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-util-0.9.13.tar.bz2 $ tar jxf subversion-1.4.3.tar.bz2 $ cd subversion-1.4.3 $ tar jxf ../apr-0.9.13.tar.bz2 $ mv apr-0.9.13 apr $ tar jxf ../apr-util-0.9.13.tar.bz2 $ mv apr-util-0.9.13 apr-util $ ./configure --prefix=$HOME/local $ make && make install $ mkdir $HOME/svn-repos $ $HOME/local/bin/svnadmin create $HOME/svn-reposさくらインターネットでSubversionの補足。 (SaikyoLine.jp)
/home/ID/local/bin をpathに追加しておく
■ さくらインターネットでredMineをインストール

1.フォルダを作ってrubyコンソールから redmimeをDL (フォルダは自分の好きな所をどうぞ)
mkdir redmine cd redmine svn checkout svn://rubyforge.org/var/svn/redmine/trunk .
2.redmineフォルダのconfig\database.ymlを書き換える(パスワードは変える)
production: adapter: mysql username: ※1 password: ※3 host: ※2
3.以下を実行(redmineフォルダ内で実行)
rake db:migrate RAILS_ENV="production" rake load_default_data RAILS_ENV="production"
4.redmineフォルダ内の以下のメール設定に自分のSMTP用アカウントを設定
config/environment.rb
# SMTP server configuration
config.action_mailer.smtp_settings = {
:address => "smtp.example.com",
:port => 25,
}
ここまで来て困った。何を起動すればいいのだろうか?
redmine/public の「dispatch.cgi.example」を「dispatch.cgi」に変更
dispatch.cgiの先頭に以下をつける
-------- ここから ------------ > #!/bin/sh > HOME=ユーザディレクトリ > VER=1.8 > ARCH=システム名(おそらく i386-freebsd4) > > XLIB=$HOME/lib/ruby > XSLIB=$XLIB/site_ruby > > export RUBYLIB=$XSLIB/$VER:$XSLIB/$VER/$ARCH:$XSLIB:$XLIB/$VER:$XLIB/$VER/$ARCH > export LD_LIBRARY_PATH=$HOME/lib:/usr/local/lib:/usr/lib:/lib > export GEM_HOME=最初に指定したGEMのインストール先(レポジトリ?) > export RAILS_ENV=production > > exec ruby -S -Ku -x $0 "$@" > #!/usr/local/bin/ruby > ------- ここまで -------------
dispatch.cgiに実行権限をつける
ここまでやって以下を開くと
http://[ドメイン名]/[フォルダ]/redmine/public/
以下のエラー表示が出るところまで来ました。
Mysql::Error in WelcomeController#index Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) RAILS_ROOT: ../config/..
database.ymlの「production:」の設定を「development:」「test:」にもコピーした所
動くようになりました。(※4)
↓こちらです。
http://garyo.sakura.ne.jp/rails/redmine/public/
注記 ※4
これは以下が原因だったようです。上記「dispatch.cgi」に追記しました。
さすがにこれは知らないとわからないです><
railsアプリは開発・テスト・製品という三つの動作モードがあります。
指定無しの場合開発モードで動作します。
製品モードで動作させるには前回のメールの7番の処理、export処理群の最後に
export RAILS_ENV=production
fastcgiを使うと早くなるらしいのだが調査中
単純に.htaccess内のdispatch.cgiをdispatch.fcgiにするとdispatch.fcgiをテキストファイルとして開いた。
Apacheに.fcgiがcgiのプログラムだと設定する必要がありそう。
さくらインターネットでfastCGIを使うのは難しそう。