クライアントの希望で、NTTのBizメール&ウェブのサーバーにサイトを移行することになりました。
その時の備忘録のためのブログです。結論からいうと…
Bizメール&ウェブにはMT7はインストールできない
PerlモジュールのHTML::Entitiesのバージョンが足りません。MT7はバージョン 3.6.9 以上が必要なところ、サーバーのモジュールのバージョンは3.6.4(2018/11/1時点)でした。
勝手にモジュールをインストールできないので困り果てました。
サーバーに問い合わせたところ、MovableType6まではインストールできる…
しかし既にクライアントはMovableType7で運用している…
うーん…
バージョンを6に落としてインストールするか…
コンテンツタイプどうしよう…
納期までに間に合わないなぁ…
そもそもPerlモジュールのHTML::Entitiesって何?
ということで、HTML::Entitiesを調べたところ
PerlモジュールのHTML::Entities
「HTML::Entities – HTMLエンティティ(実体参照)文字列をエンコード/デコードする」とありました。
簡単に言うと、文字の変換のためのモジュールです。
こんなのいるのかな…というのが正直なところ。
しかもバージョン3.6.9と3.6.4でどれほど違うのか。
3.6.4でも動くようにしてしまえ!
という強硬手段に出ることにしました。
もちろん、クライアントにも説明していますよ!
Wizard.pmを書き換える
Wizard.pmには、HTML::Entitiesのバージョンを管理している行があります。
場所は、
/mt/lib/MT/App/
にあります。
その390行目あたりに↓のコードがあるので、
‘HTML::Entities’ => {
link => ‘http://search.cpan.org/dist/HTML-Entities’,
version => 3.69,
label => ‘HTML::Entities is required by CGI.pm’,
},
version => 3.64
と変更しました。
これでMTのインストール画面に行くとすんなりインストール完了。
MySQLもちゃんと読み込んでくれて移行作業完了。
ページのエラー、再構築してみても何の問題もなし!!
ただ…推奨しません。
サーバーのバージョンが上がってくれるのを祈る日々です。