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

Gfdnavi ver. 2.0 インストールガイド

このドキュメントは UNIX 系 OS における Gfdnavi のインストール手引きです. Gfdnavi を動かすために必要な事前準備についても解説します. Windowsでのインストールについては, 手引き「Windows に Gfdnavi をインストールする」を参照して下さい.

依存ライブラリの推奨バージョン

Ruby 1.8.7
GPhys 1.0 (及び,それが依存する電脳Ruby製品群)
Ruby on Rails 2.3.5 (及び,それが依存するライブラリ)
RDBMS(関係データベースマネージメントシステム): 次のいずれかが推奨
  SQLite3, MySQL 5 
    個人や少人数グループで使う場合,常駐プログラムのない SQLite3 がお勧め
  PostgreSQL -- 以前のバージョンについていちおう動作確認情報がある程度

Ruby 及び GPhys のインストール

手引き「Ruby 及び GPhys のインストール」を参照して下さい. プラットホーム別の解説があります.

RubyGems のインストール

手引き「RubyGems のインストール」を参照して下さい. プラットホーム別の解説があります.

Rails 2 のインストール

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 バージョン 2.3.5 を使うためには gem のバージョンが 1.3.2 以上である必要があります。もしも gem が古いく、かつ gem update --system が出来ない場合(Debian, Ubuntu など)には

# gem install rail -v 2.1

などとして古いバージョンの rails を入れれば gem をアップデートしなくても rails が動く可能性があります(動作確認はあまり行われておりません)。Debian, Ubuntu などでは /var/lib/gems/1.8/bin にパスを通しておく必要があります。使っているシェルに合わせて設定してください。

無事インストールされたかどうかは,

$ rails -v

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

RDBMS の導入

Gfdnavi において動作確認されている RDBMS (関係データベースマネージメントシステム)は, SQLite3, MySQL, PostgreSQL です*1.

以下の手引きを参照していずれかをインストールして下さい. プラットホーム別の解説があります.

Gfdnavi のデフォルトは SQLite3 です.

Gfdnavi のインストール

パッケージの取得

Gfdnavi ver.2.0 は ここ からダウンロードできます。

ダウンロード後、展開してください。

$ tar zxvf gfdnavi-2.0.tar.gz
$ cd gfdnavi-2.0

初回インストール時

インストーラの起動

ruby install.rb とするとインストーラが起動し、キー入力を求めてくるので従います。

$ ruby install.rb
Welcome to Gfdnavi.
In order install Gfdnavi,
there are the following steps.
Step 1: Setup parameters
Step 2: Execute rails and copy files"
Step 3: Create "database.yml" and "gfdnavi.yml"
Step 4: Execute "rake setup"
Step 5: Set root's password
press any key to continue

インストールモード(運用形態)の選択

Gfdnavi には大きくわけて2つの運用形態がありますので,その中から選ぶか, マニュアルで詳細を設定します.詳細の設定は後から gfdnavi.yml ファイルで 変えられますので,1 か 2 を選ぶのがお勧めです.1 は,個人や少人数グルー プで共有する場合を想定しています.WebサーバーとしてはWebrick や Mongrel を使います.一方,2 は,常時運用するデータ公開サーバを念頭に, WebサーバにはApache を用い,GUI にはログイン関係のメニューが現れないよ うにします.(Webサーバに何を使うかとユーザーログインを 許すかどうかは基本的に別物ですが,こういう組み合わせが多いということで.)

Select install mode:
1. install private server with default settings
2. install public server with default settings
3. configure details
1

ここでは,1 を選びます.

install mode 指定で 1 を選んだ場合

インストール先

インストール先を聞いてくるので指定します。指定したディレクトリの下に gfdnavi というディレクトリを作り,その中にインストールされます. 指定したディレクトリがなければ作成されます.

Set destination directory name and copy files.
gfdnavi will be installed to "/path_you_input/gfdnavi"
Please input destination path (default: /home/hoge): 

with following settings:
  RDBMS: SQLite3
  salt for encryption (randomly generated): evxKd
  email: dummy (you can set later)
  server type: 1. private/group server
  unlimit array size (soft limit): true
  rails env: production
Do you agree?
  (You can manually change the settings later
   by editing config/gfdnavi.yml)
(yes/no, default:yes):

と聞かれます.今のところ,no と答えてもその詳細が 設定できるわけではないので,yes を選んだ上で, 後でgfdnavi.ymlファイルを編集します. なお,salt for encryption: はデフォルトでは 乱数で自動生成されますので,特に変える必要はありません.

インストールの開始

上で yes と答えると,インストールが始まります.エラーにならずに 最後まで走れば終了です.

install mode 指定で 2 を選んだ場合

1 の場合との違いは管理者の e-mail アドレスの入力を求められる事です。

Set admin's email address
Input email address(default: mail@hoge.com): hoge@hoge.ac.jp

install mode 指定で 3 を選んだ場合

データベース関連の設定
The database settings you will specify in the following will
be written in the file:

   /home/hoge/gfdnavi/config/database.yml

YOU CAN MANUALLY EDIT IT LATER IF YOU LIKE.
データベースの種類の設定
If you have finished the settings, specify the RDBMS.
1. MySQL
2. SQLite3
(Sorry, other RDBMSs are not supported in this installation script.)
Select the RDBMS (default:1): 2
(1) SQLite3 の場合

特に設定する必要はありません。

(2) MySQL の場合

Cygwin の場合は Windows ネイティブの MySQL か Cygwin 上でコンパイルした MySQL か指定します。

1. windows native MySQL
2. MySQL compiled on cygwin
Select the RDBMS platform (default:1): 

既に MySQL で Gfdnavi 用の設定を行ってある場合は 用いたユーザー名とパスワードを入力します。 まだの場合はここで入力したものを使って設定してください。 この例では davis, hogehero です。

Input the RDB user name for gfdnavi_* databases : davis
Input the password for the databases: hogehero

You must finish settings of RDBMS before installing gfdnavi unless you
will use "SQLite3". If you have not, use another terminal now to set up
an RDBMS. If you would like to use mysql, I can show you how to do that. 

Would you like read the how-to for mysql? (yes/no, default:yes): no

ここで yes と答えると MySQL の設定方法が表示されるので、 MySQL を用いる場合で事前に設定を行っていない場合は次の項目に進む前に別途設定を行います。

Gfdnavi の設定
Gfdanvi configuration


The gfdnavi settings you will specify in the following will
be written in the file:

   /home/hoge/gfdnavi/config/gfdnavi.yml

YOU CAN MANUALLY EDIT IT LATER IF YOU LIKE.
暗号化のためのパスフレーズ
Set salt for encryption
input phrase (at least 5 characters): hogehoge
管理者のメールアドレス
Set admin's email address
Input email address: hoge@hoge.ac.jp
インストールタイプ
Select server type to set default configuration parameters
The configurations in "config/gfdnavi.yml" will be set according to your choice of server type.
 1. private server
 2. open server
Select the server type (default:1): 
インストールの開始

インストールが開始されます。初めてインストールする場合は途中で管理者のパスワードの入力を求められます。

インストールの進行について

インストールは次のように進行します.途中で質問が表示されれば 答えます.

Step 2: Execute rails and copy files
ディレクトリの作成

install mode で 3 を選んだ場合はディレクトリを作るかどうか質問されます。 1 や 2 の場合には質問されずに自動的に作成します。

/home/hoge/gfdnavi does not exist.
Can I create the directories? (yes/no, default:yes): 
rails コマンドの実行

ここで自動的に rails コマンドが実行されます。 再インストール時には再度実行するか聞かれます。

サンプルデータのインストール

install mode で 3 を選んだ場合はサンプルデータをインストールするかどうか質問されます。 1 や 2 の場合には質問されずに自動的にインストールします。

Do you want to install sample data? (yes/no, default:yes): 

設定ファイルの作成

これまでの設定項目を設定ファイルに書き込みます。

Step 3: Create "database.yml" and "gfdnavi.yml"

データベースの初期化

Step 4: Execute rake setup
(in /home/hoge/gfdnavi)
== 1 InitialScheme: migrating =================================================
-- create_table("nodes", {:force=>true})
   -> 0.0211s
-- add_index(:nodes, :path, {:unique=>true})
   -> 0.0324s
-- create_table("guest_owners", {:force=>true})
   -> 0.0142s
-- create_table("directories", {:force=>true})
   -> 0.0262s
-- create_table("actual_files", {:force=>true})
   -> 0.0182s
-- create_table("variables", {:force=>true})
   -> 0.0145s
-- create_table("images", {:force=>true})
   -> 0.0164s
-- create_table("knowledges", {:force=>true})
   -> 0.0196s
-- create_table("knowledge_figures", {:force=>true})
   -> 0.0248s
-- create_table("knowledge_backups", {:force=>true})
   -> 0.0253s
-- create_table("knowledge_figure_backups", {:force=>true})
   -> 0.0216s
-- create_table("node_relations", {:force=>true})
   -> 0.0238s
-- add_index(:node_relations, :reference)
   -> 0.0163s
-- add_index(:node_relations, :referenced_by)
   -> 0.0224s
-- create_table("keyword_attributes", {:force=>true})
   -> 0.0213s
-- create_table("spatial_and_time_attributes", {:force=>true})
   -> 0.0190s
-- create_table("value_types", {:force=>true})
   -> 0.0200s
-- create_table("functions", {:force=>true})
   -> 0.0285s
-- create_table("function_outputs", {:force=>true})
   -> 0.0190s
-- create_table("function_arguments", {:force=>true})
   -> 0.0191s
-- create_table("draw_methods", {:force=>true})
   -> 0.0189s
-- create_table("draw_method_attributes", {:force=>true})
   -> 0.0208s
-- create_table("users", {:force=>true})
   -> 0.0200s
-- create_table("sign_up_users", {:force=>true})
   -> 0.0195s
-- create_table("groups", {:force=>true})
   -> 0.0200s
-- create_table("diagram_caches", {:force=>true})
   -> 0.0152s
-- create_table("diagram_cache_data", {:force=>true})
   -> 0.0210s
-- create_table("diagram_cache_sessions", {:force=>true})
   -> 0.0167s
-- create_table("draw_parameters", {:force=>true})
   -> 0.0152s
-- create_table("query_histories", {:force=>true})
   -> 0.0160s
-- create_table("node_lineages", {:force=>true})
   -> 0.0195s
-- add_index(:node_lineages, :ancestor)
   -> 0.0192s
-- add_index(:node_lineages, :descendant)
   -> 0.0236s
== 1 InitialScheme: migrated (0.6770s) ========================================  

== 2 AddOpenIdAuthenticationTables: migrating =================================
-- create_table(:open_id_authentication_associations, {:force=>true})
   -> 0.0128s
-- create_table(:open_id_authentication_nonces, {:force=>true})
   -> 0.0157s
== 2 AddOpenIdAuthenticationTables: migrated (0.0289s) ========================
root ユーザーのパスワード

root のパスワードを設定します。

Input password for root(number of characters must be 5 to 40): 
Repeat password: 

後は自動的に進みます。

registering  /
registering  /gfdnavi_docs
registering  /samples
registering  /samples/reanalysis
registering  /samples/reanalysis/ncep
registering  /samples/reanalysis/ncep/T.jan_only_root.nc
registering  /samples/reanalysis/ncep/UV.jan.nc
registering  /samples/reanalysis/ncep/T.jan.nc
registering  /samples/reanalysis/ncep/T.jan.zonal_mean.nc
registering  /samples/reanalysis/era40
registering  /samples/reanalysis/era40/t.jan.nc
registering  /samples/jmadata
registering  /samples/jmadata/MSM-P
registering  /samples/jmadata/MSM-P/2006
registering  /samples/jmadata/MSM-P/2006.nc
registering  /samples/jmadata/MSM-P/2006/010[1-3].nc
registering  /samples/jmadata/MSM-P/2006/0103.nc
registering  /samples/jmadata/MSM-P/2006/0102.nc
registering  /samples/jmadata/MSM-P/2006/0101.nc
registering  /samples/jmadata/MSM-P/2006/0105.nc
registering  /samples/jmadata/MSM-P/2006/0104.nc
registering  /samples/sonde_operational
registering  /samples/sonde_operational/std_plev
registering  /samples/sonde_operational/std_plev/91165.spl.nc
registering  /samples/sonde_operational/std_plev/48698.spl.nc
registering  /samples/sonde_operational/std_plev/41256.spl.nc
registering  /samples/sonde_operational/std_plev/67083.spl.nc
registering  /samples/sonde_operational/std_plev/91948.spl.nc
registering  /samples/sonde_operational/std_plev/61641.spl.nc
registering  /samples/sonde_operational/std_plev/42410.spl.nc
registering  /samples/sonde_operational/std_plev/63741.spl.nc
registering  /samples/sonde_operational/std_plev/76805.spl.nc
registering  /samples/sonde_operational/std_plev/82193.spl.nc
registering  /samples/sonde_operational/std_plev/43346.spl.nc
registering  /samples/sonde_operational/std_plev/72261.spl.nc
registering  /samples/sonde_operational/std_plev/91610.spl.nc
registering  /samples/sonde_operational/std_plev/43333.spl.nc
registering  /samples/sonde_operational/std_plev/94294.spl.nc
registering  /usr
registering node relations

registeration functions
registeration draw methods
Congraturations!
You sucessed to install gfdnavi to /home/hoge/gfdnavi.
Before you start gfdnavi,
change the following configurations
 1. "config/database.yml"
 2. "config/gfdnavi.yml"
and check file permission mode of their files (only webserver can read the files).

以上でインストールは終了です。

再インストール時

再インストールの場合は前回の設定を残すかどうか聞かれるので それぞれ質問に答えてください。


*1他のRDBMS であっても, Ruby on Rails が対応していれば動作すると期待されますが, 定かではありません. 動作報告&レポートお待ちしております.


davis Group / GFD Dennou Staff dcstaff@gfd-dennou.org
Last Updated: 2010/03/06 (大塚 成徳), Since: 2007/08/15 (大塚 成徳)