この記事は 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
株式会社マイロプス代表取締役
千葉県出身、中央大学理工学部卒業、STRAMD第7期生
製版DTP、映像制作、プログラマー、ウェブ制作 などを経て
2006年 ギャラリーバーノイエ創業
2008年 株式会社マイロプス代表取締役 就任
趣味は、バスケットボールと釣り
twitter @toshi_104i