MTの予約投稿を外部サーバーから操作するマルチトリガー
「マルチトリガー」という「まとめ起動ツール」を一般公開しました。
マルチトリガー公式サイト
サーバーのCRON設定のわずらわしさから解放してくれるツールです。
まずは、ユーザーさんの声をお聞きください。
----------
これは・・・!
自分が欲しかったツールそのものですね!
アフィリエイト塾 B.A.S 小林文祐
是安さん、またまたものすごくいいものを作ってくれましたね!
自分は「七変化」のときからの是安さんのツールのファンですが、ここまで
便利なものを作ってくれるとは!
MTの予約投稿は昔から厄介でした。MTツールをインストールしてその中の
予約投稿用のファイルを探して、そのファイルにCRONの設定をして・・・
ここまでやったらゲンナリでした。しかもそれを全部のMTで行っていかな
ければいけないのですから。
自分はそれでも30くらいのレンタルサーバーで一つ一つやっていましたが、
このときの作業量は普通にサイトを作る作業よりも多く、面倒くさいこと
この上なしです。
でも、今では違います!
この是安さんのツール「マルチトリガー」を使用すればその作業から一気に
解放されます!
特に優れているのが、
「レンタルサーバーのCRON設定を使用することなく動かせる」
ということです。正確には、1回だけ動かせばあとは何十と動かせるように
なります。CRONの設定は非常に初心者には面倒です。フルパスで書かなけ
ればいけないし、その部分を動くように設定しなければいけない。
その点、この「マルチトリガー」では、そういった面倒な部分を単純な作業
を行うだけですぐに予約投稿が可能になる優れものです!
自分はこのMTへの予約投稿以外にも、自分が運営する塾の会員専用ツールの
稼動にも使っています。
いや~、これがないと自分の作業は全てがストップしてしまいます。
MovableTypeの指定日投稿スクリプトをCGIアプリに改造する
クリックで投稿スクリプト起動させるためには、MovableTypeの指定日投稿スクリプトをあらかじめCGIアプリに改造しておくことが必要です。
指定日投稿スクリプトに
・コンテントヘッダー出力
・表示情報の出力
のコマンドを追加することでCGIアプリに改造できます。
以下はPerlスクリプトに追加する行です。
・コンテントヘッダー出力部分
print "Content-type: text/html\n\n";
・表示情報の出力部分
print "OK";
「表示情報の出力」は必須ではありませんが、ブラウザで操作したときに、画面が空白では何が起こったかわからないので、「状態モニタ」の意味で出力しておくといいと思います。
改造前の指定日投稿スクリプトは
MT設置フォルダ/tools/run-periodic-tasks
です。
これを
MT設置フォルダ/tools/run-periodic-tasks.cgi
というファイル名で保存してください。
パーミッションは755にします。(サーバーによっては705等)
MovableType(MT)の指定日投稿を遠隔操作
ひとつは「指定日投稿」、もうひとつは、「外部投稿ツールで予約しておく」方法です。
ここでは、指定日投稿について書きます。
★MTを設置したのとは別の外部サーバーから「遠隔操作」する方法です。
記事エントリの公開設定が指定日投稿になっている場合、予定の日が到来した時に公開されるためには、MT内部の投稿プログラムが動作する必要があります。
run-periodic-tasks
というスクリプトです。(場所は、MT設置フォルダ/tools/ )
通常、このスクリプトをCRONジョブから起動して運用していると思います。
ところで、このスクリプトをCGIプログラムとして動作させることができるのをご存知ですか?CGIプログラムであれば、ウエブページをリクエストする動作によって起動することができます。
任意のHTMLページ中に<img src="CGIプログラム名">というタグを書いておけば、ネットのページ訪問者がアクセスした時に起動されますし、別の外部サーバーのCRONジョブに記述して起動させてもいいわけです。
この方式の利点として・・・
【1】CRONジョブが使えないレンタルサーバーで指定日投稿ができる
【2】外部から起動できるので、多数のMTサイトをまとめて管理できる
などがあります。
では、run-periodic-tasks をCGIとして動作させる方法とは?
( 続く )