以下は, Debian GNU/Linux 4.0(etch) で Gfdnavi を動かすために必要な環境 を設定するための手引きです. Gfdnavi 本体のインストール以降は Gfdnavi チュートリアル を参照して下さい.
Debian GNU/Linux を使用している場合, Ruby は Debian の公式パッケージとして提供されています. また, GPhys 等の電脳 Ruby Project 謹製品の deb パッケージは apt を用い て install することができます *1
まず, /etc/apt/sources.list に以下の行を追記します.
deb ftp://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou etch/ deb-src ftp://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou etch/
次に公開パッケージの gpg 署名を登録します. 以下は鍵サーバとして subkeys.pgp.net を用いる場合です.
# gpg --keyserver subkeys.pgp.net --recv-keys AEE995F4 # gpg --armor --export AEE995F4 | apt-key add -
上記の作業によって以下の gpg 公開鍵が登録されます*2.
13E0381DAEE995F4 "Youhei SASAKI<uwabami@gfd-dennou.org>"
鍵が登録されたならば, 以下のように APT リストを更新し, 必要なパッケージ をインストールします. 電脳 Ruby Project の謹製品のうち, Gfdnavi を動か すのに必要な諸々のソフトウェアは gphys をインストールするだけで, 自動的 にインストールされます.
# apt-get update # apt-get install ruby ruby1.8-dev irb rdoc libopenssl-ruby \ libyaml-ruby libzlib-ruby gphys
etch には rubygems 0.9.0-5 が公式パッケージとして存在しています. しか しながら Rails 2.0 を使用するためには rubygems 0.9.5 以上が必要となり ます. よって,
のいずれかの方法で rubygems を導入することになります. 以下ではそれぞれの場合について, 導入と設定方法を述べます.
先ず rubygems 本体を取得し適当なディレクトリに展開します. 以下では rubygems_src へ展開して作業することにします.
$ mkdir rubygems_src $ cd rubygems_src $ wget http://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz $ tar xvzf rubygems-1.0.1.tgz
以下では, debian パッケージで導入されたファイルを上書きしないように, RubyGems 本体および rubygems を使用して install されるファイルの置き場を
インストールパス /var/lib/gems/1.8 パッケージインストールパス /var/lib/gems/1.8/gems
とします. 管理者権限が無く, ユーザ領域に install したい場合には, 以下 の内容を適宜読み代えて下さい. rubygems-0.9.5 からは setup.rb の仕様が変わっていますので注意して下さい
$ cd rubygems-1.0.1 $ sudo -s # mkdir -p /var/lib/gems/1.8/ # export GEM_HOME=/var/lib/gems/1.8 # ruby setup.rb --prefix=/var/lib/gems/1.8
この結果 RubyGems 関連のファイルは以下の用にインストールされます.
gem 関連のコマンド /var/lib/gems/1.8/bin (実際は $GEM_HOME/bin です.) rubygems.rb などの library /var/lib/gems/1.8/lib (実際は $GEM_HOME/lib です.)
install された RubyGems の設定の確認には以下のコマンドを実行して下さい.
$ RUBYLIB=/var/lib/gems/1.8/lib /var/lib/gems/1.8/bin/gem1.8 environment
最後に環境変数の設定をしておきます. PATH, RUBYLIB を追加しておきましょう.
GEM_HOME /var/lib/gems/1.8 PATH /var/lib/gems/1.8/bin RUBYLIB /var/lib/gems/1.8/lib
一時的に設定する場合には
$ export PATH=$PATH:/var/lib/gems/1.8/bin $ export RUBYLIB=$RUBYLIB:/var/lib/gems/1.8/lib
です. ログインするたびに設定を有効にするために, ~/.bashrc などの設定 ファイルに上記の記述を書き込んでおくと良いでしょう.
$ vi ~/.bashrc export GEM_HOME=/var/lib/gems/1.8/ export PATH=$PATH:/var/lib/gems/1.8/bin export RUBYLIB=$RUBYLIB:/var/lib/gems/1.8/lib
一時的に設定する場合には
$ setenv PATH $PATH:/var/lib/gems/1.8/bin $ setenv RUBYLIB $RUBYLIB:/var/lib/gems/1.8/lib
ログインするたびに設定を有効にするために, ~/.cshrc などの設定 ファイルに上記の記述を書き込んでおくと良いでしょう.
$ vi ~/.cshrc setenv GEM_HOME /var/lib/gems/1.8/ setenv PATH $PATH:/var/lib/gems/1.8/bin setenv RUBYLIB $RUBYLIB:/var/lib/gems/1.8/lib
まず, testing のパッケージを導入するので apt-line に testing のリポジ トリを追加します. /etc/apt/sources.list に, 例えば
deb http://cdn.debian.or.jp/debian/ testing main contrib non-free deb http://security.debian.org/ testing/updates main contrib non-free
を追加して下さい.
次に, 「apt の pin 止め(apt-pinning)」と呼ばれる作業をしておきましょう. 既存の安定版環境が開発版(testing)環境へと勝手に upgrade しないようにし ておきます. /etc/apt/preferences (無ければ新規作成)に,
Package: * Pin: release a=testing Pin-Priority: 90
と記述して下さい. これは release が testing である全て(*)のパッケージ に対して, Pin-Priority 90 を指定する, という意味です. Pin-Priority に 100 以下の値を設定されたパッケージは明示的に指定しない限り install も upgrade もされません
apt-pinning を行なったら, 以下のコマンドでパッケージをインストールします.
$ sudo -s # apt-get update # apt-get install rubygems -t testing
最後に環境変数を設定します. Debian の RubyGems で提供されるライブラリ は /var/lib/gems 以下にインストールされます. rails や rake を実行する 為に, 環境変数 PATH を設定しておきましょう. ライブラリの install 先を 変更したい場合には, 環境変数 GEM_HOME を設定します. 詳しくは /usr/share/doc/libgems-ruby1.8/README.Debianを参照して下さい.
一時的に設定する場合には
$ export PATH=/var/lib/gems/1.8/bin:$PATH
です. ログインする度に設定するのは面倒だ, という人は ~/.bashrc 等に 上記の設定を記述しておくと良いでしょう.
$ vi ~/.bashrc export PATH=/var/lib/gems/1.8/bin:$PATH
一時的に設定する場合には
$ setenv PATH /var/lib/gems/1.8/bin:$PATH
です. ログインする度に設定するのは面倒だ, という人は ~/.cshrc 等に 上記の設定を記述しておくと良いでしょう.
$ vi ~/.cshrc setenv PATH /var/lib/gems/1.8/bin:$PATH
rubygems の設定が済んでいるならば 以下のコマンドを実行することで, rails がインストールできます.
# gem install rails --include-dependencies
プロキシが必要なときは次のオプションを加えます:
-p 'http://your.proxy.server:port'
また, 以下のようなエラーが表示されることがあるかもしれませんが, その場 合は再度上記のインストールコマンドを実行してください.
例1)
ERROR: While executing gem ... (NoMethodError) undefined method `passed?' for nil:NilClass
例2)
ERROR: While executing gem ... (Gem::GemNotFoundException) Could not find rails (> 0) in any repository
無事インストールされたかは,
rails -v
として確認することができます.
Gfdnavi において動作確認されている RDBMS(関係データベースマネージメントシステム) には
等があります*3. 以下では MySQLの場合 と SQLite3の場合に必要な準備について解説します. その他の RDBMS を使用する場合には, Gfdnavi ドキュメンテーション を参照して下さい.
Debian package にある libsqlite3-ruby はちょっと古くて, データベース内 の空白文字列の扱いに多少不具合があります. よって gem から sqlite3-ruby を install します.
先ず sqlite3 本体と swig を install します.
$ sudo -s # apt-get install sqlite3 swig libsqlite3-dev
次に
# gem1.8 install sqlite3-ruby
で終了です.
SQLite3 はデータベースをファイル単位で管理しますので, 必要なパッケージを導入すれば, 設定は不要です.
etch では MySQL ver.5.0.32 のパッケージが用意されていますので, これを導入します. メタパッケージである mysql-server を導入すると 依存する諸々のライブラリ等も導入されるので簡便でしょう.
$ sudo -s # apt-get install mysql-server : 以下のパッケージが新たにインストールされます: libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl mysql-client-5.0 mysql-server mysql-server-5.0 mysql-common ...
また, mysql-server と接続するためのライブラリもインストールしておきます.
$ sudo -s # apt-get install libmysql-ruby1.8
先ずは mysql 管理者のパスワード及び公開設定を行ないます.
$ mysql_secure_installation
初回は mysql 管理者のパスワードを聞かれますが, まだ設定していないので何も入力せずにデータベースにアクセスできます. 以下にその後の質問一覧と回答を並べておきます.
Set root password? [Y/n] (Enter) New password: (適切に入力してください.) Re-enter password: (適切に入力してください.) Remove anonymous users? [Y/n] (Enter) Disallow root login remotely? [Y/n] (Enter) Remove test database and access to it? [Y/n] (Enter) Reload privilege tables now? [Y/n] (Enter)
以上の設定を行なった後は, では匿名ユーザが存在 debian-sys-maint と root が二つ存在するはずです.
mysql> select host,user,password from mysql.user; +-----------+------------------+-------------------------------------------+ | host | user | password | +-----------+------------------+-------------------------------------------+ | localhost | root | *password の hash が表示されます * | | localhost | debian-sys-maint | *password の hash が表示されます * | +-----------+------------------+-------------------------------------------+
以上で, Gfdnavi を導入するために必要な準備が終了しました. Gfdnavi 本 体のインストールからはGfdnavi チュートリアル を参照して下さい.
*1以下の内容は電脳 Ruby 製品 Debian package からの抜粋です.
*2これは将来変更になる可能性があります
*3他のRDBMS であっても, Ruby on Rails が対応していれば動作すると期待されますが, 定かではありません. 動作報告&レポートお待ちしております