01:Perl と Perlモジュール

■Perl について
SVシリーズにはデフォルトで Perl 5.6.1がインストールされています(2005年11月時点)。Perl を使用するには、以下のパスを指定してください。

/usr/local/bin/perl
CGI スクリプト最上部のインタプリタの指定は、#!/usr/local/bin/perlになります。
もし、5.00503がご利用になりたい場合は、perlパスを以下のように指定してください。

/usr/local/bin/perl5.00503
また、現在のperlのバージョンを調べるには、以下のコマンドで確認可能です。

# perl -v
↑上記のコマンドを実行しますと、以下のようにperlバージョンの表示が行われます。

# perl -v

This is perl, v5.6.1 built for i386-freebsd

Copyright 1987-2001, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
SVサーバでは、vinstallコマンドにより、簡単にPerlのバージョンアップをする事が可能です。現時点では、vinstall でバージョンアップ可能なPerl のバージョンは、以下になります。
Perl 5.8.4
Perl 5.8.6
Perl のバージョンアップをvinstallコマンドで行う場合は、以下のようにコマンドをご利用ください。

# vinstall perl5.8.4

もしくは

# vinstall perl5.8.6
Perlのバージョンによっては、Perl言語の利用方法が異なる場合があり、旧バージョンで動いていたPerlプログラムが、バージョンアップした際に正常に動かなくなる場合がございます。Perl をバージョンアップさせる際に、ご利用中のPerlプログラムの動作に影響が発生するかどうかは、ご利用ユーザ様ご自身で把握頂けますようお願い致します。
 
■Perl モジュール
現在デフォルトでインストールされている Perl のバージョンは、Perl 5.6.1 になります。インストールされている Perl に、標準で付属している Perlモジュールは、以下の2つのディレクトリにインストールされます。

/usr/local/lib/perl5/5.6.1
/usr/local/lib/perl5/site_perl/5.6.1/i386-freebsd
 
■Perl モジュールのインストール
Perl モジュールのインストールを行うには、以下の2種類の方法があります。
Perl モジュールのソースからのインストール
cpan を使った Perl モジュールのインストール
このページでご案内しているPerlモジュールインストールは、一般的なインストール例となっております。Perlモジュールやサーバ設定状態によっては、別途調整が必要な場合もございます。ソースからインストールされる場合は、付属のドキュメントや配布サイト様から情報を取得されますようお願い致します。弊社側では、Perlモジュールのインストール方法について、全てをサポートする事はできませんので、ご了承いただけますようお願い致します。
 
■Perl モジュールのソースからのインストール
Perlモジュールをソースからインストールするには、Telnet もしくは SSH でサーバへログインし、以下のコマンドを実行してください。

% perl5 Makefile.PL <Enter>
% make <Enter>
% make test <Enter>
% make install <Enter>
 
■cpan を使った Perl モジュールのインストール
cpanとは、プログラミング言語「Perl」で利用できるコマンドで、Perl用に開発されたモジュールを自動的にダウンロードして、サーバにインストールする事ができる便利はコマンドです。初めてcpanコマンドを利用する際には、cpanの利用設定を行う必要があります。以下のコマンドを実行して、cpanの設定を行って下さい。

# perl -MCPAN -e shell <Enter>

↑上記コマンドを実行すると、以下のようなメッセージが表示されます。

/usr/local/lib/perl5/5.6.1/CPAN/Config.pm initialized.

CPAN is the world-wide archive of perl resources. It consists of about
100 sites that all replicate the same contents all around the globe.
Many countries have at least one CPAN site already. The resources
found on CPAN are easily accessible with the CPAN.pm module. If you
want to use CPAN.pm, you have to configure it properly.

If you do not want to enter a dialog now, you can answer 'no' to this
question and I'll try to autoconfigure. (Note: you can revisit this
dialog anytime later by typing 'o conf init' at the cpan prompt.)

Are you ready for manual configuration? [yes]

↑ 上記の部分で、「no」を入力すると、cpan設定が自動的に行われます。
「yes」を入力した場合、いくつかの質問に手動で答えながら設定を行う事になります。
ご自身の利用方法に沿った方法で設定を行って下さい。
設定がよくわからない場合は、「no」でインストールを完了させても問題ありません。
上記のcpan設定が完了すると、次回から上記コマンドを入力した際には、以下のようにcpanモードになります。

# perl -MCPAN -e shell <Enter>

cpan shell -- CPAN exploration and modules installation (v1.59_54)
ReadLine support available (try 'install Bundle::CPAN')

cpan>
上記のように、cpanモードになっている状態で、perl モジュールのインストールが可能です。
※cpanモードは、exitで終了します。

cpanモードを起動して、以下のようにコマンドを入力する事で、希望のPerl モジュールをインストールする事ができます。

cpan> install モジュール名

例)DBIモジュールのインストール
cpan> install DBI
cpanが自動的にweb上に存在している該当モジュールのソースを取得し、自サーバにインストール・展開を行ってくれます。
しかしながら、ご利用サーバの設定状態や、インストールするモジュールによっては、サーバ設定の干渉やモジュール同志の干渉が発生し、インストールが完了しない場合がございます。その場合は、cpanのインストールログ内に、必ずインストールが完了しない原因についてのメッセージが表示されますので、それをご参照頂きご対応頂けますようお願い致します。
基本的に、Perlモジュールのインストールは、サーバな発展的な活用方法であり、利用方法により、多くの設定方法がございます。また、Perlモジュールは、世界中の有志により常に開発が行われており、その全てを把握するのは非常に難しく、モジュール同志が干渉しあう仕組みの「あるモジュールをインストールする為に必要なモジュール」という設定のもの等、モジュール自身の仕組みも非常に多岐にわたっております。その為、弊社側では基本的に、Perlモジュールのインストール方法や設定方法については、全てを完全にサポートする事はできません。

サーバをご利用頂いている経緯により、ユーザ様毎に、その設定状態は異なります。モジュールのインストールは、サーバの設定状態に左右される場合がございますので、弊社側では、モジュールのインストールについて全てをサポートする事はできませんので、ご了承頂けますようお願い致します。
 
■MobableTypeで利用するPerlモジュール
SVシリーズの初期状態でのMovavleType3.2.xで必要とされているPerlモジュール対応は、以下の様になっております。
必須モジュール
HTML::Template インストール済み
Image::Size インストール済み
File::Spec インストール済み
CGI::Cookie インストール済み

データ管理 モジュール
DB_File インストール済み
DBI 未インストール
DBD::mysql 未インストール
DBD::Pg 未インストール
DBD::SQLite 未インストール

推奨 モジュール
HTML::Entities インストール済み
LWP::UserAgent インストール済み
SOAP::Lite インストール済み
File::Temp インストール済み
Image::Magick 未インストール
Storable 未インストール
Crypt::DSA 未インストール
MIME::Base64 インストール済み
XML::Atom 未インストール

上記の未インストールのモジュールインストール方法について、全てご案内する事はできませんので、お客様のご利用範囲に合わせて、該当モジュールのインストールを行って下さい。

以下のご案内は、cpanコマンドでのインストールに関するご案内となります。
最も多く頂くご質問として、DBI モジュールのインストールエラーがございます。Perl のバージョンが初期状態の5.6.1のままDBI をインストールしますと、「Can't locate Test/More.pm in @INC・・・」といった「More.pm」がインストールされていない為DBI のインストールができない、というメッセージが表示されて、インストールが完了致しません。その場合は、お客様側でMore.pmをインストールして頂く為に、cpanモードで、「cpan> install Test::More」により、More.pmをインストールして頂く必要がございます。
※perl 5.6.1でDBI のインストールを完了させる為には、他にも不足していると指摘されるモジュールがございます。それらのインストール方法については、モジュール同志の干渉を把握頂いた上で設定して頂く必要がありますので、弊社からの案内は控えさせて頂きます。インストール時のメッセージをご参照頂きながら、必要なモジュールをご確認下さい。

可能であれば、Perl のバージョンを5.8.4か5.8.6にアップグレードされる事をお薦め致します。Perl のバージョンが、5.8.4か5.8.6にバージョンアップされれば、DBI インストールに必要なモジュールが全てインストールされた環境でご利用可能となりますので、すぐにcpanでinstall DBI が完了致します。合わせて「Storable」「XML::Atom」も自動的にインストール済みの状態になりますので、ご利用中の他のPerlプログラムに影響がないと確認できる場合は、Perl バージョンをアップグレードされた方がよろしいかと存じます。
「Image::Magick」のインストールについては、 Portsからのインストールが便利です。 「 1) Portsコレクションとは 」をご参照下さい。
また、DBD::mysqlモジュールをcpanでインストールされる場合は、MySQLのrootパスワードを「なし」の状態にしてからインストールされると、簡単に完了するようです。
以上のモジュールインストールに関するご案内は、基本的には、サーバデフォルト状態から作業を行った場合についてのご案内になります。ご利用頂いているサーバの設定状態によっては、異なる結果となる場合もございますので、その場合のサポートを行うことはできませんので、ご了承頂けますようお願い致します。