UnxUtils / UnxUpdates による MTOS のビルド
「TortoiseSVN のインストールと MTOS ソースコードのチェックアウト」の続きで、今回は SVN でチェックアウトした MTOS ソースコードのビルドを実行し、デフォルトの言語を日本語にします。
「ビルド」とは、ソースコードに対してコンパイルやリンケージなどを行ない、バイナリファイルなどの実行可能なファイルを作成することを指します。
Windows 上でビルドするため(というかLinux環境の導入)には Cygwin がよく用いられますが、ここでは Six Apart の記事「MTOS を Windows 環境で利用する」で紹介されている、
- UnxUtils
- UnxUpdates
を利用したいと思います。
UnxUtils は Windows で実行可能な UNIX(Linux)コマンドユーティリティです。UnxUpdates には UnxUtils からアップデートされたコマンドが含まれています。
以下、ビルドまでの手順を紹介します。
注:このエントリーでは、AcivePerl がローカル PC にインストールされていることを前提にしています。
1.UnxUtils.zip/UnxUpdates.zipのダウンロード
UnxUtils より「Download UnxUtils」をクリック。

「Download」をクリック。

画面やや下に表示された UnxUtilsSrc.zip と UnxUtils.zip をクリックすればダウンロードが開始します。

または、下記のサイトからでも UnxUtils.zip をダウンロードできます。
UnxUtils.zip GNU utilities for native Win32
UnxUpdates.zip は、UnxUtils.zip のファイル名を変更した、以下のURLでダウンロードできます。とりあえず両方のリンクを掲載しておきます。
なお、検索で一番ヒットした下記のサイトはダウンロードで 403 Forbiden になるので、このエントリーを書いている時点では NG です。
ダウンロードした UnxUtils.zip/UnxUpdates.zip をそれぞれ解凍します。
UnxUpdates.zip の ファイルを、UnxUtils.zip で解凍した中にある、
C:¥UnxUtils¥usr¥local¥wbin
に上書きします。
ここでは、UnxUtils フォルダが C ドライブ直下で作業する前提で進めますが、
可能であれば ActivePerl のある usr フォルダ配下に UnxUtils¥usr¥local を
移動して、
¥usr
¥local
¥include
¥lib
¥share
¥wbin
とすれば、フォルダが整理されて良いでしょう。
2.パスを通す
「パスを通す」というのは、Windows や Linux 等でコマンドを実行するときに、コマンド名だけを入力すれば良い状態を指します。
今回の場合、wbin フォルダ配下にある make というコマンドを実行しますが、パスが通っていないと
C:¥UnxUtils¥usr¥local¥wbin¥make
と入力しなければなりません。また make の中に他のコマンドを実行する記述があると、パスが通っていないと実行されない可能性があります。
「マイコンピュータ」を右クリックして「プロパティ」を選択。

詳細設定タブをクリック。

環境変数をクリック。

「システム環境変数」にある「Path」を選択して「編集」をクリック。

「変数値」の最後にパスの区切り文字";"を記述し、その後に下記を追加します。

C:¥UnxUtils¥usr¥local¥wbin
パスが通っている確認は、
「スタート」→「プログラム」→「アクセサリ」→「コマンドプロンプト」を開いて、チェックアウトしたフォルダに cd コマンドで移動します。
cd C:¥svn
移動したフォルダで、
ls

パスが通っていないと下のようになります。

なお、システム環境変数を設定する前に開いたコマンドプロンプトではパスが通らないので、ウィンドウを閉じて、新しいコマンドプロンプトを開いてください。
3.Makefile の修正
Windows 上で Makefile が正常に動作するための修正を行います。
TortoiseSVN で MTOS をチェックアウトしたフォルダにある「Makefile」を任意のエディタで開き、シングルクォーテーション「'」をダブルクォーテーション「"」に全て置換します。
変換前の例(抜粋)

変換後の例(抜粋)

手でひとつずつ探して置換しても良いですが、エディタの置換機能を使ってまとめて変換した方が誤りがなくて良いでしょう。
4.ビルドする
それでは MTOS をビルドします。
2項のコマンドプロンプトを使います。TortoiseSVN で MTOS をチェックアウトしたフォルダに移動してください。
ビルドする場合は、
C:¥svn¥MTOS> make me
と入力します。Warning 等が出ますが、とりあえず出来上がっているようです。

日本語化にする場合は「MTOS を Windows 環境で利用する」で提示されている
C:¥svn¥MTOS> make me 'BUILD_LANGUAGE=ja'
では現時点で有効にならないようです(Makefile に設定される BUILD_LANGUAGE の値が "en_US" のまま)。正常に動作しないため、シングルクォーテーション「'」をダブルクォーテーション「"」に変更し、
C:¥svn¥MTOS> make me "BUILD_LANGUAGE=ja"
としてください。これで日本語対応のファイル(mt-check.cgi/MT.pm 等)が出力されると思います。

Windows 上で MTOS を動作させる場合は、MTOS フォルダが xampp 等で実行可能な位置にあれば、そのままインストールすることもできます。なお、サイトURL/サイトパスは MTOS 以外の他のフォルダを指定した方が良いでしょう(index.html 等が上書きされるため)。
認識誤りや設定誤り等ありましたらご指摘ください。
2008.01.30
日本語設定の記述を修正しました。
TortoiseSVN のインストールと MTOS ソースコードのチェックアウト
TortoiseSVN のインストールと MTOS ソースコードのチェックアウト方法を紹介します。目的は、Windows で MTOS をビルドすることで、本エントリーはその1回目です。
また「MTOSリリースと日本語化手順」ではかなりいい加減な手順を公開してしまったので、その反省を兼ねてます。
1.TortoiseSVN のダウンロード
TortoiseSVN は、Subversion バージョン管理システム用のオープンソースクライアントです。ファイルやディレクトリを時系列で管理することができます。
TortoiseSVN のサイトの「Download」のリンクをクリック。

ここでは Windows 32bit 用のインストーラを選択。

画面が切り替わってダウンロードが開始します。

「ファイルを保存」をクリックしてインストーラを任意のフォルダに保存します。

2.TortoiseSVN のインストール
保存した(現時点のバージョン)「TortoiseSVN-1.4.7.11792-win32-svn-1.4.6.msi」をクリックするとインストーラが開始するので「Next」をクリック。

「I accept ~」を選択して「Next」をクリック。

インストール先を確認して、このまま(C:¥Program Files¥TortoiseSVN¥)でよければ「Next」をクリック。変更する場合は、「Browse」をクリックしてインストール先を変更してください。

「Install」をクリックするとインストールが開始します。

インストール実行中です。

完了したら「Finish」をクリック。

変更履歴が表示されますので、確認して画面を閉じてください。

変更履歴の表示とほぼ同時に再起動を求められるので、すぐに再起動してよければ「Yes」をクリック。後で再起動する場合は「No」をクリック。

3.MTOS ソースコードのチェックアウト
再起動後、「スタート」→「マイコンピュータ」を起動し、Cドライブ(またはチェックアウトしたいドライブ)を右クリックして
「SVN Checkout...」を選択。SVN のメニューはこのようにドライブやフォルダに表示されます。

「URL of repository:」 に
http://code.sixapart.com/svn/movabletype/tags/mt4.1
を設定し、「Checkout directory:」に
C:¥svn
を設定し、後の項目は画面のような状態で「OK」をクリックします。
なお、XAMPP をローカル PC で動かしているのであれば、ドキュメントルート配下にチェックアウトして、そのまま(チェックアウトしたファイルを移動せずに)PC に MTOS をインストールすることができます。

ファイルのダウンロード(svn では「チェックアウト」と言います)が開始します。すべて終了するまでにしばらく時間がかかります。

「Completed」が表示されれば完了です。「OK」をクリックしてください。

チェックアウトしたファイルは、エクスプローラ上でこのような感じで表示されます。これはファイルが SVN の管理下におかれていることを示すものです。

4.SVNでプロキシ超えをする
プロキシ超えをする場合は、
C:¥Documents and Settings¥ユーザー名¥Application Data¥Subversion
を任意のエディタで開いて、下記のホスト名とポートのコメントアウトを外し、右辺をプロキシサーバの内容に修正します。
### Information for the first group:
# [group1]
# http-proxy-host = proxy1.some-domain-name.com
# http-proxy-port = 80
### Information for the first group:
# [group1]
http-proxy-host = proxy1.some-domain-name.com
http-proxy-port = 80
ただしこれでは不完全かもしれません。
MTOSリリースと日本語化手順
MTOS(Movable Type Open Source)がリリースされました。

MTOS: Movable Type オープンソース・プロジェクト
Movable Type の進化を、さらに加速するための、新たなチャレンジです。2001年の誕生以来、Movable Type はコミュニティーと共に進化を続けてきました。インターネット上で公開されている、豊富なプラグインやテンプレートに加え、いただいたバグレポートやフィードバックも、製品の開発における重要な位置を占めています。このたび開始されるオープソース・プロジェクトは、このような活動を、より一層押し進めることを目的としています。
具体的には、『Movable Type コア部分の、GPL による公開』と『開発プロセスのオープン化』をおこないます。拡張性の高い Movable Type 4 の新アーキテクチャと、オープンソースの開発スタイルを組み合わせることで、スピーディーで、幅広いソリューションの開発を目指します。
MTOS は以下のページからダウンロードできます。
2008.02.01 追記:MTOS 4.1(全ローカライズ版)は「LocalizedPackages/MTOS-4.1」からダウンロードできます。
2008.01.29 追記:MTOS 4.1 日本語版は「MTOS-4.1-jaパッケージの作り方」からダウンロードできます。
以下、日本語化手順を示します。1~3の3通りを示してますので、一通り読み終えてから選択することをお勧めします。
1.日本語化する
MTOS(MTOS-4.1-en)はデフォルトで英語表示になっています。管理画面の日本語化はインストール途中で「Japanese」を選択すれば良いのですが、ブログの表示や文字コード等、すべてを日本語化する場合は、インストール時に下の画面

が表示された時点で、インストールを中断。mt-config.cgi を任意のエディタで開き、一番最後に下記の内容を追加します。
DefaultLanguage ja
MailEncoding ISO-2022-JP
ExportEncoding Shift_JIS
DefaultTimezone 9
CategoryNameNodash 1
NewsboxURL http://www.sixapart.jp/movabletype/news/newsbox.html
LearningNewsURL http://www.movabletype.jp/newsbox.html
NewsURL http://www.sixapart.jp/movabletype/
追加後、mt-config.cgi を元のディレクトリにアップロードして、インストールを続行します。
上記の環境変数の意味は、下記のリンクからドキュメントを参照してください。
- DefaultLanguage
- MailEncoding
- ExportEncoding
- DefaultTimezone
- CategoryNameNodash
- NewsboxURL
- LearningNewsURL
- NewsURL
2.インストールウィザードも日本語化する
上記の変更では、インストールウィザードが途中まで英語表示のままです。インストールウィザードの最初(一番最初の画面は除く)から日本語表示にしたい場合は、インストール前に次のファイルの内容を変更してください。
また、インストール途中で上記の mt-config.cgi の変更もお忘れなく。
mt-check.cgi 60行目
変更前
my $lang = 'en_US';
変更後
my $lang = 'ja';
lib/MT.pm 917行目
変更前
$mt->set_language('en_US');
変更後
$mt->set_language('ja');
3.完全に日本語化する
上記の「インストールウィザードも日本語化する」は、インストールウィザードを中断し、環境変数の設定は mt-config.cgi に依存する(プラグラムを必要以上に手を加えない)手順で書きましたが、インストールウィザードも中断したくない場合、次の部分を書き換えればすべて日本語化できます。
mt-check.cgi 60行目
変更前
my $lang = 'en_US';
変更後
my $lang = 'ja';
lib/MT.pm 917行目
変更前
$mt->set_language('en_US');
変更後
$mt->set_language('ja');
lib/MT.pm 962行目あたり
変更前
$defaults->{DefaultLanguage}{default} = 'en_US';
$defaults->{NewsboxURL}{default} = 'http://www.sixapart.com/movabletype/news/mt4_news_widget.html';
$defaults->{LearningNewsURL}{default} = 'http://learning.movabletype.org/newsbox.html';
$defaults->{SupportURL}{default} = 'http://www.sixapart.com/movabletype/support/';
$defaults->{NewsURL}{default} = 'http://www.sixapart.com/movabletype/news/';
#$defaults->{HelpURL}{default} = '__HELP_URL__';
$defaults->{DefaultTimezone}{default} = '0';
$defaults->{MailEncoding}{default} = 'ISO-8859-1';
$defaults->{ExportEncoding}{default} = '';
$defaults->{LogExportEncoding}{default} = '';
$defaults->{CategoryNameNodash}{default} = '0';
変更後
$defaults->{DefaultLanguage}{default} = 'ja';
$defaults->{NewsboxURL}{default} = 'http://www.sixapart.jp/movabletype/news/newsbox.html';
$defaults->{LearningNewsURL}{default} = 'http://www.movabletype.jp/newsbox.html';
$defaults->{SupportURL}{default} = 'http://www.sixapart.jp/movabletype/support/';
$defaults->{NewsURL}{default} = 'http://www.sixapart.jp/movabletype/';
#$defaults->{HelpURL}{default} = '__HELP_URL__';
$defaults->{DefaultTimezone}{default} = '9';
$defaults->{MailEncoding}{default} = 'ISO-2022-JP';
$defaults->{ExportEncoding}{default} = 'Shift_JIS';
$defaults->{LogExportEncoding}{default} = 'Shift_JIS';
$defaults->{CategoryNameNodash}{default} = '1';
上記の変更は4.1の設定を参考にしています。
なお、Movable Type ドキュメントによれば、LogExportEncoding は ExportEncoding に置き代わっているので、特に設定を変更する必要はありません。
サポートURLは単に日本語サイトに振り替えただけですので、「サポートされる」という意味ではありません。
4.ライセンス
MTOSは無償で商用利用可能です。ユーザー数も無制限、再配布可能です。Movable Type4.1とほぼ同機能です(カスタムフィールドと汎用ウェブサイトテンプレートセットはサポートされていません)。
ただし、Six Apartのサポートはありませんので、コミュニティ等で解決する必要があります。
MTOS のライセンスについては、WebSig24/7の記事の小川さんの資料が役に立つでしょう。
2008.01.26
日本語化手順の内容を2パターンから3パターンに変更しました。

