2005年01月30日
mt-search.cgi vs Namazu mknmz cron ジョブ
Movable Type デフォルトのサイト内検索 Search は、とても簡便なのでよく利用されているようです。しかし、search_templates ディレクトリにある検索テンプレート comments.tmpl, default.tmpl を独自に変更した私の場合、Movable Type の(マイナー)バージョンアップの作業が増えるにつれて、MT の "夾雑物" 的存在となりました ( しかも、もともと高機能ではありませんし)。
よって、高速な全文検索システム 「Namazu」 のパワーを借りることにしました。以下は、MTで利用する際の tips です。
なお、必ずエントリーの最下段 [重要なお知らせ] をご一読下さい。また、ダイナミックページ, html 以外のページ形式 はアクセスできないようです。
(1) ホームディレクトリのトップ内にディレクトリ namazu, namazu内にファイル namazu.cgi および make_index.sh が存在することを確認します。ファイルを誤って削除した場合、ディレクトリのみ作成します。
(2) Movable Type 用のオリジナル(独自)ドメイン内に namazu.cgi のコピーを設置するディレクトリを作成します。
(3) 上記(2)のディレクトリ内に自動生成される設定ファイル .namazurc がブラウザでアクセスされないように .htaccess ファイルをアップロードします。
http://www.namazu.org/FAQ.html.ja#dot-namazurc
(4) 日本語全文検索システム Namazu は、Xrea.com さんのサーバ内 /usr/local/libexec/ にデフォルトでインストールされていますので、導入法
http://sb.xrea.com/showthread.php?t=4267&goto=nextnewest">
を実行します (インデックス用ディレクトリ namazu は、ブラウザではアクセスできないホームディレクトリのトップに作成されますので、比較的安全です)。
(4) インデックス作成 mknmz を cron ジョブで実行し、インデックスファイルを定時的に更新できるように、スクリプトを作成し、管理ページで設定します ( cron ジョブの設定法については、当ブログ内の関連エントリーをご覧下さい)。
(例: cron ジョブ用スクリプト名 cron123.sh )
ユーザーID: user-id
オリジナルドメイン名: example.com
Namazu インデックスの対象:
アーカイブ archives ディレクトリ内のファイルで、文書形式 text/html に限る。
ブログページからリンクする namazu.cgi の設置ディレクトリ:
http://www.example.com/archives/search/ (注: ホームディレクトリのトップにあるディレクトリ namazu ではありません)。
#!/bin/sh
cd /virtual/user-id/public_html/www.example.com/archives/search/
cp -uf /usr/local/libexec/namazu.cgi ./;chmod 700 *.cgi;
cd /virtual/user-id/namazu/
/usr/local/bin/mknmz -V --media-type='text/html' --indexing-lang=ja /virtual/user-id/public_html/www.example.com/archives/ > /virtual/user-id/namazu/make_index.log
rm -f /virtual/user-id/namazu/namazu.cgi;cp -uf /usr/local/libexec/namazu.cgi /virtual/user-id/namazu/;chmod 700 *.cgi;
echo update!
exit
(注:)2つのディレクトリに namazu.cgi をコピー cp -オプションuf するコマンドは、Namazu のバージョンアップに対応したものです。もし、アーカイブページが多く、インデックス生成のタスクに時間がかかるようであれば、コマンド cp を含む行をコメントアウトする (ないし、mknmzによるファイル更新をサーバ負荷のできるだけ少ない時刻に設定する) などの変更をおすすめします。
(5) namazu.cgi のコピーが自動生成されたディレクトリ (2) 内の make_index.cgi を削除します。cgi 属性の変更は無効ですので、リネーム.cgi では危険です。
(6) [MT]/mt-search.cgi の属性を 600 に変更し、使用停止とします。
(7) MT テンプレート メインページの「サイト内の検索」フォームを namazu.cgiのコピー(2) へのリンクに変更します。
(例) http://www.example.com/archives/search/namazu.cgi
(8) ホームディレクトリのトップディレクトリ namazu 内の NMZ.head.ja NMZ.foot.ja などを適宜編集します。
[重要なお知らせ] 2005/1/30現在, Xrea.com さんのサーバで稼働中の Namazu は Version 2.0.13 であり、
cross-site scripting 脆弱性
の問題があります。よって、Xrea.com さんのサポート宛て、バージョンアップ (2.0.14) を依頼するとともに、一時的に従来の検索システムにて運用します。
[回答 1 Feb 2005 01:44:31 +0900] 「バージョンアップを行いますと、古いバージョンのバイナリ: namazu.cgi がライブラリの関係で動作しなくなることが確認できているため」、アナウンス後、更新を検討中とのことです。
投稿者 mvtp : 14:06 | コメント (0) | トラックバック
2005年01月05日
cron ジョブ と デーモン
· cron ジョブについて
2005/1/3 現在, Xrea.com さんの サーバ s102, s104 は、cron ジョブが停止しているようです。
自宅サーバ機であれば、サーバ上で cron ジョブ ( 各ユーザが crontab を使う ) などのプロセスがデーモンとしてバックグラウンドで実行されているか ?
コマンド ps ps aux | grep "ジョブ名" [PATH]/crontab -l (例 /usr/bin/crontab -l)
などで確認できます。しかし、一般的なレンタルサーバでは、確認用のコマンドを利用できないことが多いので、何らかの理由で サーバが一部のプロセスを停止しているか? 現在サポート様へ問合わせ中です。
[追記 2005/1/12] s106サーバ では、cron ジョブは正常作動しています。広告免除サービス (免除権) をサーバ間で移動した場合であっても、cron ジョブの反映まで数時間かかります。 因みに、ディスク容量表示の反映まで24時間程度かかります。
[追記 2005/1/17] s107サーバ: cron ジョブは正常作動しています。
[追記 2005/1/24] s111サーバ: cron ジョブは正常作動しています。
[追記 2005/2/1] s112サーバ: cron ジョブは正常作動しています。
なお、(s100 以降の) s101, s103, s105 サーバ の cron ジョブは、未確認です。
バイナリーファイルのインストール、データーベースなどの設定前に (特に、Movable Type 管理者の方で、予約投稿を予定されている場合)、ご契約サーバの crontab 作動状態の確認をおすすめいたします。
[追記] crontab (cron ジョブ) のみをローカルネットワーク上の別サーバで作動させることが可能のようです。( s102 サーバについては、ユーザー個別に) 別サーバで設定していただきました。
[追記 2005/2/23] s114サーバ: cron ジョブは正常作動しています。
[追記 2005/3/30] s139サーバ: cron ジョブは正常作動しています。
投稿者 mvtp : 10:11 | コメント (0) | トラックバック
2004年10月13日
cron ジョブを利用し Movable Type3.11 英語版を日本語化するスクリプト
cron ジョブを利用し、Ogawa::MemorandaさんのUNIX汎用パッチによりMovable Type3.11英語版を日本語化するスクリプトです。Xrea.comさんのサーバー上では、本スクリプトを編集せず使用できます。shell利用可能な UNIX (Linuxを含む)系のレンタルサーバでは、スクリプトの一部を編集し、備忘録 (メモ) としてご利用下さい。
ダウンロード用スクリプト⇒ cron311_sh 3KB 使用時の拡張子は sh です。
このファイルは Movable Type 3.11日本語 (正式版) のリリース以降は、不要です。テキストエディターでファイルを開いて、解説文を再読して下さい。
# Unix系 (Linuxを含む) サーバ上で、Movable Type 3.11英語版を日本語化するスクリプトです。
# Xrea.comさんのサーバでは、cron ジョブを利用します(SSHでは一部のコマンドは使用できませんし、利用違反となります)。
# Xrea.comさんのサーバーでは、本スクリプトの編集不要です。
# ftpにてホームディレクトリのトップ (ルート / で表示されるディレクトリで、public_htmlの1つ上位) に (1) MT-3[1].11.tar.gz (2) MT-3[1].01D-full-lib-ja.tar.gz (3) MT-3.11-en_us-jpatch02.diff (4) cron311.sh (このファイル) をupload して下さい。それぞれ、
# (1) http://www.movabletype.org/
# (2) http://www.movabletype.jp/
# (3) http://as-is.net/blog/archives/000906.html
# からダウンロードできます。UNIX汎用日本語化パッチは Ogawa::Memorandaさんのホームページから MT-3.11-en_us-jpatch02.zip をダウンロード後、解凍して下さい。
# 日本語化パッチ, cron311.sh は、ASCIIでアップロードして下さい。
# cron311.sh を編集した場合、必ず、改行コード LF エンコード EUC として保存して下さい。
# ftp アップロード後、cron311.sh のファイル属性を 705 に変更して下さい。
# cron ジョブを設定して下さい(1回のみ)。できるだけサーバー負荷のない時間帯に行って下さい。
# サーバからメール通知があれば、作業完了していますので、public_html/mt311en_patch を編集して下さい。ディレクトリ名 mt311en_patch、各ファイルの属性を変更して下さい。
# セキュリティ上、public_html/mt311en_patch/mt-load.cgi は実行できないファイル属性としてありますので、属性を 700 に変更後インストール作業を行って下さい。
# このスクリプトの利用に際して、事前に重要なファイル、データを必ずバックアップし、自己責任でご使用下さい。
# shellscript : http://shellscript.biz/
# manual, patch, resource: http://as-is.net/blog/archives/000906.html
# 日本語化パッチの利用方法などについては Ogawa::Memorandaさんの上記ブログページをご覧下さい。
投稿者 mvtp : 19:15 | コメント (0) | トラックバック
2004年09月06日
予約投稿とcron ジョブ(シェルスクリプト)
Movable Type 3.11の新機能「予約投稿」は、サーバーのcron job で時間等を設定します。
Xrea comさんのサーバーでは、run-periodic-tasksのファイル属性は 700 で作動します。
エントリの投稿は通常どおり行い、【指定日】を選択し、保存します。
ブログページ上には、【作成日時】が表示されます(cron jobの予約時刻ではありません)。
作成日時が予約時刻より未来であると、ページ表示されません。
Movable Type 3.11英語版(Bugs fixed 09.03.2004) または、
2004年10月19日以降、シックス・アパート社「Movable Type 3.1日本語版」
Create ⇒ New Entry ⇒ 投稿の状態 Post Status【指定日 Future】⇒ 保存 Save
シェルスクリプトは以下のように作成します。
例)ユーザー名 "me" / mt.cgiのディレクトリ名 "mt"
スクリプト名 cron1.sh (サーバー仕様は cron2.sh, cron3.sh など3つのshellscriptを同時登録できます。2004年後半、計5つに増設 )
#!/bin/sh
cd /virtual/me/public_html/mt/
/usr/bin/perl ./tools/run-periodic-tasks
echo Future: MT3.11 run-periodic-tasks
echo
exit
以上
ダウンロード用スクリプト⇒ cron489_sh 2KB 使用時の拡張子は sh です。
このファイルは Movable Type 3.11英語版(ないし、日本語版) 用です。
cd /virtual/me/public_html/mt/ のPATHは必ず変更して下さい。カレントディレクトリは必ずmt.cgiのあるMovable Typeベーシックディレクトリです。
(他のディレクトリではライブラリが使用できません)
echo はサーバの自動送信メールにより正常稼動を確認する目的だけです。
# Movable Type 3.11新機能「予約投稿」のためのスクリプトです。
# シェルコマンドを実行する際、カレントディレクトリを mt.cgi のあるディレクトリに移動する必要があります。
# Xrea.com さんのサーバでは、次行の /me/public_html/mt/ のみ変更して下さい。
# me はユーザー名(ID) です。mt は mt.cgi を含むベーシックディレクトリの名称です。
# Xrea.com さんのサーバでは、run-periodic-tasksのファイル属性は 700 で作動します。
# 他社サーバでは、perlのPATHなどもご確認下さい。
# echo の行は メールで登録メールアドレスに通知されるメッセージです。
# 本スクリプトを編集したとき、改行コード LF エンコード種類 EUC で保存し、FTP ASCIIでアップロードして下さい。
# アップロード先は、ホームディレクトリのトップ (FTP では ルート /で表示されるディレクトリ内)です。
# アップロード後、ファイル属性を 705 に変更して下さい。
# スクリプトの実行等は、すべて自己責任で行って下さい。
また、Xrea.com さんの cron ジョブの設定方法、shellscriptのアップロード先は、
http://shellscript.biz/archives/000018.html
などをご覧下さい。
投稿者 mvtp : 13:36 | コメント (0) | トラックバック
2004年08月18日
cron ジョブの設定方法とシェルスクリプト(サンプル)
Movable Type 3.11の新機能「予約投稿」を Xrea.comさんのサーバー上【cron ジョブ】で設定する方法
⇒ http://shellscript.biz/archives/000021.html
をご覧下さい。
【mysql.dump, pgsql.dumpのtar.gz圧縮保存】
■ 目的
⇒ データーベースをtar.gz圧縮ファイルで保存します。
ユーザーID: (例)me
■ Xrea.com さんのサーバー管理メニューページへSSL接続します。
https://ss1.xrea.com/www.s**.xrea.com/jp/admin.cgi
■ cronの実行時間(サーバー負荷の少ない時間帯を選択)
毎日午前3時00分に/virtual/me/cron1.shを実行する
0 3 * * * cron1.sh
■ cron1.sh (必ず,改行コードは LF, ASCII転送, ファイル属性 705)
#!/bin/sh
cd /virtual/me/
cp mysql.dump db_bkup
cp pgsql.dump db_bkup
tar cfz db_dump.tar.gz ./db_bkup
アップロード先:ホームディレクトリーのトップ(ルート)です。
FTPでは "/" の位置です(public_htmlの1つ上位)。
準備すること
○ディレクトリー作成 /virtual/db_bkup (chmod 705)
○MySQL/PostgreSQLデータベース
Xrea.com さんのサーバー管理メニューページの「データーベース」から【保存】をクリック
注 意
データーベースのダンプファイル **.dump が必要です。
注 無料ウェブアカウント取得後、広告免除権を購入すると、cron ジョブが使用できるようになります。
http://sb.xrea.com/showthread.php?t=6529
「有料広告免除サービスでCRONTABに対応致します。」
投稿者 mvtp : 21:53 | コメント (0) | トラックバック