Movable Typeアーカイブ

MTバージョンアップ

  • 投稿日:
  • by
  • カテゴリ:

完全に放置状態のこのブログだが、思い立ってMTのバージョンアップを実施。年初から忙しかったこともあり昨年は全く更新しなかったが、今年は技術的なメモでも書いていこうか。

ちなみに、テストブログでテーマ変更したらなぜかMTが応答無しに成りProxyエラーが起きる障害が出てはまった。MTの問題なのか分からないが少なくともあのテーマはこちらでは使えない。Starmanで起動しているのが悪いのだろうか。

MT6.03にバージョンアップ

  • 投稿日:
  • by
  • カテゴリ:
旧バージョンの「Movable Type」を使用しているウェブサイトが改ざんされるインシデントの報告を多数受けているとして、一般社団法人JPCERTコーディネーションセンター(JPCERT/CC)が15日、「旧バージョンのMovable Typeの利用に関する注意喚起」を出した。

バージョンアップ作業が面倒なので先送りしていたが、上記の情報を得て重い腰を上げてバージョンアップ実施。新規ディレクトリに更新ファイルを導入した上に、更新ファイルのみを移植していくのが毎度めんどくさい。

ちなみにPSGI環境で動かしているせいか、旧ディレクトリ名を変更し新ディレクトリを/mtに変えてStarmanの再起動を行ったところ、MTディレクトリは正しくなったにも関わらず、現在のディレクトリは名前変更後の旧ディレクトリを指すというおかしな状況になってしまった(バージョンが6.0のまま)ので、サーバごと上げ直してしまった。

なぜか再構築に失敗

  • 投稿日:
  • by
  • カテゴリ:

先ほど久々にブログ書いて投稿しようとしたらビルドエラー発生。

どうも/var/www/htmlディレクトリのオーナーがapacheでなくrootになっていたのが原因らしいが、error、icons、cgi-binも同じ日に更新されていたことから考えると、yum updateしたか何かのタイミングで変わったのだろうか。

その日にhtmlディレクトリ配下で変更がかかったものはないようだが気持ち悪い。

MT6へのアップデート実施

  • 投稿日:
  • by
  • カテゴリ:
※ Movable Type 6 では、上書きアップロードでのアップグレードは推奨していません。ここでは、新規でディレクトリを作成しアップグレードする方法を解説します。

重い腰を上げてというか現実逃避的にバージョンアップ実施。

MT6へのアップグレード手順通りで行けるはずが、別ディレクトリに新バージョンのファイル群をコピーした後、以下のファイルやディレクトリを元のMTインストールディレクトリからコピーする手順において、プラグインの移行に気を取られ他を忘れてサーバーエラーに。

  • mt-config.cgi
  • plugins/追加したプラグイン
  • mt-static/plugins/追加したプラグイン
  • mt-static/support
  • themes/追加したテーマ

それ以外は特に問題なく移行完了。

アップグレード時に、新しいディレクトリにコピーするファイル : Movable Type 6 ドキュメント

MT6リリース

  • 投稿日:
  • by
  • カテゴリ:
3年9ヶ月ぶりのメジャーバージョンアップとなる Movable Type 6 は、「コンテンツがもっと広がる、つながる、CMSプラットフォーム」をコンセプトに、各種機能の改善をおこない、従来以上に強力な「パブリッシング・プラットフォーム」として進化を遂げています。

忙しいこともあり結局β1を入れただけでテストは放置していた。Data API等をのぞくと、ぱっと見ではあまり代わり映えしていなかったように思うが、多少高速化されているとも聞くので、そのうちバージョンアップするか。

Data APIはいろいろな用途が考えられておもしろそうだが、データを抜いてコピーブログを作りやすくなると思われるため、設定変更して認証を掛けた方がいい気がする。

こうすると、MTに記録されるIPがApacheサーバになってしまうので、記録されるIPがブラウザのIPでは無くなってしまいます。ログを見ても不正アクセスかどうかわかりません。 なので、HTTP_X_FORWARDED_FORのIPアドレスをクライアントIPとして見るようなオプションを追加して欲しいです。

同じ事を考えつつあきらめていたのだが、mt-config.cgiに以下の設定を追加することで解決するようだ。

TransparentProxyIPs 1

TransparentProxyIPs | 環境変数リファレンス

一つのブログサイトで複数の検索結果表時を行う場合、公式ドキュメントではmt-config.cgiに対して以下のようにテンプレート定義を行えば良いとある。

また、検索テンプレートの代替テンプレート ((例: altsearch.tmpl)) を設定する場合は以下のように設定します。
SearchAltTemplate altsearch altsearch.tmpl

しかしテンプレートにおいてどのように記述すればいいか触れられていないので調べたところ、検索フォームで以下のようにテンプレート名を記述すればいいとのこと。実際に試して期待通りの結果が得られることを確認した。

<input type="hidden" name="Template" value="altsearch" />

参考にさせていただいたサイト

Movable Type 5.1の検索で検索結果テンプレートを指定する方法: 小粋空間

Rainerテーマではクラシックテーマとは異なり、mt-search.cgiを使ったページ分割機能を多用するようになった。これまでもタグ検索やキーワード検索においてページ分割機能が使われてきたが、Rainierテーマではメインインデックスとアーカイブインデックスにおいてもページ分割機能がデフォルトで使用される。

後者の用途では、最初の一ページのみが静的に生成されたページで、2ページ目以降はmt-search.cgiにより動的に生成される。この場合、mt-search.cgiによるページ生成時に使用されるテンプレートは、検索用では無く静的に生成された1ページ目と同じテンプレートが使用される。

今回初めてこの機能を使った(というか標準機能なので体験したが正しい)のだが、メインインデックスページの2ページ目を開こうとクリックしたところ以下のエラーが出て動かず。

aspやphpの出力ファイルにはできません

いつのころからかスマートフォンオプションを導入した状態でiPhoneからmt.cgiにアクセスすると、リダイレクトが云々というエラーになって使えなくなっていた。それでも以前は、mt-sp.cgiに直接アクセスすることで逃げられたが、PSGI構成にしてからはmt-sp.cgiが見えないという予想外の結果に途方に暮れていた。