movabletype JapanBlog in Xrea
2002年11月28日
■xrea.comへのインストール
日本語化patchに関しては自動化するツールが出来ました。それを使って下さい。
How to BLOG日本語を参考にxrea.comへのインストールをしてみる。
おまけにBerkleyDBを使わずにMySQLをデータベースにすることにも挑戦。
xrea.comのperlパスやパーミッションなどはスペックを参照。
インストール自体はmovabletype本家のここを参照。
_xrea.comへのインストールで気をつけるのは、*.cgiのパーミッションがrwx---r-x(705)もしくはrwx------(700)じゃないとダメだということ。
mt-check.cgi単独でチェックしたところ、必要なモジュールはインストール済み。MT2.51のダウンロードは、ライブラリの無いバージョンでかまわない。
あらかじめxrea.comの登録メールに載っていたユーザー管理用urlから、MySQLとSSHを有効化しておく。(SSHは必須ではない)
mt.cgiなどは、公開するものではないので、広告が入らないようにpublic_html/x/ディレクトリ以下に設置することにする。(コメント感謝)
参考
public_html/x/以外でも、とりあえずpublic_html/cgiを置いたフォルダ/.htaccessに
LayoutIgnoreURI *.cgi*
と書いて対処する方法もある。
その場合、StaticWebPathディレクトリ(public_html/mt/.htaccess)に
LayoutIgnoreURI *.rdf
LayoutIgnoreURI *.xml
と書く。(情報提供noirさん)
●mt.cfgがブラウザから見えてしまうので、パーミッションを600(所有者のみ読み書き可能)に変える
もしくは上記のpublic_html/x/.htaccessかpublic_html/mt/.htaccessに追加する
<Files mt.cfg>
Order allow,deny
Deny from all
</Files>
(情報提供milanoさん)
●ftpで自分の登録したxrea.comにログインし、public_htmlの下に「mt」(コンテンツを置くフォルダ)と「x」(.cgiを置くフォルダ)というフォルダを作る。「archives」フォルダもここで作っておいてもかまわない。
●ローカルでMT-2.51.tar.gzを解凍してmt.cfgを以下のように設定する。解凍にはWinRARなどの解凍ソフトを使う。
14:
CGIPath http://アカウント名.サーバー名.xrea.com/public_html/x/
CGIPath http://アカウント名.サーバー名.xrea.com/x/
21:
ObjectDriver DBI::mysql
Database アカウント名
DBUser アカウント名
DBSocket /var/lib/mysql/mysql.sock
35:
StaticWebPath /virtual/アカウント名/public_html/mt/
StaticWebPath /mt/
2002年12月からworkじゃなくてvirtualディレクトリに変わったみたい。
115:
HTMLUmask 0072
UploadUmask 0072
DirUmask 0072
↑xreaはグループのパーミッションが0のほうがいいみたい。
198:
NoHTMLEntities 1
252:
PublishCharset EUC-JP
●x(cgiをおいた)ディレクトリに.htaccessを設置する
●mt-db-pass.cgiにMySQLのパスワード(xreaの場合はアカウントパスワードと同じ)を書き込む。
●Japanease Language Packをダウンロードしてくる。
lang-jaをimagesフォルダの下に移動する。
ja.pm.euc-jpをja.pmと名前を変えてextlib/MT/L10N/の下に移動する。
●さまよえる Movable Typeスレッド その1にも日本語化について記述あり。
まず
lib/MT/App.pm
47:
if (my $charset = $app->{cfg}->PublishCharset) {
に。
●あらかじめデフォルトテンプレートのcharsetをEUC-JPに変更しておく。下記のテンプレート修正のようにヘッダーを変更しておくと楽。
lib/MT/default-templates.pl
<?xml version="1.0" encoding="euc-jp"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />
●検索用テンプレートも修正が必要かも?
search_templates/comments.tmpl
search_templates/default.tmpl
ここによると、headタグを閉じていない模様。
上記ヘッダーと置き換えて、</head>を<body>の前の行に入れる。
●Macintoshブラウザの管理画面が文字化けするのを修正する。
MT-2.51.tar.gzを解凍した直下にあるstyle.cssを修正。
font-familyの行頭に#をいれてコメントアウトするか、font-family:にOsakaを入れたりする。
ここまで出来たら、xreaのftpサーバーのpublic_html/x/フォルダ以下に転送する。(容量を少しでも削りたいときは、不要なファイルをあとで削除する)
imagesフォルダ,docsフォルダ,style.cssは、StaticWebPathで指定したmtフォルダに転送する。
●アップロードできたらパーミッションを設定する。
SSHを使う場合。自分のxrea.comにログインし、chmod 705 public_html/x/*.cgiを実行する。(xreaは、このパーミッション以外ではCGIを実行できない)
またMySQLのパスワードが見えてしまうのでchmod 600 public_html/x/mt-db-pass.cgiを実行する。
ftpから操作するときは右クリックで、プロパティを実行する。
mt*.cgiの9個のファイルを設定します。
所有者は「読み取り、書き込み、実行」の全部をチェック。
グループは全てオフ。
すべてのユーザーは「読み取り、実行」だけチェック。
mt-db-pass.cgiは所有者の「読み取り、書き込み」だけチェック。
●ブラウザから「http://アカウント名.サーバー名.xrea.com/x/mt-load.cgi」にアクセスし、成功したらpublic_html/x/mt-load.cgiを削除する。
失敗した場合はパーミッションやディレクトリ、ftpのアスキー/バイナリーモードなどをチェックする。
●mt.cgiでMelody,Nelsonでログインし自分のアカウントを設定します。
「Japanese」の設定も忘れずに。
●mtの下か、おなじ階層にarchivesフォルダを忘れずに作ります。
●管理画面からTemplateの編集を選び、Main Index、Master Archive Index、Category Archive、Date-Based Archive、Individual Entry Archive、下の「その他のTemplate」のヘッダーが
<?xml version="1.0" encoding="euc-jp"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />
に成っているかどうかを確認する。charset=iso-8859-1だったら、上記のように修正する。
●管理画面からTemplateの編集を選び、RSS 1.0 IndexとRSS 0.9 Indexの一行めを変更する。
<?xml version="1.0" encoding="euc-jp"?>
そして途中の行のen-usを
<dc:language>ja</dc:language>
に設定する。
●設定用cgiに広告を出さない設定をする。
公開しないcgiのテンプレートに<!--nobanner-->を入れる。
tmpl/cms/の下にあるファイルをいじる。
●TrackBack文字化け対策
lib/MT/App/TrackBack.pmを修正。
53:
sub no_utf8 {
require Jcode;
for (@_) {
next if !defined $_;
$_ = pack 'C0A*', $_;
$_ = Jcode->new($_)->euc;
}
}
2chスレのpatchだと
lib/MT/App/Trackback.pm
16:
use Jcode;
116:
if ($app->{cfg}->PublishCharset eq 'SHIFT_JIS') {
$title = Jcode->new($title)->sjis;
$excerpt = Jcode->new($excerpt)->sjis;
$blog_name = Jcode->new($blog_name)->sjis;
} elsif ($app->{cfg}->PublishCharset eq 'EUC-JP') {
$title = Jcode->new($title)->euc;
$excerpt = Jcode->new($excerpt)->euc;
$blog_name = Jcode->new($blog_name)->euc;
} else {
$title = Jcode->new($title)->utf8;
$excerpt = Jcode->new($excerpt)->utf8;
$blog_name = Jcode->new($blog_name)->utf8;
}
●Bookmarkletの文字化け対策
lib/MT/App/CMS.pmの修正。
584:
if ($q->param('is_bm')) {
require Jcode;
$param{selected_text} = $param{text};
$param{text} = sprintf qq(<a title="%s" href="%s">%s</a>\n\n%s),
Jcode->new(scalar $q->param('link_title'))->euc,
Jcode->new(scalar $q->param('link_href'))->euc,
Jcode->new(scalar $q->param('link_title'))->euc,
Jcode->new($param{text})->euc;
patch修正したらpublic_html/x/以下の該当するファイルと置き換える。
●文字コード宣言は行いましょう(CSS)
によると、styles-site.css(Stylesheetテンプレート)の先頭に
@charset "euc-jp";
を追加。font-familyに日本語書体名を使いたい場合はあったほうがいいみたい。
●style-sheet.cssを管理画面からカスタマイズ。
これは個人のデザインの好みで。
ただfont-sizeをポイント指定やsmall指定などにすると、Internet Explorerでは読める大きさでもNetscape7などで小さすぎるという現象があります。
movabletype-Stylesheet 002を参考に。
配色を決めるのも個人の好き好きに。
配色ツール(Mari's IROEMPITSU)が便利です。
また男性の20人に1人は色覚異常で見えにくい色の組み合わせがあるそうです。
カラーバリアフリーガイド Ver.1.01を参考に。
●メール文字化け対策
lib/MT/Mail.pmに追加
22:
require Jcode;
$body = Jcode->new($body)->jis;
$hdrs->{Subject} = Jcode->new($hdrs->{Subject})->mime_encode;
$hdrs->{'Content-type'} = "text/plain; charset=\"ISO-2022-JP\"";
●Atsushi Sanoさんの翻訳ドキュメントも参考にしてください。
●もっと良い方法があったみたい(携帯で更新)
携帯からmovabletypeを更新するスクリプト。
●手動挿入広告タグの書き換えについて
XREAの自動挿入される広告が、XHTML 1.0 Strictではないので、手動でタグを作り違反しないように設定する方法。
*.cgi は x 以下に置いた方がいいと思う。
x 以下に置かないと、XML を返すところでも平気で広告を入れてしまうから。
.htaccess ですが、
LayoutIgnoreURI *.cgi*
LayoutIgnoreURI *.rdf
LayoutIgnoreURI *.xml
のようにしたらうまくいきました。
また、blogを置くディレクトリにも、
LayoutIgnoreURI *.rdf
LayoutIgnoreURI *.xml
が必要ですね。
すみません。書き方が悪かったです。
「blogを置くディレクトリ」とは、archivesディレクトリのほうではなくて、メインページ(index.html) などの置かれるディレクトリのことを言いたかったのでした。
そこに作成されている index.rdf と index.xml のリクエストに対して、広告を混ぜないように、という趣旨です。
わたしもxreaですが、s7のほうで、こちらには Image::Magick モジュールが入っていませんでした。
NetPBMは/usr/binに存在するようなので、Troubleshootingを参考に、IPC::Run モジュールのアップロードと mt.cfg の変更をやってみたところ、画像ファイルのupload後の画面でthumbnail作成を訊いてくるようになったものの、実行には失敗してしまうようでした。ううむ。
修正しました。
Image::Magickですが、CPANからダウンロードしてきてlibに入れとくのでもダメなんですか?
xreaでテスト用のMT動かしてます。
mt.cfgのパーミッションに気をつけた方がいいですね。
600 あたりにしないと、ブラウザからのぞけますんで。
あのー
MTつかってないんですが、MTでImageMagic使うみたいな事
有ったのですが、
s9さばってimagemagic入ってるんですか?
もし入ってたらルートパス教えてもらえませんか?
一つ質問させてください.どうも僕には原因がわからないのでどなたか意見いただけるとうれしいです.
ここの記述を参考にmilanoさんのツールをつかってxrea,s33サーバにMTを導入しようとしています.
UTF-8にして無事日本語化終了し、好調に動いたかのように見えたのですが、rebuildしてもentryが一切表示されないんです.
パーミッションがおかしいのか、スクリプトの余分なところを書き直したのかと思ってそれらを重点的にチェックしたのですがどうも原因がわかりません・・・.是非ご意見をお願いします.
_>umさんと同じエラーになりました。Rebulidできません。管理者の権限はきちんとなっているはずなんですが…。
このようにエラーがでます。
/Library/WebServer/Documents/mt/index.html.new' への書き込みに失敗しました: ローカルファイル '/Library/WebServer/Documents/mt/index.html.new' を開けません: Permission denied
/Library/WebServer/Documents/はデフォルトでroot:admin権限で775だから書き込みが出来ないのでは。
apacheの権限で書き込みができないとだめだと。
はじめまして、xreaでMTをインストールしているのですが、どうしても設定がうまくいかず、下のようなエラーメッセージが出てきます。
Loading initial data into system...
An error occurred while loading data:
Connection error: Access denied for user: 'アカウント名@localhost' (Using password: YES)
どこを直せばよいか、教えて下さい。
アカウント名@localhost
otsuneさんありがとうございます。
…ですが、どこにアカウント名@localhostを書いたのか全く解りません。
どこかに足さなければいけないところがあるのでしょうか?
それともアカウント名を書く部分に@localhostと書き足せば良いのでしょうか。
すみませんがもう一度教えて下さい。
はじめまして。FYといいます。
Movable TypeをXREA.comのS28へ置き、設定しようとしています。
各設定画面は問題なく表示されて、更新もされていますが、
リビルドしても実行中の表示で止まってしまいます。
エラー表示はでてないみたいなのですが、index(html)ファイルが作成されません。
ここのサイトほかblogの設定を参考に
いろいろと試しているのですが、
途方に暮れております。
現在は、cgi用ディレクトリを
/public_html/x に、
html作成用ディレクトリを
/public_html/mtbook にしています。
パーミッションは cgiは700に、
ディレクトリは705に設定しています。
当然archiveディレクトリも/mtbookの下に作成しています。
mt.cfgの設定が悪いのでしょうか?
すみません。
archive→archivesに訂正です。
自己解決しました。AIR H"の環境だとうまくいかなったのですが、ADSLの環境からだとうまくいきました。もちろん設定は変えていません。