CORESERVERでMovable Typeの日時指定投稿
前に以下の様にMovable Type(MT)の日時指定投稿の方法についていくつか記事を書いたことがあります。
その時はさくらインターネットのサーバを使っていたのでさくらインターネットを前提の記事を書きましたが現在このブログはVALUE-DOMAIN(バリュードメイン)のCORESERVER(コアサーバー)サービスのCORE-MINIプラン上で動かしているのでそれを前提に説明します。
今回改めて説明するのは、ずっと日付指定投稿を使ってなかったので設定していませんでしたが、今回出来るように設定を行ってちょっと問題もあったので前に書いた記事を補足するような意味合いです。
基本的には前に書いた記事と変わらないので変わっている部分のみを簡単に説明していきたいと思います。この記事だけで不明な点がある場合は前に書いた記事を読むと理解が深まるかも知れません。
- Movable Typeではrun-periodic-tasksをcronに登録して定期的に実行することで日時指定投稿を実現することが出来ますが、CORESERVERの場合はコマンドを直接登録するのではなくシェルスクリプトを登録する形式になっているので、あらかじめrun-periodic-tasksを動作させるためのシェルスクリプトを書いておきます。
スクリプトの説明をすると、cdコマンドで所謂mtディレクトリに移動しています。その後mtディレクトリ配下の./tools/run-periodic-tasksというperlスクリプトを実行しています。
run-periodic-tasks.sh - 次に1.で作成したシェルスクリプトをサーバにFTPでアップロードします。場所はどこでもかまいませんが、私は分かりやすくrun-periodic-tasksと同じ場所にアップロードしました。
つまりは、「/virtual/<あなたのID>/public_html/<MTを設置ディレクトリパス>/mt/tools」の中になります。 - アップロードしたrun-periodic-tasks.shをcronに登録します。
まず、VALUE-DOMEINのページに移動。
VALUE-DOMAIN - メニューから[ログイン/メニュー]をクリックしてログインページに進みます。
- IDとパスワードを入力して[ログイン]をクリックしてログインします。
- [CORESERVERアカウントの登録・管理・購入]をクリックして管理ページに移動します。
- 設定を変更するサーバの[サーバー設定]をクリックします。
- [入室]をクリック。
- 管理メニューからCRONジョブをクリックします。
- CRONジョブにアップロードしたシェルスクリプトを登録します。
下の設定だと毎時15分に
/virtual/あなたのID/public_html/ブログの設置パス/mt/tools/run-periodic-tasks.shをが実行されます。
- 忘れずに[保存]ボタンをクリックします。
#!/bin/sh
cd /virtual/<あなたのID>/public_html/<MTを設置ディレクトリパス>/mt
/usr/bin/perl ./tools/run-periodic-tasks 1> /dev/null 2>&1
exit
※「1> /dev/null 2>&1」を付けないとCORESERVERの場合Movable Type 4.35-jaで「Subroutine load_iter redefined at lib/MT/Object.pm line 862.」というエラーがメールで送られてきてしまうのでそれがウザったい場合は付ける。
これで実際にブログに記事を日時指定投稿してみて指定した日時以降にperiodic-tasks.shが動作した時に記事がブログに表示されればOKです。
タグ : CORESERVER, Movable Type, MT