perl526なCORESERVERサーバーにmtos52を新規インストール

|

粗々2年前、CORESERVERサーバーにシステムの増強などを施す移行(マイグレーションだそうな)が行われました。新仕様のCORESERVERサーバーでは何と、perlのバージョンが5.26となってしまいました。

★難という悲劇、難という弱者切り捨て。じゃなかった、セキュリティーの強化なんだそうです。

其のお陰で、真面に動いていた筈のmtos5.2の動作にも降り懸かる不幸が・・・。

取り敢えず気を取り直して、バージョンアップされたCORESERVERサーバーに、perl5.26を利用してmtos5.2を新規インストールしてみる事に。


◆コアサーバーに設置したmtos5.2にアクセス

perl526のCORESERVERサーバーに設置したmtos52にアクセスすると、意外にも? インストール画面は正常に表示されましたが、「Movable Type システム・チェック」や「Movable Type にサインイン」をクリックするとエラーが容赦無く。。。

★Movable Type システム・チェックのエラーは無視

・Movable Type システム・チェックをクリックすると、以下の様なエラーが

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at info@coreserver.jp to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

・コアサーバーの難点は、エラーログを見られない事。(探し方が足りなかったのかな~)<他のレンタルサーバーも見る事が出来ないのでしょうか?>

・ヤフー(Yahoo!)で検索しても原因が分からなかったので、「Movable Type システム・チェック」のエラーはインストールに直接関係が無い事もあり、無視する事に。

★Movable Type にサインインのエラーについては

・Movable Type にサインインをクリックすると、以下の様なエラーが

Movable Type

エラーが発生しました。
\C no longer supported in regex; marked by <-- HERE in m/(\ <-- HERE C)/

・ヤフー(Yahoo!)を検索すると、以下の該当記事1件がヒットしました。

小粋空間さんの
https://www.koikikukan.com/archives/2022/06/30-235555.php
旧バージョンのMTでPerl5.26(Perl5.24以降)に対応する方法

extlib/URI/Escape.pmの sub escape_char の部分を書き換えるのだそうです。

sub escape_char {
return join '', @URI::Escape::escapes{$_[0] =~ /(\C)/g};
}

↓↓↓以下の様に書き換え↓↓↓

sub escape_char {
# Old versions of utf8::is_utf8() didn't properly handle magical vars (e.g. $1).
# The following forces a fetch to occur beforehand.
my $dummy = substr($_[0], 0, 0);

if (utf8::is_utf8($_[0])) {
my $s = shift;
utf8::encode($s);
unshift(@_, $s);
}

return join '', @URI::Escape::escapes{split //, $_[0]};
}

なのですが、『動作を保証するものではありませんので、個人の責任で行ってください。』と言う但し書きが。

★自己責任の決め手は、参照情報として記されていた以下の記事。

お茶の間さんの
http://www.webkoza.com/rooms/2019/02/fedora29mt522.html
Fedora29にMT5.2.2を導入

Escape.pmについてのエラー

このファイルは extlib/URI/ にコピーされたperl標準モジュールのようなので、cpanmでインストールされている最新のEscape.pmをこの場所にコピーして、webkoza_mt.servise再起動したところ、statusでこのモジュールのエラーは無くなった!

perl標準モジュール? 最新モジュールのコピーでエラーが無くなった?? との事なので、

関数 escape_char の内容を書き換える事に!!

CORESERVERのMovable Typeで、左括弧({)が正規表現の中でエスケープされてないエラーが発生
の記事の修正もお忘れなく。


◆「Movable Type にサインイン」をクリックしてmtos52の新規インストール処理を完了

Movable Type のシステムチェック画面で、

システムチェック画面

「必要なPerlモジュールは揃っています。」と表示されるのに、インストール画面の「Movable Type システム・チェック」は、何が気に入らなかったのでしょうね?

誰か、コアサーバーの「error log」が吐かれているのが何処か、知ってるなら教えて!!

★蛇足:データベースが MySQL 5.7 → MariaDB 10.6 へと変更されています

サーバー側はMariaDBとなりましたが、Movable Type 側で選べるのはMySQLのままです(当然ですよね、mtos5.2ですから)。

気にせずMySQLを選んで、インストールを終わらせましょう。

このブログ記事について

このページは、微禄が2024年4月 5日 13:09に書いたブログ記事です。

ひとつ前のブログ記事は「Windowsネットワーク上の他ユーザーのファイルやフォルダに突然アクセス出来なくなった時」です。

次のブログ記事は「perl526でもmtos52のスタイルキャッチャー(StyleCatcher)を適用」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

お気に入りリンク

NOP法人 アジアチャイルドサポート 最も大切なボランティアは、自分自身が一生懸命に生きること