MovableTypeのセッションタイムアウトはデフォルトで4時間になっている。これは、/lib/MT/Core.pm内で以下のように定義されているためです。

'UserSessionTimeout'    => { default => 60 * 60 * 4, },

ここを変更するとタイムアウト時間を変更できますが、mt-config.cgiに追加した方がよいでしょう。以下のようにします。例は20分に設定した場合です。

UserSessionTimeout 1200

 通常は個人でブログ管理者として利用するので、4時間というのでもよいかと思う。ただMTをCMSとして利用し複数ブログを使ってユーザ管理もしてなんて使い方をするには、Webアプリとしてセッションタイマ値が長い気もする。
で、試しにタイマを20秒に設定して管理画面にログインしてみた。適当に触っていると、途中でログイン画面に戻ってしまった。これはログインから20秒後にセッションが切れたようだ。操作してもセッションタイマが更新されない??なぜでしょ。。別環境で試してもやはり同じ。調べてみたがわからないので、わかり次第書こうと思う。

 



管理画面へアクセスするファイル名はデフォルトでmt.cgiとなっており、不正なアクセスを受ける可能性があります。mt.cgiをリネームしてセキュリティを高めましょう。

【ファイル名変更手順】
1.すでにサーバにアップロードされているmt.cgiを変更したい名称にします。
  ここでは、例としてtest_mt_admin.cgiとします。
2.mt-config.cgiをテキストエディタなどで開き、以下の記述を追加します。
 

AdminScript test_mt_admin.cgi

 
以上で変更したファイル名で管理画面へログインできるようになります。

 

MovableTypeでトップページに10件記事を表示していて、例えば上から3つだけGoogle Adsenseを表示する方法を紹介します。MT4.1以降の方法になります。

1.MTの管理画面でデザイン→インデックステンプレートのメインページをクリックします。
2.テンプレート内の<$mt:Include module="ブログ記事の概要"$>の下に以下を貼り付けます。
 

<MTSetVar name="cnt" value="1" op="+">
<MTIf name="cnt" lt="4">
ここに表示したいものを入れます Google Adsenseなど
</MTIf>

 

3.保存と再構築ボタンをクリックします。
これでトップページを表示すると反映されます。

モディファイア lt="num" は、MTSetVarファンクションタグに設定された変数(ここではcnt)がnum よりも小さい場合にのみ実行します。
逆に、num よりも大きい場合にのみ実行するには、gt を使います。

MT4にはアイテム機能があり、デフォルトでサイドバーに表示されますが画像をクリックしても元の画像が表示されてしまいます。クリックしたらブログ記事が表示されるようにする方法です。

いくつかプラグインもありますが、エントリ中の顔文字画像まで引っ張ってきたり、元の画像サイズがばらばらだとサムネイル画像がきれいにそろわないなどあり、断念。顔文字を省くなどはプラグインの設定でできるものもありましたが。。
ここではプラグインは使用せずMTタグのみで行う方法を紹介します。
表示したいテンプレートに以下を記述します。
 

<MTEntries lastn="10">
<MTEntryAssets type="image">
<li><a href="<$MTEntryPermalink$>" title="<$MTEntryTitle$>" >
<img src="<$MTAssetThumbnailURL height="70"$>" title="<$MTEntryTitle$>" alt="<$MTEntryTitle$>" /></a></li>
</MTEntryAssets>
</MTEntries>

 
複数ブログから取得したい場合は、<MTEntries lastn="10">の部分を以下のようにすれば取得できます。
 

<MTEntries lastn="10" include_blogs="all">

 

若干問題があります。lastn="10"だと最新10件の中にある画像を取得します。10件中3件しか画像がなければ表示される画像も3つになります。
ここはそのうち対応しようと思います。

MTの指定日投稿を行うには、いろいろ方法がありますが、ここではエックスサーバー(XServer)でcronを使って行う方法を紹介します。

【設定手順】
1.サーバ上のMTインストールフォルダにtoolsフォルダがあります。その中の「run-periodic-tasks」の属性を「755」に変更します。
2.Xserverのサーバパネル画面にある「cron設定」をクリックします。
3.Cron設定画面で、「CRONの追加」をクリックして、例えば、毎日23:00に投稿したい場合、以下のように設定します。
 

xservercron.png


4.コマンドのボックスに以下のように入力しCRONの追加ボタンをクリックします。
 

cd /home/サーバーID/独自ドメイン名/public_html/mt/; ./tools/run-periodic-tasks

 

上記mtはmtのインストールフォルダ名をご利用の環境にあわせて指定してください。

5.CRONの追加ボタンをクリックすると、「以下のCronを追加しますか?」と表示されますので、問題なければCRONの追加ボタンを再度クリックします。

6.ブログ記事作成画面で、右のほうにある「公開状態」のプルダウンを「日時指定」にして、その下の公開日に公開したい日時を設定し、投稿します。

これで23時に予約投稿された記事があれば公開されます。

MT4でWYSIWYGエディターを入れてみました。デフォルトのリッチテキストエディタでは文字色の変更ができませんが、これで簡単にできます。
プラグインは、FCKeditorを使います。 

【インストール手順】

1.FCKeditorプラグインをダウンロードしてきます。
2.解凍してできる、mt-staticとpluguinsフォルダをそれぞれアップロードします。
3.mt-config.cgiの最終行に以下の記述を追記しアップロードします。(追加する場所は任意)

RichTextEditor FCKeditor

  

fckeditor.png


本文入力中、Enterキーを押すと<p>タグが入ります。<br />タグを入れるにはshiftキーを押しながらEnterキーを押します。

Movable Type4.22Pro導入

当ブログはXServerでMT4.01を使っていましたが、MT4.22がでているということでアップグレードしてみました。MTOSも考えましたが、コミュニティソリューション(MTCS)が使いたいためMT4.22Proを選択。個人利用であれば、MTCSも利用可能です。MTCSを是非にMTOSで利用できるようにしてほしいです。

試しにMTOSに、Proの/mt/addonsフォルダをコピーしたところMTOSでアップデート処理が行われてコミュニティ機能が使えるようになりました。ただライセンスの問題があるのかは不明です。

あとエックスサーバでMTOSを使うなら自動インストール機能があります。ファイルをわざわざアッププロードしなくてすみます。初心者向けには良いサービスですね。

MT4.22への移行方法は、MT4.01でバックアップを取り、MT4.22で復元をしてみたところエラー発生。。バージョンが違うためできないらしいです。ということで大して記事もなかったので手動で移行。

MTCSの機能もいろいろ試してみようと思います。

Movable Typeで関連記事を表示するプラグインを入れてみました。
導入したプラグインは、TagSupplementalsプラグインです。
これは同じタグからデータを取得して関連記事が5件表示されます。

【プラグイン導入方法】
1.上記サイトから「MT4専用」と書かれたzipファイルをダウンロードします。
2.zipを解凍してできるTagSupplementals.pl をpluginsフォルダに入れます。
3.管理画面のデザイン→テンプレート→アーカイブテンプレートのブログ記事をクリック。
4.トラックバックの上辺りに表示するのであれば、テンプレートの中に<$mt:Include module="トラックバック"$>という記述があります。これの上あたりに以下のコードを入れて、保存と再構築をクリックします。
以上で関連記事が表示されるようになります。

<ul>
<MTRelatedEntries lastn="5">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTRelatedEntries>
</ul>

PHPでグラフを表示させるには、JpGraphやPHPlotがあります。
商用で利用するには、PHPlotを選択することになりますが、標準では日本語が使えません。

日本語フォントを使うには、以下のようにします。
なお環境は、CentOS5にXAMPPを入れてます。

VMware仮想ディスクの拡張

VMwareにCentOS5をインストールしてみたものの、ディスク容量は約8GBで作成されているため
残容量があまりありません。上記サイトで分かりやすく書かれていますので、
そのままやればできてしまいます。
ただ一番はじめに、vmware-vdiskmanager.exe を手に入れなければなりません。
VMwareにはないので、VMServerをダウンロードしてインストールする必要があります。
このとき、VMwareをアンインストールしてからでないとインストールできません。

ちなみに、vmware-vdiskmanager.exe単体で動作するので、別フォルダにコピーしておいて
VMServerを削除してからVMwareを入れてもvmware-vdiskmanager.exeは動作します。

これでディスクの拡張ができます。
ためしに20GBに拡張したところ、使ってほどなくするとホストOSのCPUが100%に張り付いて
しまいました。
10GBに拡張した場合は、問題なく動いてます。マシンスペックにもよるのでしょうけど。