Sweetcron インストールから Cron ジョブ設定まで

Sweetcron スクリーンショット - Dashboard先日導入した Sweetcron のインストールと設定のメモ。
インストール自体は、日本語のガイドがあるので、そちらを参照すれば問題なく終了します。
ただ、さくらで使うには、若干注意が必要です。
インストール – Sweetcron Japanese Doc

テーマは、HEY. Like this Sweetcron theme? > Colin's Life を、ちょっと修正して使ってます。
また Sweetcron では、登録された RSS フィードを取得して一覧表示するのですが、プラグインと呼ばれる仕組みを使ってサイトごとに取得したデータを加工することができます。
Twitterのフィードを取得してきた際に以下の変更を行うように Plugin を修正しました。

  • 発言者の Twitter アイコンを表示する
  • Twitpic の URL があれば、投稿された写真のサムネイルを表示する

ダウンロードとインストール

  1. ダウンロードページから、最新の Sweetcron をダウンロードし、取得した zip ファイルを展開します。
  2. ルートフォルダの .htaccess を修正します。
    このとき、さくらのレンタルサーバでは .htaccess で Options ディレクティブが使用できないため、修正が必要になります。
    ちなみに私は以下のように修正しました。

    DirectoryIndex index.php index.html index.htm .ht
    #Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
    
    <Files ~ "^.ht">
    deny from all
    </Files>
    
    <Files ~ ".(html?|xml|rdf|js|css|min|gz)$">
    FileETag MTime Size
    </Files>
    
    <Files ~ ".(jpe?g|gif|png)$">
    FileETag none
    </Files>
  3. 続いて system/application/config/ フォルダ内に config.php と database.php を作成します。
    これらは、それぞれ config-sample.php, database-sample.php があるので、これをコピーして修正します。
    私の場合は、以下のようにしました。

    config.php (修正したところだけ)

    $config['base_url']     = "http://lifestream.dogmap.jp/";
    $config['cookie_prefix']      = "dogmap";
    $config['cookie_domain']      = "lifestream.dogmap.jp";

    database.php (修正したところだけ)

    $db['default']['hostname'] = "mysql***.db.sakura.ne.jp";
    $db['default']['username'] = "********";
    $db['default']['password'] = "********";
    $db['default']['database'] = "********";
    $db['default']['dbdriver'] = "mysql";
    $db['default']['dbprefix'] = "sc_";

    # さくらのレンタルサーバでは、DBは一つしか使えないので、$db['default']['dbprefix'] は設定しておいたほうが無難です。
    これで、下準備は完了です。

  4. 後は Sweetcron を設置した URL にアクセスするとインストールの説明が表示されます。

Feed の登録

管理パネルの「Feeds」で設定できます。
特に難しいところはありません。思いつくままに自分のフィードを登録していけば良いでしょう。

Cron ジョブの設定変更

Sweetcron スクリーンショット - Options一定間隔で登録されたRSSフィードからアイテムをインポートするには Pseudo Cron または True Cron で行います。
Pseudo Cron では、サイトにアクセスがあった際、30分間隔でRSSフィードからアイテムをインポートします。
これだと、サイトにアクセスが無いといつまでたってもインポートされないため、今回は True Cron にしました。
管理パネルの「Options」で設定できます。

True Cron に設定した場合、指定された URL にアクセスがあれば、RSSフィードからアイテムがインポートされます。
URLへのアクセスが契機になるため、以下のようなシェルスクリプトを書いて crontab に登録しました。

#!/bin/sh
FETCH_URL=http://lifestream.dogmap.jp/cron/fetch_items
FETCH_ID=********
WORK_DIR=/tmp

cd $WORK_DIR
/usr/local/bin/wget -q $FETCH_URL/$FETCH_ID > /dev/null 2>&1
rm $FETCH_ID

テーマ修正と twitter.com 用のプラグインのお話は、また次回。

2 thoughts on “Sweetcron インストールから Cron ジョブ設定まで

  1. ピンバック: BONNO

  2. ピンバック: LOVE!? » Lifestreamを2つほど

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください