[ 地球流体電脳倶楽部 / davis / Gfdnavi / doc ]

Gfdnavi を Debian GNU/Linux 4.0(etch)
で動かす.

以下は, Debian GNU/Linux 4.0(etch) で Gfdnavi を動かすために必要な環境 を設定するための手引きです. Gfdnavi 本体のインストール以降は Gfdnavi チュートリアル を参照して下さい.


  1. Ruby 及び GPhys の導入
  2. RubyGems のインストール
  3. Rails 2.0 のインストール
  4. RDBMSの導入
  5. 参考文献

Ruby 及び GPhys の導入

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

RubyGems のインストール

etch には rubygems 0.9.0-5 が公式パッケージとして存在しています. しか しながら Rails 2.0 を使用するためには rubygems 0.9.5 以上が必要となり ます. よって,

  1. RubyGems をソースから install する
  2. RubyGems を Debian testing のパッケージを用いて導入する

のいずれかの方法で rubygems を導入することになります. 以下ではそれぞれの場合について, 導入と設定方法を述べます.

RubyGems をソースから install する

先ず 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

RubyGems を Debian testing のパッケージを用いて導入する

まず, 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

Rails 2.0 のインストール

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

として確認することができます.

RDBMSの導入

Gfdnavi において動作確認されている RDBMS(関係データベースマネージメントシステム) には

等があります*3. 以下では MySQLの場合SQLite3の場合に必要な準備について解説します. その他の RDBMS を使用する場合には, Gfdnavi ドキュメンテーション を参照して下さい.

SQLite3 の場合

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 はデータベースをファイル単位で管理しますので, 必要なパッケージを導入すれば, 設定は不要です.

MySQL の場合

MySQL 関連パッケージのインストール

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 管理者のパスワード及び公開設定を行ないます.

$ 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 が対応していれば動作すると期待されますが, 定かではありません. 動作報告&レポートお待ちしております


davis Group / GFD Dennou Staff dcstaff@gfd-dennou.org
Last Updated: 2008/03/05 (佐々木 洋平), Since: 2007/06/22 (佐々木 洋平)