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なので、すぐにかける小ネタとして今年の投稿といたします。
関連記事
お仕事のご相談、採用についてなど、お気軽にお問い合わせください。