先日導入した Sweetcron のインストールと設定のメモ。
インストール自体は、日本語のガイドがあるので、そちらを参照すれば問題なく終了します。
ただ、さくらで使うには、若干注意が必要です。
インストール – Sweetcron Japanese Doc
テーマは、HEY. Like this Sweetcron theme? > Colin's Life を、ちょっと修正して使ってます。
また Sweetcron では、登録された RSS フィードを取得して一覧表示するのですが、プラグインと呼ばれる仕組みを使ってサイトごとに取得したデータを加工することができます。
Twitterのフィードを取得してきた際に以下の変更を行うように Plugin を修正しました。
- 発言者の Twitter アイコンを表示する
- Twitpic の URL があれば、投稿された写真のサムネイルを表示する
ダウンロードとインストール
- ダウンロードページから、最新の Sweetcron をダウンロードし、取得した zip ファイルを展開します。
- ルートフォルダの .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>
- 続いて 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'] は設定しておいたほうが無難です。
これで、下準備は完了です。 - 後は Sweetcron を設置した URL にアクセスするとインストールの説明が表示されます。
Feed の登録
管理パネルの「Feeds」で設定できます。
特に難しいところはありません。思いつくままに自分のフィードを登録していけば良いでしょう。
Cron ジョブの設定変更
一定間隔で登録された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 用のプラグインのお話は、また次回。
ピンバック: BONNO
ピンバック: LOVE!? » Lifestreamを2つほど