CATEGORY:movable type
コメントが投稿できない!という問題。
ついこの前までは出来てたんだけど、今日返信のコメントを書いて確認ボタンを押したら403。あれ、サーバが忙しいのかね?なんて思って再度やってもやっぱり403。じゃあコメント書いた記事が悪いのかと思って他の適当なエントリにコメントを書いて確認ボタンを押してもこれまた403。ムキー!!!
で、何がおかしいのか色々探ってみたところ、.htaccessでした。なんか、xreaが気を利かせて、コメントスパム抑制のためにPOSTを許可するIPを.htaccessに追記してたらしいのです。3年近く前に。えええ?じゃあ何故今更ワタシのIPが、と思ったり思わなかったりですが、とりあえず確認したところ、今現在割り当てられてるIPが.htaccessの許可リストに入っていませんでした。仕方ないので、IPから自分トコのプロバイダの有効なレンジを調べて一応マスクして追加。したら無事コメントが投稿できました。なんか釈然としないけど。
しかしまあ、.htaccessが1700行以上あるってのも、すごいですな。
どうにかしてサイトデザインを以前の様に戻したかったのだけれど、Movable Typeのバージョンアップがhtmlタグの構成やらクラス名やらIDやらを思いっきり一新しちゃってくれた所為でうまいこといかない。とりあえず楽なやり方で強引にどうにかしてみたけど、このやり方は面倒を後回しにしただけのような感じ。暇に任せてジワジワ弄ることになるかしら。
しかし、あまりに今更だけど、blogのツールっての?Mobable Typeしか使ったこと無いけど、スタイルに関しては細かいことやろうとしたら結局自分でタグ書いてた頃の方が楽だったな。XMLをXSLTでHTMLに、とかちょっと考えてた頃に、DBからhtmlを、という方法を使うblogのツールを目の当たりにして、こりゃ便利や!とか思ったけど、Mobable Typeで使ってるテーブルから自由にデータ持ってきてhtmlを好き勝手に作れるかっつったらね、そりゃあもう大変だ。と、思う。やってみる気にもならないからね。テンプレートだとかなんだとか、分かんねーもの。デザインよりもトラックバックとかによる動的更新のためだもんね、多分。ホントに今更だけど、失敗だったかね。
Movable Typeにカテゴリというものがあります。一々そんなの言わなくても重々承知でしょうが、まああるわけです。で、折角あるなら付けておこうかと思い無理矢理付けてるのだけれど、生来の面倒くさがりがフル稼働してしまい、殆どがmiscという、そんなのいらないんじゃね?というかそれカテゴリとして意味を成してないよね?という状況でして、まあ困ったものですよ。という訳で、どうにかコレを細分化したい。どうにか。ねぇ。まあ幸いにして時間はたっぷりあるので色々とね、弄ろうと思いますよ、ええ。
ついでにもう一つ。Movable Typeのバージョンを4にしてから、カテゴリ別のアーカイブを見るとその中の新しい物しか表示されないのですよ。バージョンアップ前は全部表示されていたのに。まあそれはそれで問題があったと思うけど。とにかく、その辺もどうにかしたい。と、長いこと思ってたんだけど未だにどうにもなっていない。参ったね。
さて。何から書こうか。取りあえず全部消してやり直そうキャンペーンは、あまり芳しくないのです。カテゴリ毎のリンクはなんとか機能してるんだけどね。
問題その1。管理画面から記事一覧が表示されない。これは全く分からない。何が分からないって、Firefoxだと表示できないという事に気付いたから。IEだと表示されるんだよね。なんだよソレ。
問題その2。Firefoxだとスタイルシートが適用されない。コイツは、何だろう。エラーコンソールによるとcssのContent-Typeがtext/htmlだから、らしい。どうもダイナミックパブリッシングにすると、cssでもContent-Typeがhtmlになるようだ。んー。phpのソースを見る限りtext/cssとして返してるんだけどなぁ。
問題その3。スタイル変わりすぎ。ていうかコレ、Movable Typeのデフォルト臭がするんだよね。どうなのよ。まあコレに関しては後々どうにかしようと思えばどうにかなるんだけど。
取りあえず大きな問題はこのぐらいでしょうか。mt.phpが毎回エラーを吐き出す、という問題もあったのですが、ソイツは取りあえず解消しました。mtview.phpを生成するときに、いんすとーるを繰り返したせいかincludeが被っていたのが問題でした。うーむ。やはりFirefoxでスタイルシートが適用されないのが一番デカい問題だ。あ、もしかしてスタイルシートをダイナミックにしなければいいのか。それでやってみよう。
愛で地球を救おうと(恐らくは)寄付金なんかが霞むぐらいの高額なギャラで集められた芸能人が徹夜をしてみる、というイベントが開催されようとする一方、ワタシはこのサイトを救うべくノーギャラで頑張ってみようと思います。
取りあえず、現状の問題点である、カテゴリ毎のリンク先が何故か殆ど表示されない、という問題を調べてみた。結果、DBに表示されるエントリと表示されないエントリの差異があって、表示されない方はmt_entryテーブルのmt_created_by,mt_modified_byがNULLだった。じゃあコレ表示されるのと合わせりゃいんじゃねの?とばかりにDBを直で叩いてみたのだけれど結果変わらず。こうなるともうホントにスクリプトをみて問題を洗い出すほかないんだけど、もう無理じゃね?と諦めました。じゃあどーすんの?というとですね、全部消します。DB。で、DBバックアップからじゃなくてエクスポートしたデータから復帰します。そうすれば大丈夫、ということを他のフリースペースで確認したので。
そんなわけで、全改修に入ります。サイトのスタイルとかも消しちゃうので、全然違うスタイルになることが予想されます。おいおい変えたり変えなかったりしますが、まあフィーリングで、ね。取りあえずしばらくはリンク切れとかサイト自体が見えないとかそんな状態になりますが、ドンマイ。それでは、張り切って参りましょう!スタート!!
勢いでMovable Typeをアップデートしたいと思います。勢いオンリーなので、いつの間にかサイトが見えなくなっていることもあるかと思いますが、気にしないで下さい。ていうか見えなくなってたらこのエントリも見えない気がするので、無駄なんですけどね。スタティックなファイルは残るけど、あれ、今どうなってんだろ。全部ダイナミックなのか。ま、いいや。それでは、スタートします。
Movable Typeがバージョンアップしたらしい。が、少なくともワタシの環境においては、Movable Typeのアップグレードはほぼなにかしらのトラブルを生む、という過去の経験があるので、更新するのはちょっと二の足を踏んでしまう。ま、セキュリティ関係での更新じゃなければ特に必要もないんだけど、折角だから入れてみたいという気もする。悩みどころだ。どうしよう。
そんなわけで、また何の準備もせずに勢いだけでMovable Typeをアップデートしてみました。FTP転送時にファイルの文字コードが変わっていたらしく、mt-update.cgiが動いたときに文字化けフィーバーで酷い目に遭いましたが、その程度のことでは焦らなくなりました。アップデートは失敗するものだという認識になっています。で、それ以外はさしたる問題も無く終了。いや、そう決めつけるのは早急すぎる。とりあえず表面化している問題はありません。あと、どうやらダイナミックパブリッシングの問題が発生しなくなっているようで、ファイルを修正しなくともテンプレートの保存が出来ている気がします。お。これは嬉しい誤算。今後のアップデートが楽になるかもしれない。ちょっとした幸せ。小さいなぁ。
油断してたら1年経ってた。はい。このサイトを勢いでblogにしたのが1年前。xreaでMovable Typeが使えるから、というだけで変更したのだけれど。htmlを手書きしてローカルで表示確認、そしてftpでアップという作業を2年半か。それが今やブラウザ上で書いてそのまま更新。おお、なんと便利になったことだろう!
なんて思うこともなく。Movable Type のバージョンアップに散々泣かされたり、更新しようと思ってもcgiがTimeoutで動かなかったり。過去ログの管理とかその辺は楽になったけど、トータルで見ると不便な点の方が増えたのよ。うん。これ全然便利じゃない。ていうか利便性を求めるためのモノじゃない。これって、分かり切ったことなんだけど、コメントとかトラックバックとかその辺の相互性?がメインなのな。んで、見る人がそんなにいないサイトにおいてそれはほぼ意味を成さない。だからね、改めて言いたい。失敗した。これ失敗した。やっぱ流行モノについてけない。でも今更後に引けないからなぁ。
あっ、イッテQ!でスピードワゴンがボケ倒しみたいな雰囲気になってる!でもそんな面白くない!
あ、ブログの話ね。うん。とりあえずMovable Type のバージョンアップがある度に胃が痛くなる状況を何とかして欲しいです。な。
とりあえずMovable Typeのアップデートは落ち着いた、と思う。mt-update.cgiがやっぱり途中でコケてたみたいで、ログを見ようとすると『権限がありません』とか言われるようになった。まあそんなに見るものではないのだけど、気持ち悪い。mt-update.cgiをまた走らせて大丈夫かどうかも分からないので、とりあえずDBの値を直接それっぽく書き換えてみました。mt_authorテーブルのauthor_is_superuserを1にすると、無事ログ表示が可能に。ついでに、mt_blogテーブルのblog_basename_limitがnullだったので、MT::Upgradeに書いてあったsql通り15に設定。超嘘臭いけどもういいの。とりあえず無視するの。アップデートでミスるのこりごりなの。
露呈してないアップデートミスはまだあるかもしれませんが、しばらく様子見します。しかし参った。今後Movable Typeをアップデートするというヒトは、サーバの負荷が低い時間に行うことをお勧めします。いやマジで。