さくらインターネットの共用サーバに Encode::JP::Mobile をインストールする

忘れないうちに書いておこう。

MT4i で絵文字を扱う為に、Encode::JP::Mobile に頼ることにしました。しかしこのモジュールはもちろん Perl の標準モジュールなどではなく、私の借りているサーバーにはインストールされていません。使う為には自力でインストールしなければなりませんが、私が借りているのは共用サーバーで、ports(FreeBSD なので)を使って自由にモジュールをインストールすることができません。

専用サーバー等借りれば良いのでしょうが、しかしそもそも、MT4i を使用する層を考えると、共用サーバーで使用できない機能は作りたくありません。MT4i の基本は、あくまでも「誰でも手軽に携帯サイトを持てる」ことですので。それは開発を始めた当初から変わっていません。

というわけで、共用サーバーに何とかして Encode::JP::Mobile をインストールし、その手順を確立する必要があります。調べた結果、下記リンク先が大変参考になりました。というかそのままで行けました。

ユーザー領域に CPAN をインストールし、CPAN を利用して Perl モジュールを追加する方法です。以下、手順を改めてまとめます。

1.ユーザーのホームディレクトリに local というディレクトリを作成。

$ mkdir -p ~/local

2.cpanの初期設定ファイルを作成。

$ echo no | cpan

3.設定ファイルの~/.cpan/CPAN/MyConfig.pmの該当部分を下記のように書き換える。(mbuildpl_argの項目は存在しないので追記)

'make_install_arg' => qq[SITEPREFIX=$ENV{HOME}/local],
'makepl_arg' => qq[INSTALLDIRS=site INSTALL_BASE=$ENV{HOME}/local LIB=$ENV{HOME}/local/lib/perl5 PREFIX=$ENV{HOME}/local],
'mbuildpl_arg' => qq[./Build --install_base $ENV{HOME}/local],
'urllist' => [q[ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/], q[ftp://ftp.kddilabs.jp/CPAN/]],

4.CPANを最新版にアップデート。途中の質問は全てデフォルトで Enter キー。

$ cpan -i Bundle::CPAN

5.インストールが終了したら cpan コマンドで初期設定を実行。

$ cpan

 ミラーサイトの選択は(2) Asiaと(7) Japanを選択。他の質問は Enter キー。

6.設定が終わったら Encode:JP::Mobile をインストールします。

cpan> install Encode:JP::Mobile

 詳細忘れましたが(汗)、途中の質問は全部デフォルトで良かったはず。

7.で、CGI で使用するには以下を追加してあげれば OK。

use lib qw( /home/hoge/local/lib/perl5 /home/hoge/local/lib/perl5/site_perl );
use Encode::JP::Mobile;

 'hoge' は、さくらインターネットの共用サーバーならユーザー名です。
 もちろん、MT4i では use lib するパスを設定で追加できるようにする予定。