MovableType AMI版でLocal.pmを動くようにする

この記事は Movable Type Advent Calendar 2020 4日目の記事です。

今年は、そんなに数多くMovableType 案件に関わった訳ではないのですが
いくつかハマった箇所から一つご紹介いたします。

やろうとしたこと

MovableType7 rebuild-pagesを使って、定期的にjsonを生成し外部のs3に転送する

rebuild-pages自体の使い方は、こちらのブログを参考に実装いたしました。

Web::Scarperいれて、IPC::Run3 いれて、Local.pm修正してアップして、シェルで作ったコマンドを叩きました。

しかし、Local.pmでどうしてもmt.cgiのpathを読み込みません。。。
そう、MovableType AMI版は、mt.cgiの場所がアプリケーション版と違うのです。
この記事読む人には当たり前ですが、色々ファイル配置が違います。

試行錯誤の結果、MovableType AMI版の場合は、
Local.pmの89行目を /app/movabletype/mt.cgiと置き換えてあげれば無事動くことが確認できました。

これを

89 run3 [$^X, "./$script_name"],

こうする

89 run3 [$^X, "/app/movabletype/mt.cgi"],

あとでわかったこと

76 $ENV{SCRIPT_NAME} = $script_name;
77 $ENV{PATH_INFO} = $path;

ここで、変数化されているので、ここを修正して綺麗にまとめるべきでしたね。

本当は鬼改造したtinymce5について書きたかったのですが
あと数時間で12/5なので、すぐにかける小ネタとして今年の投稿といたします。

Orisaka

代表取締役 CEO

武蔵野美術大学 造形構想研究科 修士課程 造形構想専攻クリエイティブリーダーシップコース修了
中央大学理工学部卒業、STRAMD第7期生
製版DTP、映像制作、プログラマー、ウェブ制作 などを経て、2006年 ギャラリーバーノイエ創業、2008年 株式会社マイロプス代表取締役 就任。
趣味はバスケットボールと釣り。千葉県出身。
Twitter @orisakatoshihik

関連記事

お仕事のご相談、採用についてなど、お気軽にお問い合わせください。