movabletypeしよう 002
「movabletypeしよう」前回は、movabletypeインストール条件のチェック、及び、動作に必要なサーバソフトウェアの準備を行いました。今回は、movabletype のインストール環境の設定を行い、実運用の準備を行います。
002 movabletype インストール前の設定 -日本語対応-
ここでは、webサーバとしてapache1.3.27、データベースに mysql をつかうことを前提として、作業を進めます。mysql は、データベースを作成できるアカウントを利用できることが条件です。まず、Movable Typeで使用するデータベースの作成を行う必要があります。作成するデータベースの名前を決めたら、以下のようにshellからコマンドを打ち込んでデータベースを作成します。
$ mysqladmin -uデータベースを作成可能なユーザ -pユーザパスワード create 作成するデータベース名 注: -p とパスワードの間にはスペースをいれません
データベースを作成したユーザにてMovableTypeを利用する場合は、ここでの作業は必要ありません。MovableType用にユーザを設定する場合には、データベースにパスワード付きのアクセス権を付与してやります。
$ mysql -u root -prootパスワード
> grant all privileges on 作成したデータベース名.* to 新しいユーザアカウント IDENTIFIED by '新しいパスワード'; #(実際は一行です) 接続にソケットを用いる場合 > grant all privileges on 作成したデータベース名.* to 新しいユーザアカウント@localhost IDENTIFIED by '新しいパスワード'; #(実際は一行です)
データベースの準備は以上です。ユーザアカウント、データベース名、データベースパスワードを、後ほど設定ファイルに書き込む必要があるので控えておきましょう。
ファイル群をWebサーバがアクセスできる場所に移す前に、日本語に対応させるための幾つかの修正が必要になります。(Milano氏をはじめとする多くの方々により、修正方法が提供されています。http://rebecca.ac/milano/mt/)
MTで使用できる日本語文字コードには、特に制限はありませんが、Language Packで利用できる漢字コードがEUC-JPとUTF-8であることや、XML-RPCインタフェースを利用すること等を考えると、UTF-8での運用がお勧めです。
以下にパッケージに含まれるファイルの変更箇所をリストアップしてあります。ファイルの場所は、MovableType本体のダウンロードファイルを解凍してできたディレクトリを、[MT]としてあります。あらかじめ、Jcodeモジュールのインストールが必要です(前回参照)。
------------------------------------------------------------------
[MT]/lib/MT/default-templates.pl
213,577行目
en-usをjaに変更
------------------------------------------------------------------
[MT]/lib/MT/App/TrackBack.pm
72, 80行目
iso-8859-1を$app->{cfg}->PublishCharsetに変更
121行目の,no_utf8($tb_id, $title, $excerpt, $url, $blog_name);の次の行に以下の6行を挿入
require Jcode;
my $charset = {'Shift_JIS'=>'sjis','ISO-2022-JP'=>'jis','EUC-JP'=>'euc',
'UTF-8'=>'utf8'}->{$app->{cfg}->PublishCharset} || 'utf8';
$title = Jcode->new($title)->$charset;
$excerpt = Jcode->new($excerpt)->$charset;
$blog_name = Jcode->new($blog_name)->$charset;
273行目
en-usをjaに変更
------------------------------------------------------------------
[MT]/lib/MT/Mail.pm
21行目の,SIGの次の行に以下の5行を挿入
require Jcode;
$body = Jcode->new($body)->jis;
$hdrs->{Subject} = Jcode->new($hdrs->{Subject})->mime_encode;
$hdrs->{'Content-Type'} = qq(text/plain; charset="iso-2022-jp");
$hdrs->{'Content-Transfer-Encoding'} = "7bit";
------------------------------------------------------------------
[MT]/lib/MT/App/CMS.pm
8行目に挿入
use Jcode;
213行目の,$param->{bm_show} = $q->param('bm_show');の次の行に以下の5行を挿入
my $charset = { 'Shift_JIS'=>'sjis','ISO-2022-JP'=>'jis','EUC-JP'=> 'euc',
'UTF-8'=>'utf8'}->{$app->{cfg}->PublishCharset} || 'utf8';
$param->{text} = Jcode->new($param->{text})->$charset;
$param->{link_title} = Jcode->new($param->{link_title})->$charset;
$param->{link_href} = Jcode->new($param->{link_href})->$charset;
629行目の,if ($q->param('is_bm')) { の次の行に以下の2行を挿入
my $charset = { 'Shift_JIS'=>'sjis','ISO-2022-JP'=>'jis','EUC-JP'=> 'euc',
'UTF-8'=>'utf8'}->{$app->{cfg}->PublishCharset} || 'utf8';
631行目の,$param{text} = sprintf qq(<a title="%s" href="%s">%s\n\n%s),
の次の行に,以下の1行を挿入
map{Jcode->new(CGI::unescape($_))->$charset()}
------------------------------------------------------------------
[MT]/lib/MT/App.pm
56行目
$app->{charset}を$app->{cfg}->PublishCharsetに変更
------------------------------------------------------------------
[MT]/styles.css
※MacOSのIE5.2で発生する問題の修正です
1行目 行頭に一切スペースを空けないようにして下記の行を追加
@charset "UTF-8";
ファイル全体をチェックして,font-family属性の最初の指定フォントに
「ヒラギノ角ゴ Pro W3」と、「Osaka」 を追加する
エディタなどで置換機能が使えるならば,下記のように一括変換します
「font-family:」→「font-family:"ヒラギノ角ゴ Pro W3","Osaka",」
文字コードUTF-8でファイルを保存する
次に、MovableTypeの管理画面を日本語化する Language Pack を適用しましょう。前回ダウンロードしてきた mt-ja.tar.gz ファイルを任意の場所で解凍します。次に、解凍された mt-ja フォルダ内のファイル ja.pm.utf-8 もしくは、ja.pm.euc-jp を、[MT]/extlib/MT/L10N/ というディレクトリに ja.pm とリネームしてコピーします。さらに,mt-ja フォルダ内の lang-ja というフォルダを、フォルダごと [MT]/images/ にコピーします。
# tar zxvf mt-ja.tar.gz # cp mt-ja/ja.pm.utf-8 [MT]/extlib/MT/L10N/ja.pm # cp -R mt-ja/lang-ja [MT]/images/
ここまでできたら、サイトの構造にあわせて設定ファイル(mt.cfg)を設定してやります。多くのwebサーバでは、cgiスクリプトと通常のコンテンツをディレクトリで分けて設置する場合が多いと思います。cgi-bin ディレクトリにcgiファイルを、その他のファイルを通常のディレクトリに置くとして設定します。
./mt.cfg 14行目 :: CGIPath https://bloggers.ja.bz/sunouchi/cgi-bin/ ここには、cgiファイル群をアップする予定のURLを省略せずに記述します。 このサイトの場合は上記のようになります。 15行目以降に挿入 ObjectDriver DBI::mysql Database データベース名 DBUser データベースユーザアカウント 続けて、データベースとwebサーバが同一ホストの場合には、 mysql のソケットファイルを下行のように指定します。 DBSocket /var/lib/mysql/mysql.sock データベースが他のホストにある場合には、下行の記述を追加します。 DBHost ホスト名 35行目付近 :: StaticWebPath /sunouchi/ Blogのトップページがくる予定のディレクトリを、サイトルートの絶対パスで指定します。 このサイトの場合は上記のようになります。 52行目付近 :: SendMailPath /usr/sbin/sendmail もし、unix系のサーバにて運用する予定で、sendmaiが上記以外の場所にある場合、 コメントをはずしてパスを指定おきます。 63行目付近 MailTransfer smtp SMTPServer 利用できるsmtpサーバホスト名 sendmailが使えないもしくは、windowsサーバを使用する予定で、 かつ、自由に利用できるsmtpサーバが確保できる場合には、 コメントをはずしてsmtpサーバを指定してやります。 198行目付近 :: NoHTMLEntities 1 日本語を使う場合には、この行のコメント#をはずしてやります。 252行目付近 :: PublishCharset UTF-8 日本語を使う場合には、この行のコメント#をはずしてやります。 本文出力前のHTTPヘッダ中の、charsetをUTF-8で出力してくれます。
最後に、データベースアクセスのためのパスワードを設定してやります。
./mt-db-pass.cgi 1行目 :: データベースパスワード
1行目にデータベースパスワードを記述して改行します。
以上で、システムをサーバにアップロードする準備が全て整いました。次回は、システムをサーバにアップロードして、最初のblogを作成してみたいと思います。




おお~~、早速「002」ですか。
相変わらず早い対応ですな。
ところで提案なんですが、「MT使用方法用」に一本新たなblogを作ってはどうですか?
authorをmeshメンバー全員にして、それぞれが今まで過去に書いたMT関係の記事をもう一度まとめて載せつつ、今後新たに報告する場合はそのblogで行う。
またカテゴリーも「スタイルシート」や「インストール方法」、「コメント」や「その他ツール」なんぞ、それぞれの機能ごとに分けて説明していく。
その他にも、よそで行われている議論等にちゃんとリンクを貼っていけば、かなり分かりやすいものになるかと。
まぁちょっとした思い付きなんで、考えといて下さい。
Posted by: h.katou | November 26, 2002 11:50 AM
おーい あんたずいぶん遠くでBLOGしてるのに
講座まで開こうとしてんのー
暇なのねー
財布気お付けなさいよー
ほかの金め のもの盗られないように
ゴマキ 悲しいワ
餃子うまいーーー??????????
日本思い出すー
Posted by: ゴマキ | November 26, 2002 6:49 PM
MPMさんコメントありがとうございます。
「BHAGAVADBEATS blog」いつも拝見させていただいてます。スピーカーの音量を上げすぎていないかチェックしてから、いつもチェックします。
Posted by: sunouchi | November 27, 2002 3:54 PM
お世話になってます。
MT ver.2.63に
./search_templates/comments.tmpl
と
./search_templates/default.tmplに
iso-8859-1に関する記述がないのですが
なくなったのでしょうか?
あんまり詳しくないのに挑戦しているので
はずした事をいっているのかもしれませんが
で設定されているので
CGIが書き出してくれるってことになったんですよね?
Posted by: ウム | April 23, 2003 1:04 AM
ウムさん、こんにちは
./search_templates/ 以下のファイルに関しては、<$MTPublishCharset$> で設定されるので、必要ありませんね。訂正しておきます
Posted by: snotch | April 23, 2003 12:20 PM
はじめまして。
mysqlのインストールはできたのですが、
mysql用のアカウント作成でつまずいています。
addgroup/groupadd や pw コマンドなど試してたり
ネット上を色々探してみたのですがグループの作成方法が
どうしてもわかりません。ちなみにOS10.1.5を使っています。
(Developerインストール済み)
時間があるときにでも結構なんで解決方法を教えていただけないでしょうか?
Posted by: ababa | June 8, 2003 4:37 PM