うまくいったかに見えた、定期的にmail-entry.cgiを動かす作戦。
ふと気づくと、なんかエラーがあったらしくcronさんからメールがきてる。
Subroutine Jcode::ucs2_euc redefined at
(mt.cgiのディレクトリ)/extlib/Jcode/Unicode/NoXS.pm line 56.
Subroutine Jcode::euc_ucs2 redefined at
(mt.cgiのディレクトリ)/extlib/Jcode/Unicode/NoXS.pm line 71.
Subroutine Jcode::euc_utf8 redefined at
(mt.cgiのディレクトリ)/extlib/Jcode/Unicode/NoXS.pm line 87.
Subroutine Jcode::utf8_euc redefined at
(mt.cgiのディレクトリ)/extlib/Jcode/Unicode/NoXS.pm line 94.
Subroutine Jcode::ucs2_utf8 redefined at
(mt.cgiのディレクトリ)/extlib/Jcode/Unicode/NoXS.pm line 101.
Subroutine Jcode::utf8_ucs2 redefined at
(mt.cgiのディレクトリ)/extlib/Jcode/Unicode/NoXS.pm line 124.
「使おうとしたサブルーチン名はすでに使われています」ってことかな?
検索してみると、文字コード変換するときに Jcode.pm っての使うと、さらに Unicode.pm か NoXS.pm かどちらかに下請けとして発注するらしい。
で、(mt.cgiのディレクトリ)/extlib/Jcode/ をみてみると、これが両方入ってる。
Unicodeさんに発注したの忘れてNoXSさんにも発注かけたら「おいおい、そいつはもう発注済だぜ」って上司にしかられたって感じかな?よくわからんけど。
mt3.33のアーカイブにはもともとUnicode.pmは入ってないんだけど、以前のバージョンで「Unicode.pmがない」ってしかられたんで、どっからかさがしてきて入れたんだった。
そんぢゃあってんで、Unicode.pmをはずしちゃったら、mt.cgiが「Unicodeさんがいないといやだよ」って動いてくれなくなっちった。
で、Unicode.pmもどしてNoXS.pmなくしてみたら、こんどは
Subroutine Jcode::ucs2_euc redefined at
(サーバの perlディレクトリ)/Jcode/Unicode/NoXS.pm line 56.
Subroutine Jcode::euc_ucs2 redefined at
(サーバの perlディレクトリ)/Jcode/Unicode/NoXS.pm line 71.
Subroutine Jcode::euc_utf8 redefined at
(サーバの perlディレクトリ)/Jcode/Unicode/NoXS.pm line 87.
Subroutine Jcode::utf8_euc redefined at
(サーバの perlディレクトリ)/Jcode/Unicode/NoXS.pm line 94.
Subroutine Jcode::ucs2_utf8 redefined at
(サーバの perlディレクトリ)/Jcode/Unicode/NoXS.pm line 101.
Subroutine Jcode::utf8_ucs2 redefined at
(サーバの perlディレクトリ)/Jcode/Unicode/NoXS.pm line 124.
てメールがcronさんから届いた。
これは、
(mt.cgiのディレクトリ)/extlib/Jcode/Unicode.pm と
(サーバのperlディレクトリ)/Jcode/Unicode/NoXS.pmを
よみこんぢゃってるって事?
さてどーしたもんかと思ってたけど、
あ、サーバにちゃんとJocodeはいってるんだから、mtが自前で持たなくてもいいぢゃん
て思って、(mt.cgiのディレクトリ)/extlib/の下のJcode関係をはずしてみたら・・・
- mt.cgiはちゃんと動いてるみたい。
- cronでmail-entry.cgi動かしてメール取り込んだあとも、cronさんから苦情はこない。
てなわけで解決ってことにします。
まとめ
問題
mail-entry.cgiを動かすと、Jcode関係でエラーが出た
環境
mtのextlib/以下にJcode.pmとUnicode.pmとNoXS.pmが入っている
サーバのPerlはPerl5.8.0(Jocdeの機能元々入ってるハズ)
対応
mtのextlib/以下のJocode関係を削除
結果
いまのところ問題解決しているように見える。
懸案事項だった、メール投稿対応にするためmail-entry 0.6.1を入れてみました。
これできると、SNAP写真なんかをヒョイヒョイって投稿できて便利かなぁって。
まぁ、きっとあとでパソコンから修正してリンク張ったりするんだけどね。
てなわけで、導入の記録。
説明書を読みながら
- 投稿用のメアド作成
- mail-entryをサーバの適当なディレクトリにアップロード
- 閲覧用画像ファイル置き場のディレクトリ作成
- 作業用ディレクトリ作成
- 設定プログラムで必要事項設定
- テスト投稿→mail-entry.cgiを動かしてみて(ブラウザでアクセスして)確認 ・文字だけ ・写真つき ・でかい写真つき(サムネイル作成チェック)
てな感じだったけど、ちっとだけひっかかりました。
- XREAのサーバのPOPを使うメアドにしたら[loginできないよ]エラー
→blogおいてるサーバのファイヤウォールが、サーバからのPOPアクセスを止めてるみたい。
→ファイヤウォール設定見直すよりも、手っ取り早くblogと同じサーバのPOPのメアドを作って解決
- 設定プログラムで、作業用ディレクトリを「mt.cgiのあるディレクトリからの相対パス」で指定したら「みつかりません」
→フルパスにして解決
で、今cronに登録して動いたのは確認できたので、メールから投稿してみます。 (そのうちcronはやめて標準入力からにするつもりだけど、いつになることやら)
XSS脆弱性が発見されたとのことで、MT3.33がリリースされてました。
ロリポップからも「アップデートしておくれ」てきてたし、ファイル9つ差し替えだけらしいので、アップデートしました。(ここはロリポップにおいてるわけぢゃないよ)
ダウンロードしたファイルを適当なとこに解凍してsixapartの09.26.2006 【重要】 Movable Type 新バージョンとパッチの提供についてってページにある9つのファイル
- /lib/MT.pm
- /lib/MT/App.pm
- /lib/MT/Log.pm
- /lib/MT/Sanitize.pm
- /lib/MT/App/CMS.pm
- /lib/MT/App/Search.pm
- /php/mt.php
- /php/lib/sanitize_lib.php
- /plugins/nofollow/nofollow.pl
だけのこしてあとは削除。
ffftpで、ディレクトリ3つアップロードしてしゅーりょー
MT 3.32jaがリリースされてたので、入れ替えてみました。
続きを読む »
MT 3.31-jaが出ていたので、いれてみた。
うちの場合たいして変化ないや。
エントリアーカイブがダイナミックパブリッシングできないのいたいなぁ
3.2にもどそかなぁ
Ver 3.3にしたら、エントリーアーカイブで、「コメントのついたエントリ」のリストが出なくなってた件
ダイナミックパブリッシングやめたら、ちゃんと表示された。
MySQLの反応が遅すぎるのかなぁ?
でも、クエリーがおかしいとかってエラーだったんだよな。
mtview.php のバグだったりしないかな?
まぁ、いいや。
ひとまずはこのまんまにしといて、ヒマできたら見直そうっと。
・・・あ、エントリアーカイブの再構築しないと、「最近のエントリリスト」が更新されないのね。
かといって、いちいち再構築してらんないし。う~んどーしよー。
軽いテンプレートに変えるのが正解かな。
なんか、WYSIWYGエディタ使えなくなったのがきいてるみたいなので、DB直接いじって
改行変換のとこにあった tinymceての全部消してみたら、月別アーカイブは一応表示されるようになったみたい。
でも、個別エントリの「最近のコメント」がコケてるのは、直んない。
つーか、ここはPlugin使ってないんだけどなぁ。
mixiとかblog検索とかで情報集めてるけど、コレってのみつかんないや。
やっぱテンプレート0から作り直しかなぁ。
MT 3.3が出た。 でライセンスも変わったので、早速いれてみた。
なんか、いろいろ変わってて、月別アーカイブとか、個別アーカイブとかちゃんと表示されないや。
MT2.66用テンプレートいじってるせい?
よくわからんままPluginいろいろいれてるせい?
データベースもアップデートとかでてたから、このまんま3.2に戻してもちゃんとうごかなそうだしなぁ。
またいろいろ入れなおさなくちゃなんないんかなぁ・・・
モブログ導入のため、ちょっと調べてみたら、あちこちで
セキュリティなどための、モブログ(メール投稿)専用のユーザを作るべき
みたいな記事を見かけるし、そうしてるって記事もみかけるのよね。
でも、うちではMovableTypeの「限定個人ライセンス(無償)」で使ってるのでユーザ数は1人までってなってるんだよね。
説明見ると、あくまでMovableType上に登録されるユーザ数なので、私しか投稿しなくても別名IDで投稿するなら、ユーザ数は1でなくなって、限定ライセンスじゃ使えないと思ったのさ。
ところがライセンスの事までかいてある記事ってみっかんなかったの。
有料ライセンスの説明には
個人ライセンスにおける複数ユーザーは、お客様が別名で投稿するためのものですが、家族・友人等が、利用許諾をされたお客様のブログに投稿することまでは制限をしておりません。
て、かいてあるんだから、本人が別名投稿(メール投稿用の別IDで投稿)するときも複数ユーザになるってことだよね。
てなわけで、とりあえずうちでは限定個人ライセンス(無償)のまんまで、メール投稿の際にもおんなじユーザ名で行くことにしました。
今日もひととおりエントリを見て、うまくインポートできなかったものを修正。
つぎに、ページ分割プラグインを入れて カテゴリアーカイブのテンプレート修正。
- ページ内のエントリ数を8にしていたのを無制限に(lastn=8"を削除)
- 分割用MTタグ追加
- ページナビ用タグ類を追加
一応ダイナミックパプリッシングも試したけど、やっぱしだめだね。
リビルドの時間がかかるようになっちった。
ついでに、日付アーカイブのテンプレートもlastn="8"を削除
月別アーカイブリストと同じように、「カテゴリアーカイブのエントリリスト」テンプレートを追加して、テンプレートのマッピングで、カテゴリアーカイブに追加。
さらに、カテゴリアーカイブテンプレートの The list of ***欄の一番下にリストへのリンクを追加。
カテゴリアーカイブのRecent Comments 欄にコメントのついていないエントリまで表示されてしまう件は、まだ不明のまま。
あ、あとスタイルシートいじって、ちと色だけ変えた。
今日はこんなとこかな?
こないだも書いたけどココログからの引越し先として自前のMovableType入れたわけですが、カスタマイズできるのはいいけど、とても面倒。
で、ちょっとづついじっていたら、おきごんどうさんのところもMT3.2にバージョンアップで苦労してるとのこと。
そんぢゃ、うちでいじったところを(まとめられないまでも)記録くらいしとこうかなと…
一応いまてでのところ箇条書き
- MTのインストールした(MySQL使用)
cgi-binに入れたので、mt-staticは別にした。
- ココログとWebNoteClip4用ともにMT用の形式でエクスポート→MTにインポートした。
WebNote ClipはMT形式のテンプレート作った。
- 3カラムのリキッドレイアウトテンプレート作ろうとして挫折。
ググりまくって小粋空間さんの公開しているMT3.2用テンプレートをもらってきた。
- もらってきたテンプレートをベースにしていらない部分けずって見栄えカスタマイズ。
- エントリーアーカイブができていないことがあるので、ググりまくってファイル名をかえることを学習。
コンパネの設定→公開→アーカイブ・マッピングでエントリー・アーカイブの出力フォーマットを
<MTEntryDate format="%Y/%m/%d_%H%M%S">.html
に変更
- 月別アーカイブのリストが長くなりすぎなので、インデックステンプレートに「月別アーカイブリスト」のテンプレートを追加。
サイドには12か月分+月別アーカイブリストへのリンクを表示するよう変更
- カテゴリアーカイブに入ると、サイドのカテゴリ一覧にサブカテゴリ以下しかでなくなるので、ググりまくってまたもや小粋空間さんのエントリを参考に修正
<MTSubCategories></MTSubCategories>
→<MTTopLevelCategories></MTTopLevelCategories>
- 携帯対応のためMT4iインストール
- リビルドに時間がかかるので、一部ダイナミックパブリッシング化するも失敗
コンパネの設定→公開→公開→再構築オプション で「 アーカイブのみダイナミック・パブリッシングで出力します」選んだだけ。
アーカイブにいくと真っ白画面になってしまうので元に戻す。
- MTユーザースマニュアルを読んで再度ダイナミックパブリッシングにチャレンジ
ひさびさにsshでサーバに入って、mod_rewrite使えるようにhttpd.conf 編集(つっても、#ひとつはずすだけ)
apache再起動したのち、 MTの設定を変えたらあっさり動いた。
- カテゴリアーカイブの「日記系」だけなぜか表示されないので、対策を考える。
他は平気なことから、このカテゴリだけエントリ数が多い(約500)のでSQLの反応が遅いためだろうと判断。
あっさりあきらめて、カテゴリアーカイブだけスタティックにもどす。
- ダイナミックパブリッシングの設定を「テンプレート別に、スタティックHTMLもしくはダイナミック・パブリッシングを選択します」に変更
- 直した上で、カテゴリアーカイブのテンプレートの再構築オプションをはずした。
- WebNoteClip →MT用データで、本文中にMT用データのセパレータがあったため、本文がちゃんと入っていないエントリがあったことが判明。
1エントリづつ確認して内容編集。
すげーつかれた。
こんなもんかな?
この後は、Mail-Entry導入と、ページ分割プラグイン導入(ページのPHP化)くらいでひと段落かな。
あ、ココログにおきっぱなしの写真もってこなくちゃ。
バイクの運行日誌を、WebNoteClipで別に作ってあるんだけど、これをここのblogにまとめちったら便利かな?ジャンル分けもできるわけだし。
・・と思って、早速MTの書き出し形式のテンプレート作って、ココログに読み込ませてみた。
結果・・・
1ネタごとならいいのかもしんないけど、トップなんかはうざったすぎ。あとRSSも。
まだ全部のタイトルが「日付:バイク:のべ走行距離」でそろってればいいんだろうけど、たまに出てくる単発ネタ(っつーか、元々このBlogに書いてあるネタ)がじゃまっけ。
結局全部消しちった。
500弱の記事消すのはめんどくさかったです。
ファイル作ってFTPでサーバにアップロードってのはめんどくさい。
MS FrontPageとか使ってると、書き上げたらワンタッチでアップロードしてくれるみたいだけど、こんど試してみようかな。
それでも、5252webみたいにブラウザから直接書きこんぢゃえるとこ使いなれてると、やっぱり面倒だと思う。
ベッコアメから、どこかCGIの使えるところへの乗り換えも考える今日このごろ。
でも、使えたら使えたで、また別の理由でめったに更新しなかったりするのも目に見えてる。