このドキュメントは UNIX 系 OS における Gfdnavi のインストール手引きです. Gfdnavi を動かすために必要な事前準備についても解説します. Windowsでのインストールについては, 手引き「Windows に Gfdnavi をインストールする」を参照して下さい.
Ruby 1.8 GPhys 0.6.1 (及び,それが依存する電脳Ruby製品群) Ruby on Rails 2.2.2 (及び,それが依存するライブラリ) RDBMS(関係データベースマネージメントシステム): 次のいずれかが推奨 SQLite3, MySQL 5 個人や少人数グループで使う場合,常駐プログラムのない SQLite3 がお勧め PostgreSQL -- 以前のバージョンについていちおう動作確認情報がある程度
2009/05/22追記:現在、Ruby on Rails 2.3.2がリリースされていますが、2.3.2では gfdnaviが動作しないことが確認されています。Ruby on Railsをgemでインストールす る際には、
gem install rails -v2.2.2
として、バージョン2.2.2をインストールするようにしてください。
手引き「Ruby 及び GPhys のインストール」を参照して下さい. プラットホーム別の解説があります.
手引き「RubyGems のインストール」を参照して下さい. プラットホーム別の解説があります.
rubygems の設定が済んでいるならば 以下のコマンドを実行することで, rails 2.2.2がインストールできます.
# gem install rails -v2.2.2
プロキシが必要なときは次のオプションを加えます:
-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.2.2 を使うためには gem のバージョンが 1.3.1 である必要があります。もしも gem が古いく、かつ gem update --system が出来ない場合(Debian 5.0, Ubuntu 8.10 など)には
# gem install rail -v2.1
などとして一つ前のバージョンの rails を入れれば gem をアップデートしなくても rails が動きます。Debian, Ubuntu などでは /var/lib/gems/1.8/bin にパスを通しておく必要があります。使っているシェルに合わせて設定してください。
無事インストールされたかは,
rails -v
として確認することができます.
Gfdnavi において動作確認されている RDBMS (関係データベースマネージメントシステム)は, SQLite3, MySQL, PostgreSQL です*1.
以下の手引きを参照していずれかをインストールして下さい. プラットホーム別の解説があります.
Gfdnavi のデフォルトは SQLite3 です.
Gfdnavi ver.1.3 は ここ からダウンロードできます。
ダウンロード後、展開してください。
$ tar zxvf gfdnavi-1.3.tar.gz $ cd gfdnavi-1.3
Rails 2.0 を使っている場合はインストール時にネットワークに接続する必要があります。 もしプロキシが必要な環境の場合には予め環境変数 http_proxy を設定しておいてください。
setenv http_proxy http://your.proxy.server:port
export http_proxy=http://your.proxy.server:port
set http_proxy=http://your.proxy.server:port
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 を選びます.
インストール先を聞いてくるので指定します。指定したディレクトリの下に 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 と答えると,インストールが始まります.エラーにならずに 最後まで走れば終了です.
1 の場合との違いは管理者の e-mail アドレスの入力を求められる事です。
Set admin's email address Input email address(default: mail@hoge.com): hoge@hoge.ac.jp
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
特に設定する必要はありません。
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 を用いる場合で事前に設定を行っていない場合は次の項目に進む前に別途設定を行います。
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 2 ではプラグインはネットからダウンロードしてインストールすること になっていますの,ダウンロードが必要なプラグインがあれば,ここで自動で ダウンロード&インストールされます.ただし.Gfdnavi 1.3 では,必要なプ ラグインはすべて同梱されてますので,ここはスキップします.
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 のパスワードを設定します。
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 が対応していれば動作すると期待されますが, 定かではありません. 動作報告&レポートお待ちしております.