2006年01月08日
VALUE DOMAIN-DNS cnameレコードによるTypePad-ドメイン・マッピング
Xrea.comさんのサーバを含むドメイン総合サービス「VALUE DOMAIN」
» https://www.value-domain.com/index.php
のネームサーバで独自(オリジナル)ドメインを運用し、
Six Apart - TypePad(シックス・アパート株式会社 タイプパッド)
» http://www.sixapart.jp/typepad/
にドメイン・マッピングするとき、DNS変更のポイントをお知らせいたします。マッピング済みドメインを有効にする方法は、TypePadさんのヘルプ情報等でご確認ください。
【ドメイン名・サブドメイン(ホスト)名の例】
オリジナルドメイン example.com
TypePad登録ドメイン ***.typepad.jp
ドメイン・マッピング前(および後)のURL http://***.typepad.jp/abc/
ドメイン・マッピング後のURL http://www.example.com/
VALUE-DOMAIN.COM(バリュードメイン) さんのDNS設定を変更します。
DNS「設定フィールド」に下記の CNAME (Canonical NAME 別名レコード) レコードを1行追加するだけです。
cname www ***.typepad.jp.
【設定上の注意事項】
[1] typepad.jpの末尾にドット.を付けないと、ホスト名とみなされ、***.typepad.jp.example.com と誤って設定したことになります。
[2] ホスト名(または、サブドメイン 例 www )なしの設定はできないようです。TypePad側 (「推奨カスタムDNS設定」が表示されます) の制限により、ドメイン・マッピング後のURL http://example.com/ とはならないようです。
サブドメイン(ホスト)があってもドメイン・マッピング設定は可能です。
「blog.example.comのようなサブドメインをマップできるの?」
» http://help.typepad.jp/faq/cat64188/index.html#a0000640368
[3] ネームサーバーはVALUE-DOMAINさん独自の「NS1.VALUE-DOMAIN.COM」 「NS2.VALUE-DOMAIN.COM」 「NS3.VALUE-DOMAIN.COM」であることを確認して下さい。ときに、ネームサーバー dns1(2,3,4,5).name-services.com.を利用していることがあり、本ネームサーバでは cname設定は反映しません。
Your NS records at the parent servers are:
» www.DNSreport.com
ns3.value-domain.com. [59.106.14.70 (NO GLUE)] [JP] ns2.value-domain.com. [210.153.116.18 (NO GLUE)] [JP] ns1.value-domain.com. [202.229.187.26 (NO GLUE)] [JP]
であれば、上記設定は、比較的短時間で反映されます。DNS設定変更直後に、www.DNSreport.com での確認も可能です。
dns5.name-services.com. [212.118.243.118 (NO GLUE)] [UK] dns4.name-services.com. [64.74.96.242 (NO GLUE)] [US] dns3.name-services.com. [63.251.92.193 (NO GLUE)] [US] dns2.name-services.com. [216.52.184.230 (NO GLUE)] [US] dns1.name-services.com. [69.25.142.1 (NO GLUE)] [US]
であれば、
DNS情報変更(example.com) ドメインのDNS情報を変更します。 設定フィールド
下段の
VALUE-DOMAIN独自のDNS機能で、同等の設定内容を表示するにはここをクリックしてください。
をクリックして、ネームサーバー「NS1(2,3).VALUE-DOMAIN.COM」用の設定内容をテキストエディターにコピー後、ネームサーバー変更をおすすめいたします。
投稿者 mvtp : 22:07 | コメント (0) | トラックバック
2005年10月02日
Movable Type Version 3.2-ja, 3.2-en_USと不正な ScriptURI
エントリー「問題解決:MT 3.17と AdminCGIPath https+複数パス」
» http://shellscript.biz/archives/000062.html
エントリー「MT 3.17の問題点:AdminCGIPath, SSLサーバ( https プロトコル)」
» http://shellscript.biz/archives/000061.html
においても指摘いたしましたが、
[MT]/lib/MT/App.pm のサブルーチンおいて、Movable Typeの ScriptURI, StaticURI などが決定します。しかし、(たぶん)環境変数を多用した条件文が採用されているため、サーバ環境によっては、不正な ScriptURIとなることがあります。
Xrea.com さんのサーバでは、Movable Type 3.17-ja, 3.17(3.16)-en_US からこの問題が発生しています。このバージョンでは、https, AdminCGIPath などを利用する一部のユーザーだけの問題でした。
問題解決
以下の問題点はサーバーの「広告免除権」を購入して、環境変数が
SERVER_PROTOCOL = HTTP/1.1
となれば解決します。
Movable Type Version 3.2-ja, 3.2-en_US では、MTのインストール、アップグレードともに不能となる深刻な問題となっています。
具体例として[ドメイン名 "example.com"、[MT]ディレクトリー "mt"]、
http://www.example.com/mt/index.html
にアクセスすると、インストールを開始する画面に変わりますが、
http://www.example.com/mt/mt-upgrade.cgi?__mode=install
ブログを始める前に、データベースを初期化してインストール作業を完了する必要があります。
Version 3.2-ja Copyright c 2001-2005 Six Apart. All Rights Reserved.
ボタン【インストール続行】をクリックすると、エラー表示となります。
アドレス included://www.example.com/mt/mt-upgrade.cgi無効な構文エラー
前ページのソースを表示すると、
ScriptURI = 'included://www.example.com/mt/mt-upgrade.cgi';
ScriptBaseURI = ' ';
StaticURI = 'http://www.example.com/mt/mt-static/';
HelpBaseURI = ' ';
<p>ブログを始める前に、データベースを初期化してインストール作業を完了する必要があります。</p>
<form method="post" action="included://www.example.com/mt/mt-upgrade.cgi">
<input type="hidden" name="__mode" value="install">
<input type="submit" value="インストールを続行" />
</form>
Xrea.com さんのサーバでは、[MT]/lib/MT/App.pm などのサブルーチンにおいて、今後も同様の問題が起こると思います。
[追記 2005/10/3]
MTをインストールしたXrea.com さんのサーバの環境変数を調べると、
SERVER_PROTOCOL = INCLUDED
でした。
» XREA.COM 広告について
最下段 「注2) CGIなどが適切に動かない場合、適宜対応してください。」
Movable Type 3.2以降のインストール/アップグレード/使用に際して、サーバーの広告免除権を購入する方法を選択することになります。
問題解決のために参考となったページを以下に列記します。
(1) フォーラム「XREA SUPPORT BOARD」
» http://sb.xrea.com/showthread.php?t=1984
(2) フォーラム「XREA SUPPORT BOARD」
» http://sb.xrea.com/printthread.php?t=6759&page=23&pp=15
投稿者 mvtp : 16:17 | コメント (0) | トラックバック
2005年06月29日
問題解決:MT 3.17と AdminCGIPath https+複数パス
Movable Type 3.17-ja, 3.17(3.16)-en_US では、App.pm を下記のように編集することにより、
mt.cfg
AdminCGIPath https://ss1.xrea.com/ユーザーID.s*.xrea.com/複数path/to/MT_DIR/mt.cgi
へのアクセスでは、
ScriptURI = '/ユーザーID.s*.xrea.com/複数path/to/MT_DIR/mt.cgi' と正しくなります。
AdminCGIPath http://ユーザーID.s*.xrea.com/MT_DIR/mt.cgi
へのアクセスでは、
ScriptURI = '/MT_DIR/mt.cgi'
となります。
[MT]/lib/MT/App.pm の変更行
597行目あたりの サブルーチン sub app_path
if ($path =~ m!^https?://[^/]+(/?.*)$!i) {
$path = $1;
} elsif (!$path) {
$path = '/';
}
を下記のように変更します。
if ($path =~ m!^https?://[^/]+(/?.*)$!i) {
if ($ENV{REMOTE_ADDR} eq '192.168.1.xyz')
{ $path = '/ユーザーID.s*.xrea.com/複数path/to/MT_DIR/';}
else { $path = $1;}
} elsif (!$path) {
$path = '/';
}
Xrea.com さんのサーバでは、環境変数 HTTPS の on, off を取得できませんので、HTTPS によるアクセスは特定のローカル IP経由であることを利用し、環境変数 $ENV{REMOTE_ADDR}による条件文としました。サーバ名 (例: s150)には、ローカルなIPアドレスが設定されています (例: xyz=50であれば, 192.168.1.50) 。
注) ブログそのものは httpプロトコルで運用します。CGIPath, AdminCGIPath ともに https ではエラーが発生する可能性があります。
投稿者 mvtp : 12:34 | コメント (0) | トラックバック
2005年06月26日
MT 3.17の問題点:AdminCGIPath, SSLサーバ( https プロトコル)
Movable Type 3.17-ja を Xrea.com さんのサーバにインストールすると、AdminCGIPath は SSL サーバ (サーバ名 ss1) 経由で利用できません。
[追記 2005/6/29] Movable Type 3.17-ja (デフォルト)のインストールで発生するこの問題点は Xrea.com さんのサーバでは解決しました。
エントリー「問題解決:MT 3.17とAdminCGIPath https+複数パス」
http://shellscript.biz/archives/000062.html
Movable Type (MT) 設定ファイル mt.cfg の中で、MT のベーシック・ディレクトリ (仮に MT_DIR とします) にある mt.cgi までの パス( PATH )を指定します。
CGIPath http://www.example.com/path/to/MT_DIR/
CGIPath https://www.example.com/path/to/MT_DIR/
形式は、http://, https:// で始まる「絶対 URL」です。ドメイン・ルートからの経路 (PATH) をすべて指定します。CGIPathであれば、PATH の数 (階層) には制限はありませんが、下記のように、mt.cgi のみ異なる URL で運用するとき (セキュリティ対策等のため、AdminCGIPath 利用時) 、
MT 3.17-ja MT 3.16-us MT 3.17-us
では、
AdminCGIPath https://ss1.xrea.com/ユーザーID.s*.xrea.com/www.example.com/path/to/MT_DIR/ [設定不可]
AdminCGIPath https://ss1.xrea.com/ユーザーID.s*.xrea.com/www.example.com/MT_DIR/ [設定不可]
AdminCGIPath http://ユーザーID.s*.xrea.com/www.example.com/MT_DIR/ [設定不可]
AdminCGIPath http://ユーザーID.s*.xrea.com/path/to/MT_DIR/ [設定不可]
AdminCGIPath http://ユーザーID.s*.xrea.com/MT_DIR/ [設定可]
AdminCGIPath https://www.example.com/MT_DIR/ [設定可]
となるようです。つまり、Xrea.com さんのサーバでは、必ず、ドメイン・ルート直下のMT_DIRにMTをインストールし、AdminCGIPath は SSL サーバ (サーバ名 ss1)を経由しないPATHとします。。MT 3.15-ja では、SSL サーバ (サーバ名 ss1) 経由など可能でしたので、セキュリティ上、とても残念なことです。
投稿者 mvtp : 11:42 | コメント (0) | トラックバック
2005年06月23日
不正な ScriptURI : MT3.17, 3.16 / App.pm
[追記 2005/6/29] Movable Type 3.17-ja (デフォルト)のインストールで発生するこの問題点は Xrea.com さんのサーバでは解決しました。
エントリー「問題解決:MT 3.17とAdminCGIPath https+複数パス」
http://shellscript.biz/archives/000062.html
Xrea.com さんのサーバご利用の方は、エントリー:
「AdminCGIPath と SSLサーバ (https プロトコル)」
http://shellscript.biz/archives/000061.html
もご覧下さい。
Movable Type 3.17-ja では、AdminCGIPath を利用したとき、ウェブログの管理画面の ScriptURI (の PATH) は下記のように不正となります。
TMPL_VAR NAME=SCRIPT_URL の右辺に問題があります。
【CONFIGURATION SETTINGS】
http://www.sixapart.com/movabletype/docs/mtmanual_configuration.html#configuration%20settings
mt.cfg
CGIPath
AdminCGIPath
Examples:
CGIPath http://www.example.com/path/to/mt/
AdminCGIPath https://www.example.com/path/to/mt/
【MT 管理画面 ログイン・ページ】
MT version 3.17-ja ScriptURI = '/to/mt/mt.cgi'; ScriptBaseURI = ''; StaticURI = '/path/to/mt/'; MT version 3.15-ja ScriptURI = '/path/to/mt/mt.cgi'; ScriptBaseURI = ''; StaticURI = '/path/to/mt/';
【MT 管理画面 メニュー・ページ】
MT version 3.17-ja ScriptURI = '/mt/mt.cgi'; ScriptBaseURI = ''; StaticURI = '/path/to/mt/'; MT version 3.15-ja ScriptURI = '/path/to/mt/mt.cgi'; ScriptBaseURI = ''; StaticURI = '/path/to/mt/';
[2006.02.2005]
Changed files in MT 3.17
http://www.sixapart.com/pronet/weblog/2005/06/changed_files_i.html
lib/MT.pm lib/MT/App.pm lib/MT/App/CMS.pm lib/MT/Plugin.pm lib/MT/Template/Context.pm mt-db2sql.cgi php/mt.php plugins/nofollow/README.txt plugins/nofollow/nofollow.pl plugins/nofollow/tmpl/nofollow.tmpl tmpl/cms/edit_comment.tmpl
(一部のみ引用しました)
[追記 2005/6/23]
上記のファイルを調査を行ったところ、[MT]/lib/MT/App.pm 2005年作成版 が原因でした。
MT315-ja: App.pm,v 1.119.2.1 2004/10/06 22:46:46
ScriptURI は正常な URLとなりますが, 旧バージョンのため、
Error loading : syntax error at (eval 10) line 1, at EOF
と表示され、管理画面は作動しません。以下のバージョンでは、すべて異常な ScriptURIとなります。
MT316-us: App.pm 10862 2005-04-01 01:33:56Z MT317-us: App.pm 12790 2005-06-02 15:57:42Z MT317-ja: App.pm 12790 2005-06-02 15:57:42Z
[追記 2005/6/26]
MT 3.17-ja の管理画面を AdminCGIPath http://独自ドメイン/mt/mt.cgi で運用すると、SCRIPT_URL のPATH 不具合は発生しません。しかし、 AdminCGIPath http://複数の階層/mt/mt.cgi (または, AdminCGIPath https://複数の階層/mt/mt.cgi) にすると、エントリー、ウェブログの設定、サイトの再構築などのリンクは、URLのPATHが1階層短縮されるためアクセス不能となり、メイン・メニュー、ログアウトなどのリンクをクリックすると、ログイン・ページにリダイレクトされるなど、ブログのURL以外はすべて不正となります。大幅に変更された [MT]/lib/MT/App.pm ファイル内に問題がありそうです。
投稿者 mvtp : 12:24 | コメント (0) | トラックバック
2005年02月02日
TrackBack spam Plugin mod_rewrite htaccess
Movable Type 管理者は、spam フィルターによる予防とアクセス制限を行いましょう。
Ogawa::Memoranda さんの「Quasi-Spam Filter Plugin」のインストールを強く推奨いたします。comments spam, trackback spam 両方に対応しています。ダウンロードファイル名 quasi-spamfilter.zip
http://as-is.net/blog/archives/000962.html
すでに spammer の攻撃を受け、TBPing spam 送信元の REMOTE_HOST (ホスト名・ドメイン名), REMOTE_ADDR (IPアドレス) が判明していれば、Xrea.com さんの Apache サーバでは mod_rewrite が利用できますので、[MT]ベーシックディレクトリ内の .htaccess の最下段に下記のように追記し、mt-tb.cgi の使用を禁止する方法もあります。
mt-tbに対する攻撃もあり得るとのことで、ファイル名 mt-tb, mt-t* を使用しましたので、ご注意下さい。
(注: バックスラッシュ = ¥ です)
<Files mt-tb>
<Limit GET POST>
Order deny,allow
Deny from all
</Limit>
</Files>
<Files mt-t*>
RewriteEngine on
RewriteCond %{HTTP_REFERER} .+ [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/ [NC,OR]
RewriteCond %{REMOTE_HOST} \.example\.domain\.jp$ [NC,OR]
RewriteCond %{REMOTE_HOST} ^proxy.*\.example\.domain\.com$ [NC,OR]
RewriteCond %{REMOTE_ADDR} ^192\.168\.0\.10 [OR]
RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.
RewriteRule ^.*$ - [F,L]
</Files>
plugin 「tbexploit.pl」がインストール済みであれば、HTTP_REFERER, HTTP_USER_AGENT の指定行はコメントアウトできます。ホスト名、IPアドレスは、実際のものを入力して下さい。
最終行のオプション F (forbidden) により、条件が一致したアクセスを拒否します。
論理和 OR を使用しているため、 オプション Fの直前の行には [OR] は付けないで下さい。
なお、Xrea.com さんのサーバでは、( Apache のバージョン は非表示のため、推測ですが) Apache 1.3.33 などが使用されている可能性があります。よって、1つのFiles や FilesMatch に複数のファイル名を併記できませんので、TrackBack spam に対して <Files mt-tb.cgi> を編集し、Comment spam では <Files mt-comments.cgi> を作成し、編集します( 後者 Comment spam 対策では、HTTP_REFERER, HTTP_USER_AGENT のコメントアウトが必要です) 。spammer 以外の正常アクセスも一部制限されることになります。
ウエブログの設定 > 禁止IP では、入力情報「IPアドレス」、制限「Comment, TB 両方」となります。
[追記] 「Discreet Blog」さんの「トラックバック技術仕様書」をご覧下さい。
Movable Type では、GET による ping 送信は廃止されていますので、誤って [OR] を付けて HTTP POST リクエスト を遮断すると、すべての Trackback を受付けなくなりますので、ご注意下さい。
[参照ページ]
「黒木玄のウェブサイト」
http://www.math.tohoku.ac.jp/~kuroki/keijiban/Robots.html#mod_rewrite
「けいじわん」
http://dog.intcul.tohoku.ac.jp/unix/accs-rest.html#rewrite
「neil's world - Temporary trackback spam solution」
http://www.neilturner.me.uk/2005/Jan/06/temporary_trackback_spam_solution.html
「Trackback の脆弱性についての勧告: blog.bulknews.net」
http://blog.bulknews.net/mt/archives/001165.html
「リファラつきの Trackback に確認画面: blog.bulknews.net」
http://blog.bulknews.net/mt/archives/001182.html
「Ogawa::Memoranda: Trackbackの脆弱性」
http://as-is.net/blog/archives/000897.html
アクセス禁止 RewriteRule ^.*$ - [F,L]
の代わりに、たとえば、
RewriteRule /[PATH]/mt-tb.cgi /[PATH]/2c.htm
ファイル 2c.html のソース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=euc-jp">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>Redirecting...</title>
<script type="text/javascript">
self.location.href='http://www.2ch.net/';
</script>
</head>
<body>
</body>
</html>
とすると、http://www.2ch.net/ へ転送します。
投稿者 mvtp : 23:27 | コメント (0) | トラックバック
2005年01月03日
MySQL 4.1.7 (s101, s102 サーバ) と PublishCharset UTF-8
Xrea.com さんの 110台余りのサーバの中で、2つのサーバ s101, s102 は特別な仕様となっているようです。
Athlon64 3500+ 1GB RAID1 (Perl5.8.3 / PHP5.0.3 / MySQL4.1.7 / PgSQL 7.4.5 )
http://sb.xrea.com/showthread.php?&threadid=4443
Movable Type 新規インストールの際、
データベース MySQL 使用時、mt.cfg 設定: 文字コード (PublishCharset) utf-8 は使用できません。
UTF-8 として、mt-load.cgi を実行すると、
テンプレートを設定しています...
データの設定中に以下のエラーが発生しました:
Insertion test failed on SQL error Duplicate entry '1-' for key 2
となります。
文字コード (PublishCharset) EUC-JP とする必要があります ( 2005/1/3 確認済み) 。
MySQL4.1 新機能による影響のようです。データベースをみると、
phpMyAdmin version 2.6.0-pl3 SQL Dump では、sql ファイルは、UTF-8 Unicode (utf8) で作成・エクスポートされます。
MySQL dump version 10.8 をみると、dump ファイルは、ujis (EUC-JP) で作成・エクスポートされます。
「第48回 MySQL 4.0から4.1へのアップグレード 、トラブってませんか?」
鶴田展之氏 2004/12/21
http://pcweb.mycom.co.jp/cgi-bin/print?id=25624
などが参考となりそうです。
つまり、s101 サーバでの報告
http://sb2.xrea.com/showthread.php?p=64430
と同様の設定エラー が s102 サーバにおいても発生しますので、mt.cfg の文字コード (PublishCharset) は 必ず EUC-JP とする必要があります (PublishCharset Shift_JIS は未確認です)。
再構築後、atom.xml のエンコードをみると、"EUC-JP"なので、mt.cfg の文字コード設定が反映しています(当たり前ですが)。
<?xml version="1.0" encoding="EUC-JP" ?>
これでは、MySQL 4.1系の高機能を利用できるようになっても、
http://shellscript.biz/archives/000023.html
過去エントリー(2004年09月20日)のとおり、「文字コードEUC-JPでは、エントリーの記述内容次第で、再構築後にRSS、Atomに対応しなくなることがあります。」ので、ブログページの質は低下してしまう。
因みに、MySQL 4.0.23 の s104 サーバなどでは、従来どおり 文字コード utf-8 設定可能です。
[重要! 追記 2005/4/24] s101-s150 すべて4.1系 (MySQL4.1.7) のサーバ と表示変更されています (バージョンアップ完了)。
http://sb.xrea.com/showthread.php?&threadid=4443
s104, s106, s107, s111, s112, s114, s139 では、MySQL Client API version 4.17, かつ 文字コード utf-8 設定可能となっています。ただし、s103、他サーバについては未確認です。
投稿者 mvtp : 23:39 | コメント (2) | トラックバック
2004年12月26日
トラックバック(TrackBack) URL を GD と ID タグで作成する
個別エントリー・アーカイブのテンプレート (デフォルト)では、
トラックバックURL は タグ <$MTEntryTrackbackLink$> により表示されます。
ブラウザで個別エントリー・ファイルのソースを見ると、たとえば、
http:⁄⁄www.example.com⁄mt⁄mt-tb.cgi⁄89
となりますので、当然 Google ハッキングなどによる無差別・大量 TrackBack ping を受けるリスクがあります。
Xrea.com さんのサーバーは Linux系ですので、GDグラフィックライブラリーを使った画像生成用の関数がデフォルトでインストールされています(php文を使うと、文字列から画像を作成しブラウザに表示できます)。
もし、GD のインストール、表示パターンが不明であれば、下記の編集を行う前に、
http://medqa.net/update2003/gfxchek.html
をご覧下さい。
modules.php をクリックすると、Security Code:と同じ画像が表示されます。
注) Unix系サーバ・OSでは、GDなどの拡張ライブラリーを手動でインストールする必要があります。
URL文字 http:⁄⁄www.example.com⁄mt⁄mt-tb.cgi⁄ をGDライブラリーで画像に変換します。サンプルのPHP文では、JPEG画像を生成します。
新規インデックス・テンプレート 例) gfx.php として保存します。背景画像は、グラフィックツールで作成しアップロードします。
<?php
Header("Content-type: image⁄jpeg");
⁄* Header("Content-type: image⁄png"); *⁄
$code = "http:⁄⁄www.example.com⁄mt⁄mt-tb.cgi⁄";
$image = ImageCreateFromJPEG(".⁄background.jpg");
$text_color = ImageColorAllocate($image, 80, 80, 80);
ImageString ($image, 5, 15, 5, $code, $text_color);
ImageJPEG($image, '', 75);
ImageDestroy($image);
die();
break;
?>
背景画像 (例: background.jpg) の上に文字 (例: URLを $code 入力) を配置し、文字のサイズ, 文字の位置 X座標, Y座標 や 文字の色 R,G,B, などを関数で指定します。
サンプルは jpeg画像となりますが、Headerなどを変更すると、png 画像が出力されます。
多くの参考ページ
http://hotwired.goo.ne.jp/webmonkey/2001/36/index4a.html
があります。
個別アーカイブ・テンプレートのタグ <$MTEntryTrackbackLink$> を、
(例)
<img src="..⁄gfx.php" style="border-width:0px;" alt="trackbacklink"> <$MTEntryTrackbackID$>
などに変更します。
なお、このような作業の意義については、
comment spam, trackback spam 対策 ( Movable Type )
をご覧下さい。
投稿者 mvtp : 21:43 | コメント (0) | トラックバック
2004年12月22日
LaunchBackgroundTasks mt-testbg.cgi
LaunchBackgroundTasks のデフォルト設定は、Movable Type 3.14 (英語版)となっても、リビルドなど時間を消費するタスクをバックグラウンドで実行しない "0" となっています。
正確には、[MT]⁄lib⁄MT⁄ConfigMgr.pm のデフォルトは
$mgr->define('LaunchBackgroundTasks', Default => 1);
となっていますが、mt.cfg の初期設定
LaunchBackgroundTasks 0 が優先となります。
Xrea.com さんのサーバでは、cgiなどによるタスクが連続30秒を越えサーバに過重な負荷が発生すると、Movable Typeに限らず強制終了となりますが、バックグラウンドなどの並列ジョブの実行は以前から可能でした。
LaunchBackgroundTasks 1
(または、mt.cfg 内の一行をコメントアウトする # LaunchBack··· )
しかし、レンタルサーバのスペックが高性能となった現在でも、今なおバックグラウンドタスクを実行できないものがあり、しばしばフリーズするときは、
WWWサーバーが並列ジョブ可能であるか? pfork() を利用した mt-testbg.cgi で確認します。本家サイトの supportフォーラムでは、クライアントに対する回答として、「ホストサーバ変更を推奨します」というものもあります。
旧バージョンの mt-testbg.cgiでは、
(例) mt-testbg.cgi,v 1.4.2.1 2004/05/13 00:57:40 ezra Exp $
if (MT->VERSION !~ /^3\.0/) {
print "You have not yet upgraded to the 3.0 version of MT. Please do that before you run this script. Exiting...";
となっているので、使用中のMTのバージョンに編集後、ブラウザでアクセスし実行します。
最新バージョンの mt-testbg.cgiでは、
(例) mt-testbg.cgi,v 1.6 2004/08/17 00:39:56 ezra Exp $
MTのバージョンチェックは行われませんので、直ちに結果が表示されます。
If you see only one number below, or if you see two and they match, you should add the line
BackgroundTasks 0
to the file mt.cfg.
-------------------
[11341]
[11349]
上記のように、異なる数字が2行で表示されたとき:
LaunchBackgroundTasks 1
数字が一行しか表示されない、または、2行表示されても同じ数字:
LaunchBackgroundTasks 0
となります。
ただし、ブラウザでの表示は "BackgroundTasks" ですが、 mt.cfg の設定は、必ず "LaunchBackgroundTasks" 0 #(or 1) とします。
(注)
· サーバ間での負荷コントロールが行われていない、時間帯によりアクセス集中が発生しやすいサーバで、フリーズ, 書込みデータのクラッシュ, インストール失敗などが起こるときは、デフォルト設定 "0" の方が安全です。
· スパマー (今や、悪しきビジネスの1つでしょうが) が、Google ハッキングなどの方法で検出したブログサイトに対して、spam program, script を用いて comment spam を大量に自動送信してきたときは、頻回の rebuild そのものがサーバー負荷になるので、個人で可能な対応を行うとともに、契約中のレンタルサーバの管理者・担当者に相談した方がよさそうです。
投稿者 mvtp : 11:02 | コメント (0) | トラックバック
MTバージョン3.14英語版 comment spam 対策など
【2004/12/20】Movable Type本家にて公開となった MTバージョン3.14英語版 (フルインストール版、アップグレード版) フォーマット形式 tar.gz について
comment spam によるサーバ負荷対策に伴うマイナーバージョンアップです。
本家ページ、および Ogawa::Memoranda さんのページ
http://as-is.net/blog/archives/000951.html
などの解説をご覧下さい。
フルインストール版: 英語版のバイナリーファイル(tar.gz) は、いつも問題なく展開できますが、MT3.14版では、インストール後の設定画面でスクリプトエラー表示となります (使用ブラウザ Microsoft社 IE6.0SP1)。また、3.12英語版 (3.121ではない)と同様に Language for Date Display: Czech (チェコ語) がデフォルトとなっているので、注意が必要です。
アップグレード版: スクリプトエラーは表示されませんが、日本語化のために重要なファイルの一部がバージョンアップしているので、アップグレードは日本語版公開まで待った方がよいと思います (しかし、現在 comment spam 攻撃を受けているサイト、特に有償版を購入したユーザーは、シックス・アパート株式会社さんへ日本語版の早期バージョンアップを催促された方がよいと思います)。本家サイト[12.22.2004]では、
Movable Type 3.14 is now available in French, German, Spanish, and Dutch! Check out the international Movable Type sites for more information.
【補足】 ファイルのバージョンなど
(日本語化に必須のファイルなど)
[mt]/lib/MT.pm
v.314-us MT.pm.pre,v 1.1.2.2.2.4 2004/12/20 19:25:03
v.3121-ja MT.pm,v 1.214 2004/09/30 01:01:13
v.3121-us MT.pm.pre,v 1.1.2.2 2004/10/21 01:02:59
v.312-us MT.pm.pre,v 1.1.2.1 2004/10/18 18:50:05
v.311-us MT.pm,v 1.211 2004/09/03 22:43:53
v.311-ja MT.pm,v 1.214 2004/09/30 01:01:13
[mt]/lib/MT/Mail.pm
v.314-us Mail.pm,v 1.22 2004/04/29 02:42:57
v.3121-ja Mail.pm,v 1.22 2004/04/29 02:42:57
v.3121-us Mail.pm,v 1.22 2004/04/29 02:42:57
v.312-us Mail.pm,v 1.22 2004/04/29 02:42:57
v.311-ja Mail.pm,v 1.22 2004/04/29 02:42:57
[mt]/lib/MT/App/Trackback.pm
v.314-us Trackback.pm,v 1.42 2004/10/01 18:26:04
v.3121-ja Trackback.pm,v 1.42 2004/10/01 18:26:04
v.3121-us Trackback.pm,v 1.42 2004/10/01 18:26:04
v.312-us Trackback.pm,v 1.42 2004/10/01 18:26:04
v.311-ja Trackback.pm,v 1.42 2004/10/01 18:26:04
[mt]/lib/MT/App/CMS.pm
v.314-us CMS.pm,v 1.385.2.6.2.1 2004/12/17 03:36:59
v.3121-ja CMS.pm,v 1.385.2.6 2004/10/19 19:27:46
v.3121-us CMS.pm,v 1.385.2.6 2004/10/19 19:27:46
v.312-us CMS.pm,v 1.385.2.6 2004/10/19 19:27:46
v.311-us CMS.pm,v 1.379 2004/09/03 22:29:34
v.311-ja CMS.pm,v 1.385.2.3 2004/10/09 01:14:14
投稿者 mvtp : 00:34 | コメント (0) | トラックバック
2004年12月10日
MySQL 5つ PostgreSQL 5つ 合計最大10 のDB使用可
Xrea.comさんのサーバでは(有料広告免除サービス利用時)、複数のデータベースに対応しました。
開始日時: 2004年12月10日
データベース(MySQL/PostgreSQL)の使用については、
http://sb.xrea.com/showthread.php?t=8756
をご覧下さい。
投稿者 mvtp : 15:53 | コメント (0) | トラックバック
2004年12月01日
php_flag register_globals Off and Movable Type 3.11, 3.12
Xrea.com さんのサーバーでは、PHP設定( php.ini ) register_globals On となっています。
Movable Type 3.11-ja では、スーパーグローバル変数 のみ使用しています。
.htaccess 内に下記の1行を追記し、セキュリティ上ハイリスクであるグローバル変数の使用を無効とします。
php_flag register_globals Off
以下は簡単な解説です。
現在でも、EGPCS (Environment, GET, POST, Cookie, Server) 変数をグローバル変数として指定しないと作動しないサーバアプリケーションソフト (旧バージョンなど) がありますので、Xrea.com さんのサーバーなどでは、PHP設定ファイル php.ini にて、
register_globals On
と、デフォルト Off (PHP 4.2.0以降) から On へ変更されています。これらの旧プログラムソフトをデフォルトの設定 register_globals Off のサーバ上で使用すると、ブラウザでアクセスしたとき、
FATAL ERROR: register_globals is disabled in php.ini, please enable it!
などと表示されます。
しかし、本設定を有効 On にすると、セキュリティ上のリスクが多いので、
http://www.sound-uz.jp/php/tips/security.html#01
PHP4.1.0 以降、セキュリティ上、安全な スーパーグローバル変数 ($_ENV、$_GET、$_POST、$_COOKIE、$_SERVER) の使用が可能となりました。
Movable Type 3.11-ja 以降、ダイナミック・パブリッシングによるPHPページ生成, PHP化が可能となりましたが、MTでは、グローバル変数ではなくスーパーグローバル変数の一部($_GET、$_SERVER など)が使用されています。
よって、register_globals Off であっても作動しますので、Xrea.com さんなどのレンタルサーバでは、.htaccess を活用し、従来のグローバル変数使用を無効化することをおすすめいたします。
php_flag register_globals Off
php_flag track_vars On
の2行を .htaccess ファイルに追記し、WWWサーバ上のホームディレクトリ内などにアップロードします。
2行目の track_vars は、PHP 4.0.3以降の php.ini ではデフォルト onとなっているので、省略可能のようです。従来のEGPCS 変数は、グローバル連想配列 $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS でそれぞれ参照するようになるとのことです(安全対策上)。
投稿者 mvtp : 11:03 | コメント (0) | トラックバック
2004年11月26日
.htaccess ファイルにより SSL 接続のみ許可する方法
Xrea.comさんのサーバでは、SSLサーバのホスト名は ss1.xrea.com (グローバルIP 219.163.200.121) です。一般ユーザが SSL対応のブログページを公開するとき、契約サーバへのアクセスは、必ずSSLサーバからローカルIP経由となります。
サーバ間のローカルIP は、通常 192.168.1.* で、一部のサーバー(s86-s90など)では、IP 219.101.229.* も利用されています。
http://sb.xrea.com/showthread.php?t=8531&highlight=192.168.1
よって、独自ドメインのSSL接続 URL https:⁄⁄ のみ許可するときは、ディレクトリ内に下記(3行だけ)の htaccess アクセス制限ファイルをアップロードして下さい。
注: .htaccess は、ファイル名 (例) _htaccess などで作成し、独自ドメインのトップディレクトリ(index.html, index.rdf, index.xml, atom.xmlなどのあるフォルダ)内へFTPアップロード後に正しくリネームします。
Order deny,allow
Deny from all
Allow from 192.168.1 219.101.229
グローバルIPすべて拒否されますので、非SSL接続 http:⁄⁄ ではアクセスできません。
正しく設定した後もアクセスエラーとなるとき、ブラウザのキャッシュを一旦クリアしてからご確認下さい。
なお、下記のページも参照して下さい。
AdminCGIPath: TypeKeyトークンを利用するコメント許可、SSL有効法
SSL接続によるURL(例)は下記 CGIPath のようになります。
AdminCGIPath http://me.s**.xrea.com/mt/
CGIPath https://ss1.xrea.com/www.example.com/mt/
ファイル mt-*.cgiのみ GET (POST) によるアクセスを許可する方法
SSL暗号通信による Movable Type について
トラックバック, Ping は https プロトコルをサポートしていませんので、エラーとなります。
投稿者 mvtp : 15:01 | コメント (0) | トラックバック
2004年11月21日
ファイル mt-*.cgiのみ GET (POST) によるアクセスを許可する方法
mt.cgiなどを含むMovable Type [MT] ベーシックディレクトリへのアクセス制限(コントロール)ファイル .htaccess 3タイプ (例)
-ブラウザでの閲覧、投稿、TrackBackなどに不具合の発生しない制限範囲について
# (タイプ 1) ユーザー (ウェブログ著者) が独自ドメイン内に [mt]ディレクトリを設置したとき
# 通常のインストール方法
<Files *.cfg>
<Limit GET POST>
Order deny,allow
Deny from all
</Limit>
</Files>
# (タイプ 2-a) 独自ドメイン内・外に[mt]ディレクトリを設置したとき
# :ユーザー (ウェブログ著者) 専用[mt]ディレクトリ(独自ドメイン外)
<Files *.*>
<Limit GET POST>
Order deny,allow
Deny from all
Allow from 【ウェブログ著者の固定IPアドレス】
</Limit>
</Files>
# (タイプ 2-b) 独自ドメイン内・外に[mt]ディレクトリを設置したとき
# :一般利用者 (クライアント) の専用[mt]ディレクトリ (独自ドメイン内)
<Files *.*>
<Limit GET POST>
Order deny,allow
Deny from all
</Limit>
</Files>
<Files mt-*.cgi>
<Limit GET POST>
Order allow,deny
Allow from all
</Limit>
</Files>
==
[解説]
# タイプ 2-a, タイプ 2-b は Xrea.com さんのサーバなど独自ドメインをサブディレクトリに設定できるサーバ環境が必要です。
単一のDB をダブルインストールしたMTで操作するために、【AdminCGIPath】を利用します。詳しくは、
http://shellscript.biz/archives/000016.html
をご覧下さい。
# ファイル mt-*.cgi の中で、mt-load.cgi, mt-check.cgi, mt-upgrade*.cgiはインストール時のみ必要です (セキュリティ上、インストール完了後これらのファイルは削除します) 。
# mt-tb.cgiなどのTrackBack脆弱性の問題は、
「アプリケーション・レベルのコールバック機能」によるフラグイン
http://as-is.net/blog/archives/000902.html
の他、
http://blog.bulknews.net/mt/archives/001165.html
http://as-is.net/blog/archives/000897.html
をご覧下さい。
# 用語「ユーザー、ウェブログ著者」は、Movable Type 3.1 などの「ライセンス」に関する日本語ページから引用しました。
http://www.movabletype.jp/get_movable_type_personal.shtml
投稿者 mvtp : 16:44 | コメント (0) | トラックバック
2004年11月17日
dirify and Permalink (Movable Type)
Permalink 先のURLとして使用されることが多い個別アーカイブ・ファイル名は、Movable Type のデフォルト設定では、
オリジナルドメイン名 (ないし, WWWサーバのホスト名やユーザ名) + エントリーのタイトル名の自動変換(dirify).拡張子
です。
Movable Type 設定についての日本語ドキュメント(英語版の逐語訳)では、
http://www.movabletype.jp/manual/mtmanual_weblog_config.html#archiving
「デフォルトで個々のアーカイブ・ファイルには、エントリーのタイトルに応じて名前が付けられます。たとえば、'Our Magnificent Day at the Beach(ビーチでの素晴らしい日)'というタイトルのエントリーには'our_magnificent.html'などのファイル名が付けられ、エントリーの作成月に基づき'2004/05/our_magnificent.html'というディレクトリに保存されます。・・・」と記述されています。しかし、日本語のタイトルでは、偽りの説明です。
しかも、PublishCharset (エンコード) の選択: 「UTF-8」 「EUC-JP」 「Shift_JIS」 によって、異なる名前となります。
Ogawa::Memorandaさんの タイトル: dirifyについて考えてみた。
http://as-is.net/blog/archives/000926.html
をご覧になると名づけ方の詳細がわかります。
"ダイナミック (PHP) ページのための設定について" というタイトルで新規エントリを作成すると、
Δ PublishCharset (日本語エンコード):「EUC-JP」
⇒ http://hitomi.s47.xrea.com/shellscript.biz/archives/2004/09/aessaphpuiaiass.html
URL名としては無意味な文字の羅列(phpを含む) となることがあります(注1)。 なお、「Shift_JIS」においても無意味な変換が行われます。
Δ PublishCharset (日本語エンコード):「UTF-8」
⇒ http://www.example.com/archives/2004/11/_php.php
日本語はすべて_ (アンダースコア)に変換されて、英語 php のみ表示されます (すべて日本語タイトルのとき: (注2) (注3) をご覧下さい)。
Δ 個別エントリーアーカイブのテンプレートをファイル名 <$MTEntryTitle dirify="1"$>_<$MTEntryDate format="%m%d%y"$>.php で保存したとき (日本語エンコード: UTF-8):
⇒http://www.example.com/archives/archives/_php__111704.php
英語であれば行頭から(半角文字数)15以内の文字制限なし_日付.拡張子 となります(注3)。但し、正しく設定しないと、ダイナミック・ページではURLに反映しません。
Δ アーカイブの設定 (□ 以前の形式の個別アーカイブへのリンクをつかう) をチェックしたとき:
⇒ http://hitomi.s47.xrea.com/shellscript.biz/archives/000024.html
個別のアーカイブへのリンクに以前の形式(id)を利用しますか? にチエックを入れ保存すると、連番表示のURLとなり、日本語エンコードには依存しません。
Δ(注1): PublishCharset: EUC-JP における問題点 (タイトルから無意味な URLが生成されてしまう) は、mt.cfg に「DefaultLanguage ja」を設定することで解決するそうです。詳しくは、
http://as-is.net/blog/archives/000895.html
http://as-is.net/blog/archives/000910.html
のページをご覧下さい。
make_unique_basename と dirify の利点、欠点が詳しく解説されています。
引用(1)
「一つのエントリに一つのファイル名を対応させる」ために個々のエントリにuniqueな文字列が設定されます(MT::Util::make_unique_basename)。
引用(2)
ただし、make_unique_basenameはそのエントリが作成された時点で呼び出されるので後で日時を変更してもbasenameには反映されません。このbasenameというのはほとほと「使えない奴」なわけです。
Ogawaさんに、再々感謝です。
Δ(注2): タイトルがすべて日本語のとき
⇒ post.html, post_1.html などに変換されます。
Δ(注3): タイトルに英語が含まれているとき
⇒ 同じタイトル名では、エントリが異なっていても、同一のファイル名 (URL)となることがあります。
Δ マルチバイト対策のMT用 plugin "dirifyplus" を使用しても、本質的な解決とはなりません。
⇒ http://mt-plugins.org/archives/entry/dirifyplus.php
アンダースコアを除去したり、(半角)空白をトルツメしたり、ハイフンに変換したり・・・の機能だけのようです。
たとえば、個別エントリーアーカイブのテンプレートのファイル名を指定すると、
(例) URL: http://www.example.com/archives/how-to-upgrade-movable-type-and-mt-manual-weblog-config.html
と表示できます。
投稿者 mvtp : 17:30 | コメント (4) | トラックバック
2004年11月13日
Movable Type 3.121, 3.12 リリース版の未修正バグ
カテゴリーのトラックバックURLは利用できません。
ブログ[MT 3.12] が公開しているカテゴリーのトラックバックURLへTrackBack ping を行っても、MT 3.12側は受信できません。
送信エラーが続いたので、「Movable Type Support Forums」で同事例の報告を確認しました。
There's a bug in 3.121 that prevents it from receiving trackback pings to a category (see thread) which will hopefully be fixed soon.
英語圏、英語版のブログ (Movable Type 3.12) へトラックバックを送信するとき、複数の pingサーバへ同時送信するときなど、ご注意下さい。送信完了まで繰り返しTrackBack ping を行うと、連続投稿を制限していない他のブログページへ重複してTB送信してしまいます。実際に本サイトから送ってしまいました。失礼いたしました。
送信側のログは
Ping 'http://www.example.com/mt/mt-tb.cgi/数字' failed: HTTP エラー: 500 read timeout
となります。
bug fix 版が公開されるまで、必ず entry に対してTrackBackする必要があります(下記のような個別エントリ内のトラックバックを利用すれば、問題は発生しません)。
====
トラックバック
(英) Trackback Pings
このエントリーのトラックバックURL:
(英) TrackBack URL for this entry:
http://www.example.com/mt/mt-tb.cgi/数字
====
投稿者 mvtp : 16:55 | コメント (0) | トラックバック
Dynamic or Permalink
Movable Type 3.11以降では、ダイナミック (動的) 生成とスタティク (静的) 生成を使い分けることが可能となりました。アーカイブページなどの生成において、どちらが都合がよいか、内部、外部からのアクセス両面で考える必要があります。外部とは、特にロボット検索の最適化 (SEO) も含めてのことです。
たとえば、新聞社、IT関連企業など毎日多くのニュースを配信するブログでは、ダイナミック パブリッシングがよいでしょうし、特に著作権を重要視する会社では、スタティク (静的) 生成ページによる "Permalink"はハイリスクかもしれません。一方、個人のブログで、趣味のページを作成し、備忘録として残しながら、かつ、多くのクライアントにも情報を発信したい、閲覧してほしいときは、ロボット検索の効率なども重視し、個別エントリアーカイブなどを静的生成にする方がよいのではないでしょうか。ダイナミック生成とスタティク生成には、それぞれ利点、欠点がありますので、http://www.movabletype.jp/manual/mtmanual_dynamic.html を参照の上、ご活用下さい。
なお、"Permalink" とは、・・・「永遠 Permanent に変わらないブログ item, 情報アイテム を参照するように作成された URL」・・・ を Permalink (Permanent link) と呼ぶそうですので、生成の方法 Dynamic, Static とは直接関係はありませんが。
投稿者 mvtp : 10:08 | コメント (0) | トラックバック
2004年11月11日
Encode.pm and Movable Type
Movable Type をJcode.pm ではなく Encode.pm で活用するための tipsです。
Powered by
with Encode.pm
【 編集(4)は Xrea.comさんの(一部の)サーバでは必須です】
(1) まず、mt-check.cgi にて Perlのバージョンを調べます。
version: 5.8.4 であれば、perl: 5.008004と同義です。
もし version 5.8.0 以上でなければ、モジュール Encode.pm は標準実装されていませんので、
mt-check.cgi の148行目あたりに、
[ 'Encode', 0, 1, 'Encode is required for Encoding conversion.' ],
の1行を追加し、mt-check.cgiを再実行します。
【この方法をご教示下さいました Ogawaさん に感謝いたします。】
Your server has Encode installed (version *.**).
と表示されると、Encode.pm が実装されています。
(2) WWWサーバの Perl version: 5.7.3以上、Encode.pm 未実装の環境であれば、Xrea.comさんのサーバでは直接お願いして下さい。ライブラリー導入、対応されるそうです。しかし、
(Xrea.comさんからの回答を引用)
「Perlが5.6系である場合は、導入させていただくことができません。動作しなくなるCGIが出てくる可能性がありますので、Perlのバージョンを上げさせていただくことは出来ない状況です。」とのことです。よって、サーバ s47あたり(および、以前のサーバ)は導入できないはずです。
(3) 次に、Ogawaさんが作成、公開された貴重なスクリプト I18N-encode.pmを
http://as-is.net/blog/archives/000920.html
からダウンロードします。インストール方法はページをご覧下さい。
(4) ここで、Xrea.comさんのサーバでは、cgiの簡単な編集が絶対に必要となります(重 要)。
mt.cgi
mt-tb.cgi
mt-comments.cgi
mt-search.cgi
mt-xmlrpc.cgi
mt-atom.cgi
mt-send-entry.cgi
mt-view.cgi
mt-add-notify.cgi
などのMTのベーシックディレクトリにあるCGIファイルの先頭行を下記のとおり変更します。
変更前 (先頭行):
#!/usr/bin/perl -w
変更後 (先頭行、2行目)
#!/usr/bin/perl
require 5.008;
perl のコマンドラインオプション -w は、単に「識別子に関するさまざまな警告を出す」オプションですので、変更の必要はないように (一般的には) 考えますが、-wオプションを残しておくとブラウザでのアクセス不能となりますので、ご注意下さい。
もし、Perl version: 5.7.3-5.7.9であれば、require 5.007;と思いますが、未確認です。変更後の mt**.cgi をアップロードします。
(5) Ogawaさんと同じく、チャレンジャーの方にのみおすすめいたします。
以上
投稿者 mvtp : 23:47 | コメント (0) | トラックバック
2004年11月07日
random characters 文字化け
「文字化け」の英語は何?
答えてねっとを参照すると、"random characters", "garbage characters", "greekings", "go cyrillics" いろいろな表現はあるようですが、普通の英和辞書にはもちろん記載されていない。
TrackBack (TB)、通知メールなどの文字化け対策について
Movable Type のTB pingなどの文字化けについて、旧バージョン(過去)から随分論議されている。
基本的なTrackBack文字化け対策については、Milano さんのブログページ「Milano::Monolog」
⇒ http://rebecca.ac/milano/mt/archives/000063.html
などに詳しい解説があります。
MT 英語版では Jcode.pm などの日本語用Perl関連モジュールを全く利用しませんので、必ず文字化けします。これまでは、Jcode.pmとの関連づけが不可欠でしたが、Perl 5.8.0以降をインストールしたWWWサーバでは Encode.pm が標準で実装されています( 標準モジュールとなっています。コンパイル可能なサーバ環境であれば、Encode.pm は Perl 5.7.3以降であれば使用できるそうです)。Movable Type の文字コードは、デフォルトで UTF-8 のUnicodeが使用されています(つまり、多くのユーザーが UTF-8 を使用している)ので、Encode.pm の方が優れています。因みに、Xrea.com さんのWWWサーバの一部は (2004/11/9 現在)、
Perl version: 5.8.4 (5.008004) であり、Encode モジュールとして Encode.pm が標準実装されています。本モジュール使用に際して、Jcode.pmやJcode.pl を使用する方法とは異なり、ユーザーはモジュール関連ファイルやディレクトリをアップロードする必要はありせん。【mt-check.cgiにて Perl5.6.*などと表示されるサーバ機は実装されていませんので、ご確認後にEncode.pmを使用して下さい。】
Movable Typeインストール後、モジュールを Jcode.pm から Encode.pm へ変更する方法:
⇒ http://shellscript.biz/archives/000036.html
===
注:Jcode.pm (Perl5専用) を利用する場合、Jcode - Japanese Charset Handler [ http://openlab.ring.gr.jp/Jcode/index-j.html ] のサイトから Jcode-0.87.tar.gz ないし Jcode-0.87.zip. (2004/11/9 現在の最新バージョン)をダウンロードし、展開後、ライブラリ用ディレクトリ (MT では、[mt]/extlib ) 内に、
Jcode.pm
Jcode ディレクトリ(および、pmファイルすべて)
だけをアップロードします。
===
しかし、現時点(最新のMT日本語版 Version 3.11-ja)でEncode.pmを試すときは、
Ogawa さんのブログページ「Ogawa::Memoranda」
http://as-is.net/blog/archives/000920.html
Encode.pm版lib/MT/I18N.pm
にチャレンジすることになる。
また、Ogawa さんは、
http://as-is.net/blog/archives/000906.html
リリースにあたってのコメントにて、"PublishCharsetで設定したcharsetでユーザーインタフェースの入出力表現と内部表現が統一されてしまいます。・・中略・・ TrackbackやXMLRPCの入出力インタフェースは、特例としてPublishCharsetに従うのではなく内部表現(=UTF-8)で行えばよいわけです。" などの抜本的な解決策を提唱されている。シックス・アパート(Six Apart Ltd.)日本法人さんなどが開発版を公開されるようであれば、是非試してみたい。
当方が利用しているXrea comさんのDB PostgreSQL は 文字コード"EUC-JP"以外をユーザーが選択できない! など、些細な問題も残っているが、"go cyrillics","キリル文字みたい" は早く解決できた方がよい。
投稿者 mvtp : 17:05 | コメント (0) | トラックバック
Movable Type 3.121 と 3.12
Movable Type 本家サイトでは、バグ修正やバージョンアップしているのだが・・・、
ブログツール Movable Type は同じバージョンであっても、英語版(en_us)と日本語版では個々のファイル、使用できるタグなどに明らかな差があることは、以前にも指摘した。
http://shellscript.biz/archives/000014.html
しかも、国内での新バージョン発売(前、同時)に、本家では先行バージョンが発表されるということを繰り返している。
このため、(たとえば) タグの改良、新タグの採用などが利用者に周知されず、利用者が混乱する事態も生じたようである。残念ながら、このような問題点の解説は一般的なユーザーマニュアルにはない。
http://shellscript.biz/archives/000009.html
日本語パッチや修正プログラムを有志が作成しているオープンソースのポータルサイト用ソフトウエアなどでは、アップグレード、日本語化はすべて利用者の自己責任の問題であろうが、Movable Typeについてはライセンス料を支払った契約者には納得できないことである。因みに、「ライセンス認証キー」の発行も遅れているようである。
現在、本家サイトの最新版は Movable Type 3.121 である。
Movable Type 3.12 released 10.19.2004 の Update:・・・ の解説(逐語訳ではありません)。
Movable Type 英語版 バージョン3.12 は、リリース直後に 3.121へバージョンアップとなりました。英語版 3.12 を新規インストール (フルインストール) したときに限り、エントリーの日付用の言語が「チェコ語?」になってしまう問題がありました。バージョン3.12をインストールした場合、設定変更を行うことになります。3.121専用のアップグレード用実行ファイルはありません ( mt-upgrade31.cgiは3.0Dないし 3.01D から 3.1へアップグレードするものです) ので、3.12 をインストールした方は設定変更し、ご使用下さい・・という内容です。
(原文は下記のとおり)
Update: we’ved revved up to 3.121. This update fixes a problem where the entry dates were built improperly on new installations (not on upgrading installations). If you already downloaded 3.12, you don’t need this update: just go into Weblog Config and pick a “Language for Date Display.” Users installing 3.121 won’t need to do this.
【補足】 ファイルのバージョンなど
(日本語化に必須のファイルなど)
[mt]/lib/MT.pm
v.3121-us # $Id: MT.pm.pre,v 1.1.2.2 2004/10/21 01:02:59
v.312-us # $Id: MT.pm.pre,v 1.1.2.1 2004/10/18 18:50:05
v.311-us # $Id: MT.pm,v 1.211 2004/09/03 22:43:53
v.311-ja # $Id: MT.pm,v 1.214 2004/09/30 01:01:13
[mt]/lib/MT/Mail.pm
v.3121-us # $Id: Mail.pm,v 1.22 2004/04/29 02:42:57
v.312-us # $Id: Mail.pm,v 1.22 2004/04/29 02:42:57
v.311-ja # $Id: Mail.pm,v 1.22 2004/04/29 02:42:57
[mt]/lib/MT/App/Trackback.pm
v.3121-us # $Id: Trackback.pm,v 1.42 2004/10/01 18:26:04
v.312-us # $Id: Trackback.pm,v 1.42 2004/10/01 18:26:04
v.311-ja # $Id: Trackback.pm,v 1.42 2004/10/01 18:26:04
[mt]/lib/MT/App/CMS.pm
v.3121-us # $Id: CMS.pm,v 1.385.2.6 2004/10/19 19:27:46
v.312-us # $Id: CMS.pm,v 1.385.2.6 2004/10/19 19:27:46
v.311-us # $Id: CMS.pm,v 1.379 2004/09/03 22:29:34
v.311-ja # $Id: CMS.pm,v 1.385.2.3 2004/10/09 01:14:14
英語版にないもの
[mt]/lib/MT/I18N.pm
[mt]/lib/MT/L10N/ja.pm
v.311-ja # $Id: ja.pm,v 1.36 2004/10/19 01:47:18
[mt]/extlib/Jcode/ ディレクトリ Jcode内のすべてのファイル
[mt]/extlib/Jcode.pm
アップグレード時は、ディレクトリ extlib 内のすべての旧ファイル使用を推奨。
[mt]/extlib/
「extlibディレクトリ内のファイルをアップロードするときは、以前Movable Typeをインストールしたときにインストールしたライブラリをどれも上書きしないよう注意してください。」
=> http://www.movabletype.jp/manual/mtupgrade.html#uploading%20files
投稿者 mvtp : 11:09 | コメント (0) | トラックバック
2004年11月03日
htaccess ファイルによるアクセス制限
アクセスコントロールファイル .htaccess によるアクセス制限
ASCIIモードによるアップロード後、ファイル属性を 604に変更します。
最終ファイル名は .htaccess ですが、作成・編集・アップロード・属性変更前には、_.htaccess などを使用します(rename)。
【ファイル設置前の確認】
HTTPによるユーザー認証を利用しますので、apache のモジュール mod_auth がload されていることを確認します。
phpinfo(); を利用すれば、サーバ管理者に問合わせる必要はありません。
⇒ http://hitomi.s47.xrea.com/shellscript.biz/archives/2004/01/xreacomassaeeia.html
因みに、Xrea.com さんのサーバは使用できます。
【mt.cfg】
movable typeのベーシックディレクトリ [mt] 内に下記のドットファイルをアップロードすると、すべてのcfgファイルはブラウザでアクセスできなくなります。MT 3.11 ダイナミック・ページを利用しているときは必須です。
<Files *.cfg>
<Limit GET POST>
deny from all
</Limit>
</Files>
【cache, templates_c】
ダイナミック・ページを利用しているときの一時保存ファイル用ディレクトリ [blog] /cache, [blog] /templates_c 内には下記のドットファイルをアップロードします。万一、悪意のある実行ファイルがアップロードされても、ブラウザで直接アクセス・起動できません。
また、両ディレクトリのリネームも推奨します。⇒ http://hitomi.s47.xrea.com/shellscript.biz/archives/2004/10/_cache_template.html
<Files *.*>
<Limit GET POST>
deny from all
</Limit>
</Files>
【Berkeley の DB】
もし、Berkeley の DBを使用し、ブラウザでアクセス可能なディレクトリ以外に設置できないレンタルサーバであれば、ディレクトリ [db_Berkeley] 内に下記のドットファイルをアップロードします。ブラウザでアクセスできないディレクトリ (たとえば、cgi-bin 内やpublic_htmlより上位)を推奨します。
<Files *.*>
<Limit GET POST>
deny from all
</Limit>
</Files>
投稿者 mvtp : 23:18 | コメント (0) | トラックバック
2004年10月31日
デイレクトリ( cache, templates_c ) のセキュリティ対策
ダイナミック・ページ用デイレクトリ( cache, templates_c ) のセキュリティ対策
(Movable Type 3.11-ja, 3.121-en_us など)
Xrea.comさんのサーバであっても、一時保存ファイル用ディレクトリのパーミッション (属性) は707となりますので、悪意のあるものは(セキュリティ上のバグがあれば) 実行ファイルをアップロードし、WWWサーバ改竄等も可能です。
ダイナミックページを活用し、再構築のスピードアップ、サーバ容量節約、セキュリティ対策を同時に行うため、cache, templates_c は、デフォルト以外のデイレクトリ名で運用する方法をお伝えします。
合わせて、.htaccess ファイルによるアクセス制限も推奨いたします。
⇒ http://hitomi.s47.xrea.com/shellscript.biz/archives/2004/11/htaccess.html
[mt]/php/mt.php
5 # $Id: mt.php,v 1.19 2004/10/01 00:22:45 bchoate Exp $
おおよその行数
==
187 $this->config['PHPTemplateDir'] or
188 $this->config['PHPTemplateDir'] = $blog_site_path .
189 DIRECTORY_SEPARATOR . 'templates';
190 $this->config['PHPCacheDir'] or
191 $this->config['PHPCacheDir'] = $blog_site_path .
192 DIRECTORY_SEPARATOR . 'cache';
templates をリネーム(例: templates_xyz) すると、自動的にコンパイル用ディレクトリ templates_c も変更されます。
cache もリネーム(例: cache_xyz) します。
ブログページのディレクトリ内に2つ新ディレクトリを作成し、属性 707 に変更します。
[blogpage]/templates_xyz_c
[blogpage]/cache_xyz
リネーム名は、推測し難いものにします。
■ 補足
ページ・レベルのキャッシング
Movable Typeユーザー・マニュアル日本語では、注: これは実験的な機能であり、環境によってはうまく動作しないこともあります。 となっていますが、Xrea.com さんのサーバは (もちろん) 動作 OK です。
ダイナミック(動的生成) ページを利用する場合、caching option も有効にした方がベターです。
【追 記 2004/11/2】
Ogawa::Memoranda さん から重要なご指摘をいただきました。
「$mt->cachingをtrueにすると、既定で1時間キャッシュが有効になります。そうすると、コメントをしても最悪で1時間反映されないことになるので注意が必要です。」
「ダイナミック・サイト起動用スクリプト」
テンプレートの名前: Dynamic Site Bootstrapper
出力ファイル名: mtview.php
編集後の phpファイルは (一行 $mt->caching = true; を追加するだけ)
<?php
include('<$MTCGIServerPath$>/php/mt.php');
$mt = new MT(<$MTBlogID$>, '<$MTCGIServerPath$>/mt.cfg');
$mt->caching = true;
$mt->view();
?>
となり、ブログページ内に ディレクトリ名 cache (属性 707に変更) を新規作成するだけです。
投稿者 mvtp : 18:11 | コメント (2) | トラックバック
2004年10月27日
テンプレート・モジュール "Remember Me" と個別アーカイブ
テンプレート template 【個別エントリーアーカイブ】の headタグ内には、下記のテンプレート・モジュール "Remember Me"ないし下記のjavascriptが必要です。
Movable Type 3.01D日本語版(および、英語 3.11バグフィックス版)まではjavascriptが挿入されていましたが、日本語版 3.11