原色奈良阪Other小ネタなんかコンピュータっぽいのCORESERVER.JPにおけるPerlモジュールのユーザーインストール環境整備トップページCORESERVER.JPにおけるPerlモジュールのユーザーインストール環境整備CORESERVER.JPにおいて、既存モジュール以外にユーザー領域に任意のPerlモジュールをインストールするための環境整備を行ったものをまとめた。3段階に分かれている。以下でuserという文字列は自分の利用しているユーザ名で置き換えること。基本的な注意CORESERVER.JPではプロセス(プログラム)の実行時間がある程度(1,2分?)に達するとkill(強制終了)される仕組みがあるので手早く行う。何らかの操作の途中で途中でkillされてしまった場合はもう一回プロセス(cpanなど)を起動して継続すればよいが、特にcpanでは「ロックファイルが残っているが削除するか」と再起動時に聞かれる場合がある。これはcpanが2つ以上起動しないようにするためのファイルで、正常終了時には削除されるが、cpanが強制終了されて残ってしまったものである。遠慮なくyesで消して良い。CPANの初期設定をhttp://www.buslog.net/archives/2009/08/perl-module-coreserver.htmlに従って以下のように行った。CPAN初期設定の前提設定CPANの本設定の前に以下の設定(~/.cpan/CPANを作成しMyConfig.pmに"1;"と記述する)を行った。~/.cpan/CPAN/MyConfig.pmCPANの初期設定CPANをcpan等で起動すると初期設定を聞かれるので、何も考えずEnter連打で対応する。終了はq,exit,quit等でできる。CPANの再初期設定Enterでスルーした設定があるので以下で修正する。commit(cpan>はプロンプト)を実行する。環境変数INSTALL_BASE及びコマンドラインオプション--install_baseは、Perlモジュールのインストールされるベースディレクトリの設定である。これによってPerlモジュールのインストールされるベースディレクトリ('/'のかわり)を/virtual/userにするという操作である。これによって、CPANでmakeされたモジュールを構成するファイルは、/virtual/user/lib/perl5/*や/virtual/user/share/*、/virtual/user/bin/*等にインストールされる。以上でCPANからモジュールをインストールする設定は整った。Moduleなど)でモジュールがユーザ領域に適切にインストールされる。installなどでモジュールをインストールしなければならない場合がある。最新版ではサポートが打ち切られたモジュールのインストールなどが必要となる場合が想定される。この場合でもCPANからインストールしたのと同様な扱いが出来るように設定をする必要があるだろう。installしたときのベースディレクトリが先ほどのCPANの設定と同じになる。SSHを一旦ログアウトしてからログインしなおすまで反映されないので注意が必要である。以上でモジュールを素のmakeでインストールする設定は整った。以降はSSHを通じて上記に示したような一般的なPerlモジュールのmakeの手順でモジュールがユーザ領域に適切にインストールされる。以上2つはモジュールのインストール時の設定だが、ただインストールしただけではPerl実行時にインストール先のディレクトリ/virtual/user/*は参照されない。このディレクトリを環境変数の設定でもってライブラリ参照先に追加する必要がある。SSHでPerlを動かすときと、インターネットからアクセスしてPerlが動くときとでは参照する環境変数が違うので2種類設定する。PERL5LIB=/virtual/$USER/lib/perl5:/virtual/$USER/lib/perl5/i686-linuxと記述する。$USERはカレントのユーザ名があてはまる。BASH環境変数のPERL5LIBである。/virtual/user/lib/perl5:/virtual/user/lib/perl5/i686-linuxと記述する。Apache環境変数のPERL5LIBである。libなど特別な記述をせずともユーザ領域にインストールをされたPerlを参照するようになったはずである。以上3設定で元々サーバにないPerlモジュールを利用する準備が完了した。