MTキャプチャー(CAPTCHA)認証でまた失敗

()

新しいサイトを構築するにあたり、

ロリポップにMTをインストールしたわけだけれど、

今回はインストールディレクトリを変更してやってみた。

 

というのは、前職の会社ではcgiファイル専用のディレクトリがサーバー上にあり、

mt-staticとは別にしなくてはならない環境だったからで、

なんか気分的にそのフォルダ別々のやり方で今回はやってみようと思った。

 

アプリケーション系ファイルのパス

直下/cgi/mt/

 

スタティックファイルのパス

直下/mt-static

 

今回はウェブページにコメント欄を追加して、それをお問合せフォーム代わりに使えばキャプチャー認証も簡単に使えるし、迷惑メール防止に繋がると思い、やってみた。が、

 

エラーが出る。機能しない。認証の選択できない。

 

CAPTCHAプロバイダがありません。Image::Magickがインストールされているか、またCaptchaSourceImageBaseが正 しく設定されていてmt-static/images/captcha-sourceにアクセスできるか確認してください。

 

↑こんなエラーメッセージ

 

mt-check.cgiにアクセスしたら、ちゃんとImage:Magicはインストールされていますと表示されている。

 

焦る。

 

調べる。

 

よかった。同じ問題に遭遇し、解決策見出している方がいらっしゃった。

 

http://www.taskmother.jp/mtplugin/post_49.html

 

 以前、サブドメインでブログ立てるときは、mt-configファイルのパスの記述を絶対パスで書かなきゃいけないと書いたけれど、それとほとんど同じ。

 

mt-staticとそれ以外を別々のフォルダへインストールした場合、

 

CaptchaSourceImageBase /home/各人のパス/mt-static/images/captcha-source

(絶対パスでも可)

 

という感じの記述をmt-configファイルに追加しなくてはならない。

 

あー助かったと思い、再構築してみる。

 

エラーは消えた。

 

けど、認証の画像が出てこない

 

なぜ?

 

調べたら、これまた同じような状態に陥っている方がいらっしゃったけど、

内容が専門的すぎて、ついていけない。

http://blog.studio-fu.com/archives/2007/10/perlcryptdhmt4captcha.php

 

もうだめかと思ったけど、試しに新しいブログを立ててみて、やってみたら、そっちでは普通に画像が表示されていた

 

何これ。落ち着いて考えてみる。わかった。

 

ヘッダーのメタ情報などはまとめてグローバルテンプレートにグローバルヘッダーと題してまとめていて、

今回そこにMTでデフォルトで入っている、

<script type="text/javascript" src="<$mt:Link template="javascript"$>"></script>

という記述をうっかり入れ忘れていた。

 

つまり、MT側でもともと用意されているJavascriptが作動しないようになってしまっていただけでした。

 

やっぱり凡ミス。

 

mtのインストールは一つのフォルダにまとめてしておいたほうが無難なようですね。


7/19 追記

どうやらコメントプレビューにCAPTCHAが出てこない事実が判明。

現在原因解明中。

戦意

© 2012 戦意