ファイルの文字コードを簡単に変更する方法
ファイルの文字コード変更方法をご紹介します。
その前に「文字コード」について簡単に説明したいと思います。認識誤り等ございましたらご指摘ください。
1.文字コードとは
誤解を恐れずに申し上げると、コンピュータは 0 と 1 の組み合わせ(2進数)で、プログラムや音声・画像等、全てのことを認識しなければなりません。文字も同じで、例えば「A」という半角文字は「0100 0001」という2進数(16進数表現では 0x41)をコンピュータが認識し、ディスプレイ上に「A」と表示する訳です。
これらのテキスト文字には必ず「文字コード」という規格・仕様が介在します。日本語の「あ」を例にすると、画面上に表示される文字が同じ「あ」に見えても、規格によっては「あ」の元データである 0 と 1 の組み合わせが異なるため、コンピュータはどの規格に基づいて表示(あるいは認識)するかを必要に応じて事前に知る必要があります。
皆様がよくご存知の文字コードとして、
があります。
EUC は「Extended Unix Code」の略で、文字通り UNIX システムが発祥の、複数バイト文字を扱う文字コードです。「JP」は日本国を表わす国・地域コードのようです。他に「EUC-JIS-2004」「EUC-KR」「EUC-CN」等があります。
Shift_JIS は Microsoft 等、数社によって策定された文字コード。漢字の表示が可能なパソコン上での符号化方式が JIS 規格(JIS X 0201)と異なっている状況の中、エスケープシーケンスなしで「英数字・半角カナ」と「漢字」を混在可能にするため、漢字の符号点を複雑に移動(シフト)させ、符号空間の隙間に押し込んだことからこのような名称になっているようです。
UTF は「Unicode Transformation Format」の略で、コンピュータ上で多言語の文字を一つの文字コードで取り扱うために1980年代に提唱された文字コードで、UTF-8 はその中の符号化方式のひとつ。他の符号化方式として「UTF-7」「UTF-16」等があります。
文字コードの指定例として、HTML 文書の最初の方にある
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
に見覚えがあるのではないでしょうか。
これは「この HTML 文書を UTF-8 で表示してください」という指定です。ブラウザはこの情報を元に文字コードを決定します(XML宣言による指定もありますがここでは省略します)。
2.文字コード変更方法
秀丸等のテキストエディタで変更する手もありますが、ここでは IE6(IE7 も可)を利用して変更する方法をご紹介します。Firefox や Opera では変更できません(間違ってたらすいません)。
おおざっぱな手順は次の通りです。
- 文字コードを変更したいファイルを IE で表示させる
- 文字化けしている場合、文字コードを変更して正常に表示させる
- 表示されたファイルを保存する。この時に変更したい文字コードを指定する
以下、具体的な操作方法です。
1. の表示させる方法は、読み込ませたいファイルをブラウザにドラッグするのが簡単です。
2. の文字コードの変更方法は、ツールバーの[表示]-[エンコード]から選択してください。正常に表示されていればこの項目はスキップしてください。
3. はツールバーの[ファイル]-[名前をつけて保存]を選択します。ファイルを保存するダイアログの一番下に[エンコード]という項目がありますので、ここで希望の文字コードを選択してください。スクリーンショットは Shift_JIS から UTF-8 に変更する例です。

その他の注意点としては、拡張子が .js(JavaScript)等の場合、ファイルを保存するダイアログが表示されてしまうので、予め拡張子を .txt にしておくと良いでしょう。そして文字コードを変更・保存した後で、保存したファイルの拡張子を元に戻します。.html 等も .txt に変更して読み込ませれば生の HTML が参照できます。
3.文字化けを防ぐノウハウ
これまで頂いたご質問で、ブログのカスタマイズで文字化けが発生する原因としてよくみかけたものを紹介しておきます。
- JavaScript 外部ファイルを script 要素で取得する場合、charset 属性の文字コードが外部ファイルの文字コードと異なっていると正常に動作しない可能性があります。
- JavaScript 外部ファイルの文字コードがブログの文字コードと異なっている場合、文字コードを一致させる手もありますが、script 要素の charset 属性に外部ファイルの文字コードを指定すれば正常に動作します。
- 文字コードを指定する meta 要素の前に日本語等が含まれる要素(title 属性等)を記述すると、ページが文字化けする可能性があります。
4.関連リンク
月別アーカイブの折りたたみで年表示に折りたたみのリンクを与える
月別アーカイブリストの年別の折りたたみで、年表示に折りたたみ用のリンクを与えるカスタマイズです。
これまで紹介してきた「月別アーカイブリストの年別折りたたみ」では、年表示の横に折りたたみマークを表示していましたが、「年表示にリンクを設定できないでしょうか」というご質問を頂きました。たしかに月別アーカイブでは年表示部分に他のアーカイブにジャンプするリンクがある訳ではないのでごもっとです。
ということで本エントリーにてカスタマイズ方法をご紹介致します。
スクリーンショットは完成例です。ご覧の通り、年表示部分に折りたたみのリンクが表示されます。
1.「月別アーカイブリストの年別の折りたたみ」を行っていない場合
まず、月別アーカイブリストの折りたたみを設定していない方は、「JavaScript 不要な月別アーカイブの年別ツリー化+折りたたみ」を参照して、カスタマイズを行ってください。
設定後、2項をスキップして3項の設定を行ってください
2.「月別アーカイブリストの年別の折りたたみ」をすでに行っている場合
下記のリンクより menufolder.js(6.03 以上) をダウンロードして、3項に進んでください。
3.年表示に折りたたみのリンクを与える
ダウンロードした menufolder.js を任意のエディタで開き、アーカイブリストマーク表示の設定項目にある、下記の赤色部分
:
// アーカイブリスト用折りたたみマーク使用
// 折りたたみマークを使用しない場合は年表示にリンクを設定
// 使用する:true
// 使用しない:false
var displayArchivesMark = true;
:
を「false」に変更してください。
:
// アーカイブリスト用折りたたみマーク使用
// 折りたたみマークを使用しない場合は年表示にリンクを設定
// 使用する:true
// 使用しない:false
var displayArchivesMark = false;
:
折りたたみマークを表示したい場合は「true」のままで OK です。
あとは修正した menufolder.js をサーバにアップロードします。これで年表示にリンクが付与されます。
PHP における「モジュール版」と「CGI 版」の比較 + WordPress の適用例
PHP のパフォーマンスを調べる中で「モジュール版」と「CGI版」という言葉をみつけまして、本エントリーではそれぞれの内容、およびパフォーマンス・セキュリティ等の観点で両者を比較してみました。
併せて、PHP プログラムである WordPress を適用した場合について示しています。
Web サーバは Apache を対象にしています。内容について認識誤り等ありましたらご指摘ください。
1.用語
まず最初に「CGI版」と「モジュール版」の意味について記します。
[CGI 版]
「CGI」は「Common Gateway Interface」の略で、サーバが受信したブラウザの要求に応じてプログラムを起動するための仕組みを指します。PHP の場合、ブラウザに
http://?/xxx.php
を URL として指定した場合、Webサーバは xxx.php を実行ファイルと認識してプログラムを起動し、その実行結果を返却します。これを「CGI 版」と言うようです。
[モジュール版]
「モジュール」とは、Apache の機能を拡張するための「部品」(と考えるのが分かりやすそうです)。PHP もこのモジュールを利用することで Apache の一機能として PHP を動作させることができます。
つまり「モジュール版」とは、この Apache の拡張モジュールを利用していることを指すようです。
下記のサイトの「補足2 モジュールとは」にモジュールのイメージが掲載されています。
PHP5 + Apache(Windows)の httpd.conf の設定に着目した場合、下記の違いがあります。
CGI 版として利用する場合の設定
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
モジュール版として利用する場合の設定
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"
PHP の MIME タイプはいずれも AddType ディレクティブで、.php という拡張子を指定されたコンテントタイプ application/x-httpd-php にマップしていますが、CGI 版は Action ディレクティブで CGI を実行するように設定、モジュール版は LoadModule ディレクティブにより、ライブラリ php5apache2.dll を Apache のが利用可能なモジュール php5_module として追加しています。
2.パフォーマンスによる比較
PHP 公式サイトのトップページに次のような記述があります。
日本 PHP ユーザ会:PHPについて
通常のCGIとして使用できますが、PHPモジュールをApacheサーバーに組み込むことにより、 Perl/CGIと比較して処理速度の高速化、サーバー負荷の低減が可能です。
明らかに「CGI 版」より「モジュール版」のパフォーマンスが上回っているようです。
1項の説明で「CGI 版」「モジュール版」いずれも PHP プログラムを起動することには違いないのですが、モジュール版 のパフォーマンスが良いのは下記の違いによるようです。
- CGI 版:PHPプログラムが呼び出されるたびにプロセスが1つ立ち上がる
- モジュール版:Apacheのプロセスの中で実行されるため、余分なプロセスを立ち上げる必要がない
プロセスの説明は省略しますが、下記の記事の「仕組みはどうなっているのか」に分かりやすい説明があります。
ということで、パフォーマンス面では「モジュール版」が断然有利で、WordPress でもモジュール版の利用がお勧めです。
3.セキュリティによる比較
共有レンタルサーバの PHP モジュール版には「セーフモード」と呼ばれる設定が施されています。
「セーフモード」とは、共有サーバでのセキュリティの問題を解決するための仕組みで、例えば、同一サーバの他のユーザが自ユーザのファイルを参照できないようにすることができます。
この制限により、例えば WordPress では、ブラウザの管理画面でファイル操作を行う場合等に影響があるようです。これはブラウザから実行した時のユーザ ID がサーバ上のユーザ ID と異なるためで、この操作がセーフモードにひっかかってしまうようです。
CGI 版の場合、「suEXEC」という機能を利用します。これは Apache で Web サーバを実行しているユーザ ID とは 異なるユーザ ID(それぞれのコンテンツユーザーの権限)で CGI プログラムや SSI プログラムを実行する機能です。これによりセキュリティを確保しているようです。
Xrea(エクスリア) は PHP モジュール版が利用できるレンタルサーバですが、セーフモードが設定されています。上記の影響を回避するには特定の機能を CGI 版として利用します。
不具合を回避する方法の詳細等につきましては下記のリンクを参照ください。
- Numb.:XREA で WordPress のファイルアップロード機能を CGI として動かす
- PHP小屋:PHPスクリプト設置者のための豆知識
- hiromasa.zone :o):セーフモードの束縛
- Wordpress ME 2.0 - Docs:キャッシュ機能の利用(セーフモードでキャッシュ機能を利用する場合の設定)
4.レンタルサーバで CGI 版が利用される理由
上記までの比較では、ユーザの立場としては「モジュール版」の利用が有利ですが、さくらインターネット等のレンタルサーバで CGI 版が提供されているのは、ひとつには下記の理由があるようです。
DreamHostのカタチ ?良い鯖.com?:PHP について
Apache module版だと、Dreamhost管理人がユーザごとの PHP 負荷を計測するのが不可能なのが原因
つまり、共有レンタルサーバ運営サイドとしては、メンテナンス面でCGI 版が勝っているのではないかと考えます。この辺りは詳細な調査ができておりませんので私の推測が間違っているかもしれませんし、逆に正確な情報を頂ければという思惑も含んでいます。
5.まとめ
項目は色々あると思いますが、とりあえず上記までの内容とその他思いついた項目でまとめてみました。
| 項目 | CGI 版 | モジュール版(Apache モジュール) |
|---|---|---|
| 実行プロセス | PHP のプロセス | Apache のプロセス |
| レスポンス | 遅い | 速い |
| サーバ負荷 | 多い | 少ない |
| セキュリティ | suExec | セーフモード |
| ファイルのパーミッション | 775/777等 | 604等 |
| メンテナンス | 負荷計測が不可能? | |
| その他 | システム系などの一部の関数が使用不可 |
6.CGI 版からモジュール版に乗り換えた例
最近では、WordPress ユーザの caramel*vanilla さんが、さくらのレンタルサーバ(CGI 版)から XREA+(モジュール版)に乗り換えられました。多発していた 503 エラーが解消され、アクセスも快適になっています。
7.その他
未整理の関連リンクです。
- XREA SUPPORT BOARD:public_html内のPHPのモジュール化
- PHP5.0/2.Apache2の設定
- MIME Media Types
- Apache 2.0 モジュール一覧
- PHPのインストール(Apache2.0 Linux編)
- PHP マニュアル
- PHP マニュアル:Apache 2.0 (Unixシステム用)
WordPress のテーマに
sb で記事(エントリー)とコメントに絵文字を使う
sb(Serene Bach の前身)の記事およびコメント欄に絵文字を入力できるようにするカスタマイズです。
![]()
これは現在公開中の「記事(エントリー)に絵文字を使う for Serene Bach」を sb 用に書き直したものです。
理由は、stroll::blog さんの「sb絵文字入力支援スクリプト」で提供されているスクリプト(ファイルではなく URL 配布)が 404 Not Found になってしまったようで、ふと元記事のコメント欄を拝見したところ、sb で困っている方も結構いらっしゃるかもしれないと思ったためです。
このカスタマイズは sb110R ? sb119R が対応可能と思います。設定方法は当サイトで公開しているテンプレートを例にしていますが、一部修正すれば他のテンプレートでも利用可能です。
1.記事投稿画面の修正
sb をインストールしている配下にある、
lib/lang/ja/admin.html
をダウンロードして、任意のエディタで開き、1.1?1.3項の修正を行ないます。
修正する自信のない方は、下記のリンクから修正済の admin.zip(または admin.lzh) をダウンロードして解凍し、2項に進んでください。
このファイルを利用するとページ上部にある sb のリンクが新しい URL(http://serenebach.net/)になるというおまけつきです。
1.1 script 要素の追加
ファイルの 10 行目に青色の script 要素を追加します。
:
<script type="text/javascript" charset="EUC-JP" src="{sb_site_js}"></script>
<script type="text/javascript" src="emoji.js" charset="utf-8"></script>
<title>{sb_site_title}</title>
:
1.2 「本文」への絵文字一覧表示スクリプトの追加
「本文」のテキストエリア上部へ絵文字一覧を表示するタグを追加します。
:
<!-- BEGIN sb_entry_toolhig_body -->
<a href="#" onclick="return changeHeight('entry_body',-1);"><img src="{sb_site_parts}_parts/up.gif" width="30" height="20" alt="縮小" title="縮小" /></a>
<a href="#" onclick="return changeHeight('entry_body',1);"><img src="{sb_site_parts}_parts/down.gif" width="30" height="20" alt="拡大" title="拡大" /></a>
<!-- END sb_entry_toolhig_body -->
</div>
<dl><dt style="display:inline;">絵文字</dt><dd style="margin-left: 5.5em;">
<script type="text/javascript">
writeCustmizeEmojiTagList('document.mainform.entry_body');
</script>
</dd></dl>
<textarea name="entry_body" id="entry_body" rows="{sb_entry_body_rows}" cols="40" class="text" tabindex="4">{sb_entry_body}</textarea>
<div class="entry_tool">
<label>イメージ挿入:</label>
<select onchange="addImage('entry_body',this.value);">
<option value="">イメージを選択します</option>
{sb_entry_image}
</select>
<input type="button" value="新規…" onclick="showForm('edit_addfile')" />
</div>
:
1.3 「続き」への絵文字一覧表示スクリプトの追加
「続き」部分も絵文字を使いたい場合は、「続き」のテキストエリア上部へ絵文字一覧を表示するタグを追加します。
:
<!-- BEGIN sb_entry_toolhig_more -->
<a href="#" onclick="return changeHeight('entry_more',-1);"><img src="{sb_site_parts}_parts/up.gif" width="30" height="20" alt="縮小" title="縮小" /></a>
<a href="#" onclick="return changeHeight('entry_more',1);"><img src="{sb_site_parts}_parts/down.gif" width="30" height="20" alt="拡大" title="拡大" /></a>
<!-- END sb_entry_toolhig_more -->
</div>
<dl><dt style="display:inline;">絵文字</dt><dd style="margin-left: 8.1em;">
<script type="text/javascript">
writeCustmizeEmojiTagList('document.mainform.entry_more');
</script>
</dd></dl>
<textarea name="entry_more" id="entry_more" rows="15" cols="40" class="text" tabindex="5">{sb_entry_more}</textarea>
<div class="entry_tool">
<label>イメージ挿入:</label>
<select onchange="addImage('entry_more',this.value);">
<option value="">イメージを選択します</option>
{sb_entry_image}
</select>
<input type="button" value="新規…" onclick="showForm('edit_addfile')" />
</div>
:
2.ファイルのアップロード
修正した admin.html を元のディレクトリにアップロードします。
3.スクリプトのダウンロード
下記のリンクより emoji.js をダウンロードしてください。
4.スクリプトに絵文字URLの追加
emoji.js を任意のエディタで開き、ご自身のお好きな絵文字を下記の青色のように挿入してください。
// コメントにカスタマイズ絵文字入力機能:画像設定
function getCommentEmojiList() {
var list = new Array();
// 画像名、画像URLの設定
list[list.length] = new Array('00a', 'http://yourhost/images/pp_00a.gif');
list[list.length] = new Array('01a', 'http://yourhost/images/pp_01a.gif');
list[list.length] = new Array('02a', 'http://yourhost/images/pp_02a.gif');
:
return list;
}
ちなみに、冒頭のスクリーンショットに表示させている画像は下記のサイトよりお借りしました。ありがとうございました。
.:. PEPPER .:. FREE GRAPHICS FOR WEB SITE
注:この emoji.js のファイルの文字コードは UTF-8 です。EUC-JP で sb をお使いでも、ファイルの文字コードは UTF-8 のままお使いください。
5.スクリプトのアップロード
修正した emoji.js を、index.html と同じディレクトリにアップロードします。
6.テンプレートの修正
</head> の直前に下記のタグを追加します。
<script type="text/javascript" src="{site_top}emoji.js" charset="utf-8"></script>
そして記事関連ブロック終了の直前に、記事に表示された、絵文字に対応する記号を実際の絵文字に変換するためのスクリプト(青色部分)を追加します。
<!-- BEGIN entry -->
<h2 id="entry{entry_id}" class="date">{entry_date}</h2>
<div class="entry">
<h3 class="entry-header">●<a href="{entry_permalink}">{entry_title}</a></h3>
<div class="entry-content">
<div class="entry_body">{entry_description}</div>
<div class="entry_more">{entry_sequel}</div>
</div>
<div class="entry-footer">
Posted by {user_name} at {entry_time} | Category: {category_name} | {comment_num} | {trackback_num}
</div>
</div>
{trackback_auto_discovery}
<script type="text/javascript">
<!--
changeCustmizeEmojiTag('content', 'div', 'entry_body'); // 本文に絵文字を表示する
changeCustmizeEmojiTag('content', 'div', 'entry_more'); // 続きに絵文字を表示する
// -->
</script>
<!-- END entry -->
赤色部分はご利用のテンプレートによって異なります、それぞれの意味は下記の通りです。
- content:中央カラム全体を括っている div 要素の id 属性(一例として "main" という設定のテンプレートが結構あるようですが、ご利用のテンプレートをよくご確認ください)
- div:記事またはコメント本文全体を括っているタグ
- entry_body / entry_more:記事またはコメント本文全体を括っているタグの class 属性
要するに画像を変換する場所を絞り込んでいる訳です。この部分でつまづく場合が多いようですが、ご利用のテンプレートおよび本エントリーのコメント欄等で不具合をよくご確認の上、どうしても分からない場合のみご質問ください。
changeCustmizeEmojiTag の起動は、「本文「用と「続き」用の2行があります。「続き」に絵文字を使わない場合は
changeCustmizeEmojiTag('content', 'div', 'entry_more'); // 続きに絵文字を表示する
を削除してください。
記事に絵文字を表示するカスタマイズは以上です。
- 管理画面の新規記事および記事編集画面に絵文字が表示されること
- 絵文字をクリックすると、テキストエリアに絵文字に対応した値が設定されること
- 記事を公開すると、ブログの記事部分に絵文字が表示されること
を確認してください。
コメントにも絵文字を利用する場合は次項のカスタマイズを行ってください。
7.コメント部分にも絵文字を利用する場合
まずコメントの form 属性に name 属性を追加してください。
<form name="comform" action="{site_cgi}" method="post">
<div class="comments-open" id="comments-open">
<h2 class="comments-open-header">Comment form</h2>
<div class="comments-open-content">
<div id="comments-open-data">
次に、テンプレートのコメント部分に絵文字を表示するためのタグを追加します。
<dl>
<dt><label for="name" id="labelname">name:</label></dt>
<dd><input type="text" tabindex="1" name="name" id="name" value="{cookie_name}" size="20" /></dd>
<dt><label for="email" id="labelemail">email:</label></dt>
<dd><input type="text" tabindex="2" name="email" id="email" value="{cookie_email}" size="30" /></dd>
<dt><label for="url" id="labelurl">url:</label></dt>
<dd><input type="text" tabindex="3" name="url" id="url" value="{cookie_url}" size="30" /></dd>
<dt><label id="cookie_label" for="set_cookie">cookie:</label></dt>
<dd><input type="checkbox" tabindex="4" name="set_cookie" value="1" id="set_cookie" /></dd>
<dt>icons:</dt><dd style="margin-left: 5.5em;">
<script type="text/javascript">
<!--
writeCustmizeEmojiTagList('document.comform.description');
// -->
</script>
</dd>
<dt><label for="description" id="labeldescription">comments:</label></dt>
<dd><textarea tabindex="5" id="description" name="description" rows="8" cols="45"></textarea></dd>
</dl>
最後にコメント関連ブロック終了の直前に青色のタグを追加します。
</form>
</div>
<script type="text/javascript">
<!--
changeCustmizeEmojiTag('comments', 'div' ,'comment');
// -->
</script>
<!-- END comment_area -->
Serene Bach で異なるツリー化カスタマイズを同時に利用する
Serene Bach のツリー化カスタマイズとして当サイトで紹介している
がありますが、この 2 つを同時に適用すると「ツリーが正常に表示されません」というご質問を頂きました。
原因は 2. のツリーの記事タイトルに ul 要素ではなく、li 要素が使用されているので、それ専用の CSS を設定しているのですが、その設定が 1. の CSS の class 属性名とバッティングしているためです。
解消するひとつの方法として、1. で利用している maketree.js および CSS を修正する方法を紹介します。
1.maketree.js の修正
ご自身で使用されている maketree.js をサーバからダウンロードします。そのファイルを任意のエディタで開き、下記の赤色部分(tree)を検索して、すべて「tree2」に修正してください。計6ヶ所あります。
修正前
nodes[i].setAttribute('class', 'tree');
修正後
nodes[i].setAttribute('class', 'tree2');
修正したら保存して、元のディレクトリにアップロードしてください。
2.CSS 修正
「サイドメニューのツリー化スクリプト for Serene Bach」の記事にある CSS を設定していると思いますので、このセレクタ名 tree を全て tree2 に変更します。
ul.tree2 {
:
ul.tree2 ul {
:
ul.tree2 li {
:
ul.tree2 li.end {
:
以上です。
Windows XP 自宅サーバで FastCGI を利用する for Movable Type 3.34
Category:[自宅サーバ]
Tag:[3.34, Apache, FastCGI, MovableType, Performance]
Permalink
Windows XP 自宅サーバへの FastCGI モジュールのインストールおよび、Movable Type 3.34 を FastCGI アプリケーションとして利用する方法をご紹介します。
Movable Type に FastCGI を適用する記事「Running Movable Type Under FastCGI」には、サーバへの FastCGI モジュールのインストール手順が掲載されておらず、Windows + FastCGI の設定方法についても(日本の)ウェブ上で詳細に解説された記事が少ないようです。
ということで、アプリケーションの実装やサーバのチューニング等、記述不足な部分もありますが、Apache HTTP サーバへの FastCGI インストール手順、および Movable Type 3.34 を FastCGI を利用して動作させる手順を本エントリーでまとめてみました。
久しぶりの自宅サーバネタです。
なお、Linux(Fedora Core 6)版での FastCGI + Movable Type 3.34 導入手順が「The blog of H.Fujimoto:Movable Type 3.34をFastCGIで動作させる手順」で紹介されています。
Windows XP での動作確認環境は下記の通りです。
- Apache 2.0
- Active Perl 5.8.8
- MySQL 5.0
以下設定手順です。通常の自宅サーバの設定がすでに行われていることを前提に書いてます。
ちなみに試してみたところ、Movable Type の管理画面の操作が体感で 3 倍以上早くなりました。是非通常の運用環境でも使ってみたいところです。
1.FastCGI モジュールのダウンロード
HTTP サーバで FastCGI を利用可能にするため、Apache HTTP サーバに読み込ませるためのモジュールをダウンロードします。
FastCGI のトップページすぐ下にある Servers という項目の Apache の current: download のリンク(ここに最新版がある)をクリックします(下)。

そして投稿時点では最新の、
mod_fastcgi-2.4.2-AP20.dll
のリンクをクリックして FastCGI モジュールをダウンロードします。
この mod_fastcgi-2.4.2-AP20.dll というファイル名は、前半の数字が mod_fast 自体のバージョン、後半の数字が Apache のバージョンみたいですので、Apache 1.3 系を使用している場合は同じページの mod_fastcgi-2.4.2-AP13.dll を使用すると思います。
また過去のモジュールは、同じページの old/ をクリックしたところにあります。
ダウンロードした mod_fastcgi-2.4.2-AP20.dll を mod_fastcgi.dll にリネームし、Apache の modules フォルダに移動します。リネームしない場合は、次項の httpd.conf の LoadModule ディレクティブでファイル名を合わせてください。
参考:
- Ruby on Rails:Fast CGI and Apache2 for Windows XP
- Ruby on Rails:Fast CGI and Apache2 for Windows without VirtualHosts
2.httpd.conf 修正
次に、ダウンロードした FastCGI モジュールを Apache で読み込む設定と .fcgi という拡張子のファイルで FastCGI を利用する設定を行います。
httpd.conf を任意のエディタで開き、下記の
#LoadModule rewrite_module modules/mod_rewrite.so
のコメント文字を削除して、
LoadModule rewrite_module modules/mod_rewrite.so
にします。
また、その下辺りに
LoadModule fastcgi_module modules/mod_fastcgi.dll
を新しく追加します。
さらに
AddHandler fastcgi-script .fcgi
を <Directory "[ドキュメントルート]">?</Directory> の中、あるいは他の AddHandler ディレクティブの設定と同じ辺りに追加します。
なお、通常の CGI が実行できる状態(Options ディレクティブに ExecCGI の追加)を前提に話を進めておりますので、その辺りの設定は他のサイトを参考に設定してください。
動作確認するのであれば、最低限この設定で良いみたいですが、実際に運用する場合は FastCgiConfig ディレクティブ等を追加してチューニングする必要があります。そうしないと(多分) FastCGI で Apache のメモリ(プロセス)が大量に消費される可能性があります。
参考:
3.Perl モジュールをインストールする
ここでは Perl プログラム(ここでは Movable Type)から FastCGI を利用するための環境を作ります。
Perl で FastCGI を利用するには、FCGI と CGI::Fast というモジュールが必要です。
説明は省略しますが、ActivePerl 5.8.8 の PPM version 4 から GUI がデフォルトで起動されます。下の説明ではコマンドラインから直接ダウンロードしていますが、GUI の場合は下記の記事を参考に予め修正した方がいいでしょう(Perl のバージョンが低ければ問題ないかもしれません)。
参考:
MS-DOS 画面より下記のコマンドを入力します。単に ppm と入力すれば GUI を利用してダウンロードできます。
C:¥>ppm install FCGI
Downloading ActiveState Package Repository packlist...done
Downloading ActiveState Package Repository ABI PPD...not modified
Downloading ActiveState Package Repository ACH-Builder PPD...not modified
Downloading ActiveState Package Repository ACH-Generator PPD...not modified
:
(延々と続く)
:
Downloading ActiveState Package Repository xmlrpc-pureperl PPD...not modified
Downloading ActiveState Package Repository xslt-parser PPD...not modified
Downloading ActiveState Package Repository your PPD...not modified
Downloading FCGI-0.67...done
Unpacking FCGI-0.67...done
Generating HTML for FCGI-0.67...done
Installing to site area...done
6 files installed
参考までに、perl 5.8.7.815 では下記のようになりました。
C:¥>ppm install FCGI
====================
Install 'FCGI' version 0.67 in ActivePerl 5.8.7.815.
====================
Installing C:\usr\site\lib\FCGI.pm
Installing C:\usr\site\lib\auto\FCGI\FCGI.bs
Installing C:\usr\site\lib\auto\FCGI\FCGI.dll
Installing C:\usr\site\lib\auto\FCGI\FCGI.exp
Installing C:\usr\site\lib\auto\FCGI\FCGI.lib
Installing C:\usr\html\arch\FCGI.html
Installing C:\usr\html\site\lib\FCGI.html
Files found in blib\arch: installing files in blib\lib into architecture dependent library tree
Successfully installed FCGI version 0.67 in ActivePerl 5.8.7.815.
CGI:Fast はデフォルトでインストールされている(多分 ¥usr¥lib¥CGI¥Fast.pm)ので、インストール不要です。というか、ppm コマンドでは取得できません。
4.Movable Type の FastCGI 用ファイル作成
ここからは FastCGI アプリケーション側の設定です。
Movable Type インストールディレクトリにある下記の CGI ファイルをコピーして、.fcgi にリネームします(単にリネームでもOK)。
mt.cgi→mt.fcgimt-comments.cgi→mt-comments.fcgimt-tb.cgi→mt-tb.fcgimt-view.cgi→mt-view.fcgimt-search.cgi→mt-search.fcgi
5.Movable Type 設定ファイル修正
mt-config.cgi を任意のエディタで開き、下記を追加します。
AdminScript mt.fcgi
CommentScript mt-comments.fcgi
TrackbackScript mt-tb.fcgi
SearchScript mt-search.fcgi
ViewScript mt-view.fcgi
以上です。
Apache を再起動し、正常に立ち上がれば OK です。そしてブラウザから mt.fcgi にアクセスしてみてください。
参考:
スペースキーで逆スクロールする方法
ブラウザでサイト閲覧時にスクロールする時にスペースキー(Space)を利用すると1ページ分スクロールしますが、
Shift + Space
で逆スクロールします。
ふと思いついて試したら動いたのですが、ご存知の方も多いと思います。私は知らずに PageUp 使ってました…。
あとで調べてみたところ、Firefox では日本語入力が有効になっていると、スペースキーによるスクロールができないようです(Shift + Space は OK らしいですが微妙?)。
とりあえずご紹介まで。
関連・参考リンク:
Movable Type 3.34 日本語版リリース(3.33-ja との差分つき)
Six Apart より Movable Type 3.34 日本語版がリリースされました。
本日より、Movable Type 3.34日本語版 (以下3.34-ja) の提供を開始いたします。
3.34-jaの主な修正点は、3.33以降に発見されたセキュリティ上の不具合への対策と、FastCGIサポートの向上です。
下記の通り、不具合の修正およびパフォーマンスが改善されています。
- index.htmlのヘルプリンクが誤っている
- FastCGIサポートの向上
- スキーマバージョンの訂正
- 不正なHTMLタグによるスクリプト実行の可能性
- MTCommentPreviewIsStaticテンプレートタグの機能を利用したスクリプト実行の可能性
- NoFollowプラグインの無効化またはアンインストールに伴うサニタイズ処理の不具合
- 再構築オプションの表示
- プラグインのアップグレード機能の修正
マイナーバージョンアップなので、一部のファイルのみを上書きアップロードしたいという方も結構いらっしゃると思います。ということで GNU diffutils 2.7.2 (Win32 版) を使って 3.33-ja と 3.34-ja を比較しました。ご参考まで。
単純な内容の比較ではかなりの差分がありますが、著作権表示の西暦修正および履歴管理ツールのリビジョンやタイムスタンプのみの変更が相当含まれておりますので、差分内容について下記の通りマーキングしました(間違っていたらすいません)。
- ●:差分あり(要上書き)
- ▲:差分ありですが日本語で使用する場合不要(上書きは任意)
- 他:機能的な差分なし(上書き不要)
要するに(日本語環境であれば)●印のみ上書きすればアップグレード可能と思われます。
extras/examples/plugins/l10nsample/l10nsample.cgi
●extras/examples/plugins/l10nsample/l10nsample.pl
extras/examples/plugins/l10nsample/lib/l10nsample/L10N.pm
extras/examples/plugins/l10nsample/lib/l10nsample.pm
extras/examples/plugins/mirror/lib/Mirror.pm
●index.html
lib/MT/App/CMS.pm
●lib/MT/App/Comments.pm
lib/MT/App/NotifyList.pm
lib/MT/App/Search.pm
●lib/MT/App/Trackback.pm
lib/MT/App/Upgrader.pm
lib/MT/App/Viewer.pm
lib/MT/App/Wizard.pm
●lib/MT/App.pm
lib/MT/Atom.pm
●lib/MT/AtomServer.pm
lib/MT/Author.pm
lib/MT/Blocklist.pm
lib/MT/Blog.pm
●lib/MT/Bootstrap.pm
lib/MT/Builder.pm
lib/MT/Callback.pm
lib/MT/Category.pm
lib/MT/Comment.pm
lib/MT/Config.pm
●lib/MT/ConfigMgr.pm
lib/MT/DateTime.pm
lib/MT/default-templates.pl
lib/MT/DefaultTemplates.pm
lib/MT/Entry.pm
lib/MT/ErrorHandler.pm
lib/MT/FileInfo.pm
lib/MT/FileMgr/Local.pm
lib/MT/FileMgr.pm
lib/MT/I18N/default.pm
lib/MT/I18N/en_us.pm
lib/MT/I18N/ja.pm
●lib/MT/I18N.pm
lib/MT/Image.pm
lib/MT/ImportExport.pm
lib/MT/IPBanList.pm
lib/MT/JunkFilter.pm
▲lib/MT/L10N/de.pm
lib/MT/L10N/en_us.pm
▲lib/MT/L10N/es.pm
▲lib/MT/L10N/fr.pm
●lib/MT/L10N/ja.pm
▲lib/MT/L10N/nl.pm
lib/MT/L10N.pm
lib/MT/Log.pm
lib/MT/Mail.pm
lib/MT/Notification.pm
lib/MT/Object.pm
lib/MT/ObjectDriver/DBI/mysql.pm
lib/MT/ObjectDriver/DBI/postgres.pm
lib/MT/ObjectDriver/DBI/sqlite.pm
lib/MT/ObjectDriver/DBI.pm
lib/MT/ObjectDriver/DBM.pm
lib/MT/ObjectDriver.pm
lib/MT/Permission.pm
lib/MT/Placement.pm
lib/MT/Plugin/JunkFilter.pm
lib/MT/Plugin/L10N.pm
lib/MT/Plugin.pm
lib/MT/PluginData.pm
lib/MT/Promise.pm
lib/MT/Request.pm
●lib/MT/Sanitize.pm
lib/MT/Serialize.pm
lib/MT/Session.pm
lib/MT/Tag.pm
lib/MT/TaskMgr.pm
lib/MT/TBPing.pm
●lib/MT/Template/Context.pm
●lib/MT/Template/ContextHandlers.pm
lib/MT/Template.pm
lib/MT/TemplateMap.pm
lib/MT/Trackback.pm
lib/MT/Upgrade.pm
lib/MT/Util.pm
lib/MT/WeblogPublisher.pm
lib/MT/XMLRPC.pm
●lib/MT/XMLRPCServer.pm
●lib/MT.pm
mt-add-notify.cgi
mt-atom.cgi
mt-check.cgi
mt-comments.cgi
mt-config.cgi-original
mt-db2sql.cgi
mt-feed.cgi
mt-search.cgi
mt-static/js/tc/client.js
mt-static/js/tc/json.js
mt-static/mt.js
▲mt-static/mt_de.js
▲mt-static/mt_es.js
▲mt-static/mt_fr.js
●mt-static/mt_ja.js
▲mt-static/mt_nl.js
mt-tb.cgi
mt-testbg.cgi
mt-upgrade.cgi
mt-view.cgi
mt-wizard.cgi
mt-xmlrpc.cgi
mt.cgi
php/lib/mtdb_base.php
php/lib/mtdb_mysql.php
php/lib/mtdb_postgres.php
php/lib/mtdb_sqlite.php
php/lib/MTSerialize.php
php/lib/MTUtil.php
php/lib/MTViewer.php
●php/lib/sanitize_lib.php
●php/mt.php
●plugins/nofollow/nofollow.pl
plugins/spamlookup/lib/spamlookup.pm
plugins/spamlookup/spamlookup.pl
plugins/spamlookup/spamlookup_urls.pl
plugins/spamlookup/spamlookup_words.pl
plugins/StyleCatcher/lib/StyleCatcher/L10N.pm
plugins/StyleCatcher/lib/StyleCatcher.pm
plugins/StyleCatcher/stylecatcher.cgi
plugins/StyleCatcher/stylecatcher.pl
●plugins/StyleCatcher/tmpl/header.tmpl
●tmpl/cms/copyright.tmpl
●tmpl/cms/footer.tmpl
●tmpl/cms/rebuild_confirm.tmpl
●tmpl/wizard/footer.tmpl
tools/run-periodic-tasks
ところで、ページ右下に表示されるクレジットバナーに "-ja" がついていないようです。ダウンロードアーカイブは 「MT-3_34-ja」となっているのですが、どちらが正解でしょう?→問題ありません。詳細はDakinyさんからのコメント[5]をご覧ください。
関連記事:
Movable Type 3.34(英語版)リリース
2007.01.24 追記
機能差分があるファイルに印をつけました。またバージョン標記について本文を一部修正しました。
Movable Type を始める前に設定しておきたい 10 の項目
Movable Type を初めてご利用になる方のために、「これだけは最初に設定しておきたい」という 10 項目を挙げてみました。1項から8項は設定の流れを考えて順序づけをしました。最後の2項目の優先度は低いですが、「そういう機能もあります」という意味で掲載しています。
「全てが必須」という意味ではありません。不要と思われる項目はスキップしてください。
1.管理画面を「詳細モード」に切り替える
Movable Type の管理画面は「基本モード」と「詳細モード」の2種類があり、デフォルトは「基本モード」になっています。この状態では基本設定とプラグインの一覧しか表示されないため、コメント・トラックバックの受信設定や後に述べるアーカイブページのパス等や拡張子が変更できません。
ということで、管理画面左の「設定」をクリックし、次のページ右上にある、「基本モード」のリンクをクリックして「詳細モード」に切り替えておきましょう。

2.アーカイブ用ディレクトリを作成する
Movable Type では再構築(ページの生成)を実行すると、メインページの他、各アーカイブページ(カテゴリー・アーカイブ/月別アーカイブ/エントリー・アーカイブ等)が生成されます。これらのページはメインページのあるディレクトリ直下に作られます。例えば 2007年1月の月別アーカイブは 2007/01/index.html となります。
月別アーカイブだけなら良いですが、カテゴリー・アーカイブはカテゴリー別にディレクトリが生成されるため、デフォルト状態で再構築すると、メインページのあるディレクトリがアーカイブページ用のディレクトリだらけになります。
ということで、アーカイブ用ディレクトリ archives を作成することをお勧めします。
1項で新しく表示されたメニューより「公開」をクリック

次のページで「アーカイブの設定」のチェックボックスをチェックして、その下に表示された「アーカイブURL」「アーカイブ・パス」を設定。設定内容は、そのすぐ上に表示されている「サイトURL」「サイト・パス」に任意のディレクトリ名(ここでは archives)を末尾に加えます。

設定したらページ一番下にある「変更を保存」をクリック。
3.拡張子を .php にする
Movable Type では、PHP が利用できることを前提としたユーザ独自のカスタマイズ(モジュール化、ページ分割やパンくずリスト等)がいくつかあります。
Movable Type をある程度使いこなし、これらのカスタマイズを利用する段階になってファイルの 拡張子を .html から .php に変更すると、あるページが他のサイトからリンクされている場合、その URL はデッドリンクとなります。また Google 検索結果にも影響があると思われます。
インストールして、使い始めたばかりの状態では PHP は無関係かもしれませんが、いずれ利用する可能性があることを考え、拡張子を php にしておくことをお勧めします。*1
メインページの拡張子を変更する場合は、管理画面左の「テンプレート」をクリック。次のページで「メインページ」のリンクをクリック。

テンプレート編集画面上にある「出力ファイル名」を index.html から index.php に変更し、「保存と再構築」をクリックします。

インデックス・テンプレートにある「アーカイブページ」も同じ要領で変更してください。
アーカイブページの拡張子を変更するには、管理画面左の「設定」をクリックし、次のページ上にあるメニューより「公開」のリンクをクリックし、次のページで「アーカイブの拡張子」を html から php に変更します。

なお、PHP ファイルを実行させるためには、もう少し設定が必要な場合があります。詳細は「Movable Type の PHP化(その1)」を参照願います。
また PHP化した場合は、「HTTP/1.1 の「条件付きGET」を利用して PHP ファイルアクセスによるサーバ負荷を削減する」の設定を併せて行うことを強く推奨します。
4.エントリー・アーカイブのパス・ファイル名を変更する
エントリー・アーカイブは、「パーマリンク」と呼ばれる、個別記事に紐づけられた URL が割り当てられるページです。このエントリー・アーカイブの URL はできる限り永続的である(=URLが変わらない)ことが望ましい訳です。
ところが、デフォルトの状態でエントリーを投稿した場合、ファイルの URL はパーマリンクとするにはあまり相応しいものではありません(関連記事「エントリー・アーカイブファイル名の不具合を解消する」)。
ということで、エントリー・アーカイブのファイル名にはエントリー作成年月日時分(秒)がよく使われています。いわゆる「
タイムスタンプ」をファイル名に利用することで、バックアップからブログを作り直した時も同じ URL を再生することができます。
変更方法は、管理画面左の「設定」をクリックし、次のページ上にある「公開」をクリック。

ページ一番下にある、「アーカイブ・マッピング」の「エントリー」欄の「出力フォーマット」のプルダウンメニューを開いて、一番したの「カスタマイズする」を選択。

出力フォーマット欄が手入力できるようになるので、下記を設定。
%y/%m/%d%h%n%s%x
設定後、「変更を保存」をクリックします。
5.更新Pingを設定する
更新 Ping は、エントリーを新たに投稿した時に「ブログを更新しましたよ」というお知らせを外部に通知するための仕組みです。
Google 等の検索でもサイトを訪問される方はいますが、検索結果に反映されるまでにはタイムラグがあります。この更新 Ping を使った通知を行うことで、より迅速にあなたのブログの更新が外部に知らされ、他の方の目に触れる機会が増えることでしょう。
設定方法は、まず管理画面左の「設定」をクリックし、次のページ上にある「新規投稿」をクリック。

「更新を自動通知する先」のチェックボックスをすべてクリックし、さらにその下のテキストエリアに更新 Ping 送信先の URL(後述) を設定します。URL を複数設定する場合は改行をいれてください。

更新 Ping 送信先については、例えば下記が参考になるでしょう。
その他、Google 検索等で「更新 ping 一覧」で検索すれば色々みつかると思います。
6.スタイルシートの自動再構築を無効にする
インデックス・テンプレート(メインページ等)には、それらの再構築を行った時、同時に他のインデックス・テンプレート、例えば RSS 2.0(index.xml)の再構築をする・しないというオプションがテンプレート毎にあります。つまり、エントリー投稿等で Movable Type が自動的にメインページやエントリー・アーカイブ等を更新した時に「何を自動生成しますか?」という制御ができます。
インデックス・テンプレートについては、デフォルト状態では全て自動生成対象になります。
このインデックス・テンプレートの中には「スタイルシート」もありますが、スタイルシートはインデックス・テンプレートの再構築と連動して再構築される必要はありません。静的な情報しかないためです(ただし1度は必ず再構築し、物理的なファイルを生成してください)。
自動生成を無効にすることで Movable Type の再構築処理を僅かながら減らすことができます。
無効にするには、管理画面左の「テンプレート」をクリックし、次のページにある「スタイルシート」をクリック。

次の編集ページ右上にある「再構築オプション」のチェックをはずし、一番下の「保存」をクリックします。

7.コメント/トラックバックを無条件に受信する
Movable Type の機能のひとつに、コメント・トラックバックがありますが、Movable Type をインストールした直後は、投稿したコメント・受信したトラックバックは、管理者が承認しないと公開されない状態になってしまいます。したがって、とりあえず動作確認したいという場合は、一旦無条件に受信できる設定にするといいでしょう。
ちなみに、デフォルト状態でコメントを投稿すると、承認待ち画面にジャンプします。そして管理者はそのコメントを公開する場合、承認作業が必要になります。またデフォルト状態でテンプレートを入れ替え、コメント投稿すると同様に承認待ち画面にジャンプしますが、テンプレートを一気に入れ替えないと承認待ち画面のスタイルが崩れ、戸惑うおそれがあります。
ということでデフォルト状態では色々面倒なので、個人的には承認機能については後で設定して少しずつ覚えていけば良いと思います。
変更方法は、まず管理画面左の「設定」をクリックし、次のページ上にある「コメント・トラックバック」をクリック。

コメントについては、「投稿を受け付ける条件」で「すべて」を選択(デフォルトでそうなっていると思います)、

また、「即時に公開するコメント」で「すべて」を選択、

トラックバックについては、「トラックバックを受信」をチェック(デフォルトでそうなっていると思います)、そして「事前確認」のチェックを外してください。

すべて設定したら一番下の「変更を保存」をクリックしてください。
8.エントリー投稿画面をカスタマイズする
デフォルトのエントリー投稿(および編集)画面では、タイトルと本文、そして公開する・しないの3種類の設定しかなく、
- カテゴリー
- 概要
- 追記
- タグ
- コメント・トラックバックの受信設定
等の制御ができません。特にカテゴリーやタグはエントリーを公開する時に同時に設定しておきたい項目です。
これらを表示させるには、管理画面左の「新規エントリー」をクリックし、エントリー投稿画面下にある「画面の表示設定を変更」のリンクをクリック

表示されたポップアップ画面で、表示させたい項目を選択・保存します。「カスタム」を選択すると、項目毎に表示・非表示を設定できます。

あと、ポップアップ画面下にある「アクション・バー」は「両方」を選択しておくと、エントリー編集画面のフォームボタンがテキストエリアの上下に表示されて便利です。

9.コメントに TypeKey を利用する
TypeKey はコメント投稿におけるオンライン認証システムです。Movable Type のコメント投稿でこのオンライン認証を有効にして、コメント投稿者をTypeLey 認証者だけに制限すれば、スパムコメントを防ぐことも可能です。
詳細な説明は省略しますが、この機能は早めに設定しておいた方がいいでしょう。
まず、TypeKey アカウント新規作成のページで TypeKey のアカウントを取得します。
その後、管理画面左の「設定」をクリックし、次のページ上にある「コメント・トラックバック」をクリック。

「認証サービスの設定」をクリック。

TypeKeyのログイン画面が表示されるのでログイン(この画面はスキップされるかもしれません)。

次の画面で「return to Movable Type」のリンクをクリック。

元の画面のテキストエリアに認証用トークン(乱数)が入力されていればOKです。

この後、「変更を保存」をクリックし、ページ上に表示された「インデックス・テンプレートの再構築」を必ず行ってください。

10.クリエイティブ・コモンズ ライセンスを設定する
著作権表示をするのもいいですが、他での著作物の利用を明示的に認めたい場合は「クリエイティブ・コモンズ ライセンス」が有効です。
これを設定するとサイドバー下にクリエイティブ・コモンズのバナーが表示され、それをクリックするとサイトの著作物に関する利用条件が表示されます。

設定方法は管理画面左の「設定」をクリックして、次のページ一番下にある「クリエイティブ・コモンズ・ライセンス」の「ライセンスを設定する」のリンクをクリック。

ポップアップウィンドウが表示されるので、利用条件とライセンスの管轄地を選択して、「ライセンスを選ぶ」をクリック。

ライセンスが適用された旨の表示がされるので、一番下の「proceed」をクリック。

元の設定画面に設定されたライセンスが表示されます。

「変更を保存」をクリックするとバナーも表示されます。バナー画像は利用条件によって異なります。
設定した後で利用条件を変更したい・ライセンスを削除したい場合は、管理画面に表示されたバナー下にあるリンクをクリックしてください。

以上です。
その他、「テンプレートをファイルで保存する」というのも候補に挙げてましたが、カスタマイズ前の状態ということで除外しました。
2007.05.23
3項について、設定不足のケースがあるため、「Movable Type の PHP化(その1)」へのリンクを追加しました。
*1:お使いのレンタルサーバ等で PHP が利用できることが前提です。なお運用途中で拡張子を変更する場合はリダイレクトという手があります。
ArchiveDateFooter プラグインバージョンアップ
月別アーカイブを年別にリスト表示する場合に利用する ArchiveDateFooter プラグインですが、MTArchiveDateFooter をラップするコンテナタグ MTArchiveList タグで sort_order 属性に acend を設定された場合に正常に表示されないという不具合を修正しました。
この修正により昇順で表示する場合でも、スクリーンショットのように正常に動作するようになります。
この不具合は昨年にご質問を頂いておりました。公開が遅くなり申し訳ございませんでした。
なおバージョンアップしたプラグインは元記事「ArchiveDateFooter プラグイン」よりダウンロードしてください。ご利用方法についても元記事をアップデートしましたのでそちらを参照ください。
Movable Type 3.34(英語版)リリース
米 Six Apart より Movable Type 3.34(英語版)がリリースされました。
Last night we released version 3.34 of the Movable Type Publishing Platform.
- Fixes important potential XSS vulnerabilities
- Is a free and recommended update for all Movable Type users
- Enables simple use of FastCGI which yields a 15x performance increase
XSSは「クロスサイトスクリプティング」の略で、ソフトウェアのセキュリティホールの一種です。これらに関するバグが修正が施されています。
FastCGI は、プログラムのパフォーマンスを向上させる CGI のための拡張(仕様)で、プロセスをメモリ上に常駐させることで、プロセス起動や終了のオーバーヘッドを削減しているようです。
公式サイトで各サーバ対応のモジュールおよび、各種言語用ライブラリが用意されています。
これまで Movable Type を FastCGI で使用するには多くのパッチが必要でしたが、その手間がなくなります(若干の設定変更は要)。
FastCGI と組み合わせて利用することで
寒…