sakuraのレンタルサーバにCPANをインストール

cronで添付ファイルを飛ばすスクリプトGmail経由にする。
Net::SMTP::SSLなどを使いたいのでCPANをユーザー領域にインストールする。


localディレクトリに入れることにする。

mkdir -p ~/local

CPANの初期設定ファイルを作る。

echo no | cpan

~/.cpan/CPAN/MyConfig.pmの内容を修正。

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

参考にしたサイトではurllistが

'urllist' => [q[ftp://ftp.cpan.jp/], q[ftp://ftp.kddilabs.jp/CPAN/]],

となってますが、ftp.cpan.jpが応答しなかったので、こちらは削除。


環境変数を設定してからCPANを起動

$ echo 'setenv PATH $HOME/local/bin:$PATH' >> ~/.cshrc
$ source ~/.cshrc
$ cpan

設定を数個聞かれるがデフォルト値でいいのでエンターでパス。


欲しいモジュールをインストール。

cpan>install Test::More
cpan>install IO::Socket::SSL
cpan>install Net::SMTP
cpan>install Net::SMTP::SSL
cpan>install Authen::SASL
cpan>install MIME::Entity


cronで起動させるスクリプトを書くのでuse libを使わなくてはいけないが、シェルから起動してテストもするので、一応環境変数を設定。

$ echo 'setenv PERL5LIB $HOME/local/lib/perl5:$HOME/local/lib/perl5/site_perl' >> ~/.cshrc
$ source ~/.cshrc

実際のスクリプトでは先頭に

use lib '/home/xxxxxx/local/lib/perl5';

として利用。

参考にしたサイト