たちまなめも
MT関係のPerlモジュールをRPMのみで導入
エントリ用のCSS弄ったので挙動確認中(´ω`*)♪
「CentOS 5の環境にMovable Type 3を入れたい」と云うニーズがあったので実施。
何で今更MT3なんだよ…と云うところには突っ込まないで下さい^^;
色々事情があったのです。
あとついでに3.38ではなく3.37なんだな…www
MT入れる際に毎度×2あまりの面倒くささに泣かされるオプションのPerlモジュール。
CPAN使えばすぐじゃん!と云う感じですが、一応今回、ルールと云うか下記ニーズがありまして…
- 基本パッケージはRPMで管理!
- yumが使えるなら出来る限りyum使おうぜyum!
と、云うわけでCPANは不使用で頑張ってみましょう。
パッケージ自作する箇所はないので、使用するパッケージファイルのバージョンの特定が出来て、且つそれを見つけられれば簡単にインストール可能ですよ(´ω`*)
ちなみに、環境はこんな↓感じです。
- OS
- CentOS release 5.5
- Perlバージョン
- perl-5.8.8-32.el5_5.1
- Movable Type
- Movable Type Version 3.37(^^;)
- yum設定
- RPMforgeリポジトリ導入済。
- yum-prioritiesにて標準レポジトリを優先設定済
(データ管理関係はMySQL導入時にインストールしちゃったので^^;)
で、問題のオプションモジュール。
デフォルトで未導入だったのは下記の4点。
- HTML::Entities
- いくつかの文字を変換するために必要(いくつかって何だ)
- Image::Magick
- 画像をアップロードするときに、サムネイル画像を自動的に作成するなら必要
- Crypt::DSA
- コメント登録機能を利用するときに、TypeKey を利用したサイン・インの動作が高速になる
- XML::Atom
- Atom API を利用するときに必要
…何だか、正直必要ないなぁと云う気もしないでもないのですが、
「未導入だよ!」と表示されるのが気持ち悪いので導入して行きましょう。
HTML::Entities の導入
- デフォルトのyum設定で「perl-HTML-Parser」を導入するとインストール可能
# yum -y install perl-HTML-Parser
依存パッケージはこんな↓感じでした
# rpm -qR perl-HTML-Parser
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.4)
perl >= 0:5.004
perl(:MODULE_COMPAT_5.8.8)
perl(Carp)
perl(Exporter)
perl(HTML::Entities) ←ちなみに欲しかったのはこれ(笑)
perl(HTML::Parser)
perl(HTML::PullParser)
perl(HTML::Tagset)
perl(XSLoader)
perl(strict)
perl(vars)
perl-HTML-Tagset >= 3.03
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
rtld(GNU_HASH)
Image::Magick の導入
- 通常のyumでインストール可能
# yum -y install ImageMagick-perl
依存パッケージはこんな↓感じでした
# rpm -qR ImageMagick-perl
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
ImageMagick = 6.2.8.0-4.el5_1.1
libICE.so.6
libMagick.so.10
libSM.so.6
libX11.so.6
libXext.so.6
libXt.so.6
libbz2.so.1
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libfontconfig.so.1
libfreetype.so.6
libjpeg.so.62
liblcms.so.1
libm.so.6
libm.so.6(GLIBC_2.0)
libpthread.so.0
libpthread.so.0(GLIBC_2.0)
libtiff.so.3
libz.so.1
perl >= 0:5.002
perl >= 5.6.0
perl(AutoLoader)
perl(Carp)
perl(DynaLoader)
perl(Exporter)
perl(strict)
perl(vars)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
rtld(GNU_HASH)
Crypt::DSA の導入
- rpmファイルを取得しインストールが必要
- RPMforgeを導入しているとyumにて取得可能だがバージョンが違うのでMTが認識しない
# wget http://packages.sw.be/perl-Crypt-DSA/perl-Crypt-DSA-0.14-1.el5.rf.noarch.rpm
導入テスト
# rpm -ivh --test perl-Crypt-DSA-0.14-1.el5.rf.noarch.rpm
エラー: 依存性の欠如:
perl(Convert::PEM) は perl-Crypt-DSA-0.14-1.el5.rf.noarch に必要とされています
- perl-Convert-PEM
# yum install perl-Convert-PEM
再度、perl-Crypt-DSA-0.14-1.el5.rfの導入テスト# rpm -ivh --test perl-Crypt-DSA-0.14-1.el5.rf.noarch.rpm
OKだったので、インストール# rpm -ivh perl-Crypt-DSA-0.14-1.el5.rf.noarch.rpm
ダウンロードしたrpmファイルは不要なので削除# rm -f perl-Crypt-DSA-0.14-1.el5.rf.noarch.rpm
依存パッケージはこんな↓感じでした
# rpm -qR perl-Crypt-DSA
perl >= 0:5.00503
perl(Carp)
perl(Convert::PEM)
perl(Crypt::DSA::Key)
perl(Crypt::DSA::KeyChain)
perl(Crypt::DSA::Signature)
perl(Crypt::DSA::Util)
perl(Data::Buffer)
perl(Digest::SHA1)
perl(Exporter)
perl(Fcntl)
perl(File::Spec)
perl(IPC::Open3)
perl(MIME::Base64)
perl(Math::BigInt)
perl(Symbol)
perl(base)
perl(constant)
perl(integer)
perl(strict)
perl(vars)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
XML::Atom の導入
- rpmファイルを取得しインストールが必要
- RPMforgeを導入しているとyumにて取得可能だがバージョンが違うのでMTが認識しない
# wget http://rpms.arrfab.net/rpmforge/packages/perl-XML-Atom/perl-XML-Atom-0.37-1.el5.rf.noarch.rpm
導入テスト
# rpm -ivh --test perl-XML-Atom-0.37-1.el5.rf.noarch.rpm
警告: perl-XML-Atom-0.37-1.el5.rf.noarch.rpm: ヘッダ V3 RSA/SHA1 signature: NOKEY, key ID 9def3191
エラー: 依存性の欠如:
perl(Class::Data::Inheritable) は perl-XML-Atom-0.37-1.el5.rf.noarch に必要とされ ています
perl(XML::LibXML) >= 1.69 は perl-XML-Atom-0.37-1.el5.rf.noarch に必要とされています
perl(XML::XPath) は perl-XML-Atom-0.37-1.el5.rf.noarch に必要とされています
- perl-Class-Data-Inheritable
- perl-XML-LibXML >= 1.69
- perl-XML-XPath
では、順番に導入していきましょう
- perl-Class-Data-Inheritable の導入
perl-Class-Data-Inheritableのrpmファイルをダウンロード
# wget http://packages.sw.be/perl-Class-Data-Inheritable/perl-Class-Data-Inheritable-0.08-1.el5.rf.noarch.rpm
導入テスト# rpm -ivh --test perl-Class-Data-Inheritable-0.08-1.el5.rf.noarch.rpm
perl-Class-Data-Inheritableのインストール# rpm -ivh perl-Class-Data-Inheritable-0.08-1.el5.rf.noarch.rpm
ダウンロードしたrpmファイルは不要なので削除# rm -f perl-Class-Data-Inheritable-0.08-1.el5.rf.noarch.rpm
- perl-XML-LibXML の導入
perl-XML-LibXMLのrpmファイルをダウンロード
# wget http://packages.sw.be/perl-XML-LibXML/perl-XML-LibXML-1.69-3.el5.rf.i386.rpm
導入テスト# rpm -ivh --test perl-XML-LibXML-1.69-3.el5.rf.i386.rpm
perl-XML-LibXMLのインストール# rpm -ivh perl-XML-LibXML-1.69-3.el5.rf.i386.rpm
ダウンロードしたrpmファイルは不要なので削除# rm -f perl-XML-LibXML-1.69-3.el5.rf.i386.rpm
- perl-XML-XPath の導入
# yum -y install perl-XML-XPath
再度perl-XML-Atom-0.37-1.el5.rfの導入テスト
# rpm -ivh --test perl-XML-Atom-0.37-1.el5.rf.noarch.rpm
OKだったので、インストール# rpm -ivh perl-XML-Atom-0.37-1.el5.rf.noarch.rpm
ダウンロードしたrpmファイルは不要なので削除# rm -f perl-XML-Atom-0.37-1.el5.rf.noarch.rpm
依存パッケージはこんな↓感じでした
# rpm -qR perl-XML-Atom
perl(Class::Data::Inheritable)
perl(DateTime)
perl(Digest::SHA1)
perl(LWP::UserAgent)
perl(MIME::Base64)
perl(URI)
perl(XML::LibXML) >= 1.69
perl(XML::XPath)
perl >= 5.8.1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(VersionedDependencies) <= 3.0.3-1
rpmlib(VersionedDependencies) <= 3.0.3-1
と、こんな感じでした。
上記は既に稼動してるサーバ環境だったので、依存関係のあるパッケージが導入済だったケースもあるかもです。
パッケージ足りないよ!とエラーが出たら地道に1つ1つ入れてあげてください(-ω-*)
ネットワーク関係のお仕事でご飯食べてる技術屋さんです。
長ーい趣味はお人形さんで、年季の入った女子ヲタです。最近は「うた☆プリ」に夢中!
愛娘はF-05/13少女の「沙綾」と、幼SD橘純の「澄」。