[Email]
[Web]
[FTP]
[User]
[Perl]
  インストール
  手動インストール
[iManager]
[Timezone]
[Real]
[Database]
[ColdFusion]
[Python]
[Faq]


v1
Email
v1
Web
v1
FTP
v1
User
v1
Perl
v1
iManager
v1
Timezone
v1
Real
v1
Database
v1
ColdFusion
v1
Python
v1
Faq



Perl 5 モジュールの手動インストール

注意: このページは、レンタルサーバー SPEEDEX VPS v1 の技術サポートです。
SPEEDEX VPS v1 には FreeBSD サーバーA、FreeBSD サーバーB、FreeBSD サーバーC、Solaris Standard、Solaris Pro の 5 タイプがあります。
2009年6月現在、5 タイプとも新規オーダーはお受けしておりません。
現在提供中のサービスについては SPEEDEX のメニューページを参照ください。
なお、Solaris Standard、Solaris Pro につきましては 2010年5月を持ってサービスを停止する予定です。
SPEEDEX VPS v2 サーバーご利用の場合は v2 サーバーサポートページを参照ください。
SPEEDEX VPS v3 サーバーご利用の場合は v3 サーバーサポートページを参照ください。
SPEEDEX OneDom サーバーご利用の場合は OneDom サーバーサポートページを参照ください。

Perl 5 モジュールを自分で Virtual Server インストールするには、ちょっとした技術が必要です。Perl 5 モジュールをインストールするユーティリティーは、通常、ホストマシーンのファイルシステムの root エリアで使われるものと考えられています。Virtual Server のユーザーには、ホストマシーンの root エリアにアクセスする権限はありません。そのため、Perl 5 モジュールを、あなたのファイルシステムの範囲内にインストールしなければなりません。

●Perl 5 モジュールをローカルにインストールする
一般に、Perl 5 モジュールのインストール手順は、以下のようなコマンドを含んでいます。


	% perl5 Makefile.PL

	% make

	% make test

	% make install

最初のコマンド perl5 Makefile.PL は perl5 にあなたがインストールする新しいモジュールの makefile を行う様に伝えます。perl5 モジュールをローカルにインストールする場合、perl5 インストーラーに、このコマンドラインで、 home directory を知らせてやる必要があります。この情報が perl5 が makefile を行う時に使われます。perl5 Makefile.PL を以下のコマンドラインに置き換えます。

	% perl5 Makefile.PL PREFIX=/usr/home/<username>/usr/local

上記の <username> は、あなたの Virtual Server の username と置き換えられなければいけません。そして、完璧なインストール過程は以下のようになります。

	% perl5 Makefile.PL PREFIX=/usr/home/<username>/usr/local

	% make

	% make test

	% make install

初期のモジュールでは、他のいくつかの変数も、インストールにあたって、コマンドラインで指定する必要がある場合もあります。

	% perl5 Makefile.PL PREFIX=/usr/home/<username>/usr/local \

	  INSTALLPRIVLIB=/usr/home/<username>/usr/local/lib/perl5 \

	  INSTALLSCRIPT=/usr/home/<username>/usr/local/bin \

	  INSTALLSITELIB=/usr/home/<username>/usr/local/lib/perl5/site_perl \

	  INSTALLBIN=/usr/home/<username>/usr/local/bin \

	  INSTALLMAN1DIR=/usr/home/<username>/usr/local/lib/perl5/man \

	  INSTALLMAN3DIR=/usr/home/<username>/usr/local/lib/perl5/man/man3

タイピングを節約するために、ファイルを作成し、上記の変数の役割を(<filename>)ファイルに、以下の様に保存する事もできます。

	PREFIX=/usr/home/<username>/usr/local \

	INSTALLPRIVLIB=/usr/home/<username>/usr/local/lib/perl5 \

	INSTALLSCRIPT=/usr/home/<username>/usr/local/bin \

	INSTALLSITELIB=/usr/home/<username>/usr/local/lib/perl5/site_perl \

	INSTALLBIN=/usr/home/<username>/usr/local/bin \

	INSTALLMAN1DIR=/usr/home/<username>/usr/local/lib/perl5/man \

	INSTALLMAN3DIR=/usr/home/<username>/usr/local/lib/perl5/man/man3

そうすれば、perl5 モジュールをインストールする時に以下の文法を使う事ができます。

	% perl5 Makefile.PL `cat<filename>`

	% make

	% make test

	% make install

以下の様に、ちょっと違った、ローカルモジュールのインストール手順ファイルを使う事もできます。一つは production perl 用に、もう一つは development 用に。

	% perl5 Makefile.PL `cat<filename>.production`



	  あるいは



	% perl5 Makefile.PL `cat<filename>.development`


●モジュールのパス
Virtual Server に perl5 をインストールした場合、プレインストールモジュールは、以下の四つのディレクトリーのどれかに、全てインストールされます。(どのディレクトリーになるかは、perl5 のバージョンによります)

	/usr/local/lib/perl5

	/usr/local/lib/perl5/i386-bsdos/5.00X

	/usr/local/lib/perl5/site_perl/i386-bsdos

	/usr/local/lib/perl5/site_perl

	/usr/home/<username>/usr/local/lib/perl5/site_perl/5.6.1

これら四つのディレクトリーは、perl5 の @INC 配列に登録済みです。この配列は、perl5 がモジュールを見つけるために調べるパスを含んでいます。上に説明した様に、perl5 モジュールをローカリーにインストールした場合は、それら二つのローカルなディレクトリーを @INC 配列に付け加える必要があります。

	/usr/home/<username>/usr/local/lib/perl5

	/usr/home/<username>/usr/local/lib/perl5/site_perl

	/usr/home/<username>/usr/local/lib/perl5/site_perl/5.6.1

特定されたディレクトリー構造が、perl によって自動的に検索されます。上記のパスのモジュールを使う時には、常に、下記の行をスクリプトに付け加えるべきです。

	use lib qw(/usr/home/<username>/usr/local/lib/perl5

		/usr/home/<username>/usr/local/lib/perl5/site_perl

		/usr/home/<username>/usr/local/lib/perl5/site_perl/5.6.1);

BEGIN ブロックに入れては行けません。lib.pm module が世話をしてくれます。また、パスは、特定されたディレクトリー構造に加えられます。

あなたがインストールしたモジュールを include するのに、BEGIN ブロックを使う事もできます。


	BEGIN { unshift @INC, qw(/usr/home/<username>/usr/local/lib/perl5

		/usr/home/<username>/usr/local/lib/perl5/site_perl

	  /usr/home/<username>/usr/local/lib/perl5/site_perl/5.6.1

); }

しかし、use lib コンストラクトは、クリーナーの様で、unshift @INC コンストラクトは、特定されたディレクトリー構造を @INC 配列に自動的に付け加えはしません。

●ローカルにインストールされているモジュールを require する、別のモジュールのインストール
モジュール A を既に、/usr/home/<username>/usr/local/lib/perl5 にインストールしている場合を想定してみましょう。そして、モジュール A を必要とする、モジュール B をインストールする場合について考えてみましょう。残念ながら、そのままではモジュール B は、モジュール A を認識しません。Perl 5 は @INC 配列にデフォルトで定義された、基本の四つのディレクトリーを検索します。しかし、あなたのローカルディレクトリーは、その中にリスとされてはいません。

解決は簡単です。PERL5LIB 環境変数が use lib スクリプトとと同じ働きをしてくれます。それなので、もし csh/tcsh を使っている場合であれば、コマンドラインから以下の様に入力します。


	% setenv PERL5LIB \

	  /usr/home/<username>/usr/local/lib/perl5:/usr/home

	  /<username>/usr/local/lib/perl5/site_perl:

		/usr/home/<username>/usr/local/lib/perl5/site_perl/5.6.1



もし、csh/tcsh 以外のシェルを使っている場合は、シェルの man ページで、環境変数をどの様に設定したら良いか調べて下さい。この setenv ステートメントを.login 等の、ログインするたびに読みこまれるファイルに書きこんでおけば、忘れがちなセッティングを、ログインするたびにする必要はなくなります。

●CPAN.pm を使ってインストールする
別の方法としては、モジュールのダウンロードとインストールを自動的に行う CPAN.pm を使う方法があります。(詳しくはwww.perl.com/CPAN/)

もしインストール済みの perl5 が、perl5.004 かそれ以降であれば、CPAN.pm は含まれています。そうでなければ、CPAN からダウンロードして下さい。

最初に、以下コマンドを実行した場合、


	% perl5 -MCPAN -e shell

は、いくつかの質問をしてきます。基本的には、デフォルトのままで良いのですが、以下の2つだけは設定する必要があります。

	Parameters for the 'perl Makefile.PL' command? [ ]

		PREFIX=/usr/home/<username>/usr/local





	Parameters for the 'make install' command? [ ]

		INSTALLMAN3DIR=/usr/home/<username>/usr/local/lib/perl5/man/man3

どこの CPAN サイトを使うか聞かれた場合は、以下を入力してください。

	ftp://ftp.cs.colorado.edu/pub/perl/CPAN/

CPAN.pm の設定が完全であれば、> プロンプトが表示されるでしょう。この状態になれば、モジュールをインストールできます。CGI モジュールをインストールするには、以下の様にします。

	> install CGI

そうすると、最新の CGI モジュールがダウンロードされ、解凍、テスト、インストール が、ローカルディレクトリーあるいは PREFIX ディレクトリーとして指定した場所に行われます。

	> i /CGI/

このコマンドは、パターンにマッチしたモジュールのリストを返します。

CPAN.pm モジュールは、最新のモジュールかどうかをチェックするような、使いやすい機能も持っています。perldoc CPAN を実行して man ページを読んで下さい。

SPEEDEX サポートポリシー

Copyright @ Cyber Vision Hosting Co., Ltd. All rights reserved.


株式会社サイバービジョンホスティング提供サービス一覧
再販売用レンタルサーバーのSPEEDEX | VPS(仮想専用サーバー) | 共用サーバー | 独自ドメイン取得・運用 | SSLサーバー証明書 | ワイルドカードサーバー証明書 | SEO | Google Apps(TM) | クリエイティブワークの検索エンジン