今日,ちなさいとで利用しているMovable Typeのバージョンを,一気に2.661から3.2までアップグレードしたので,その経過をご紹介する.
Six Apartのウェブサイトをまずは参考にする.
Movable Typeユーザー・マニュアル: 既存環境からのアップグレード
(http://www.sixapart.jp/movabletype/manual/mtmanual_upgrade.html)
それによると,既存の環境からのアップグレードするには以下のステップを踏むとのこと.
1.既存の環境のバックアップを行います。 2.最新版のソフトウェアをダウンロードします。 3.ダウンロードしたファイルをローカルのディレクトリで解凍し、Perlの実行環境にあわせ調整します。 4.環境設定ファイル (mt-config.cgi) の内容を実行環境にあわせ調整します。 5.FTPプログラムでインストール先に転送します。 6.システム・チェックプログラム (mt-check.cgi) で実行環境を確認します。 7.セットアッププログラムを実行します。
1.既存の環境のバックアップ
・エントリのバックアップ(エクスポートより)
・DB(MySQL)のバックアップ(xreaの管理画面よりPHPMyAdminを利用して)
・MT本体のあるディレクトリのバックアップ(xreaのファイルマネージャではなぜかコピーができず,仕方なくzipで固めておいておく.後から復帰させるとき,ファイルの所有権の変更とか面倒かもしれないけど,仕方ない.telnetが使えればcpコマンドでコピーするんだけどなぁ)
2.最新版ソフトウェアをダウンロード
・Six Apartのサイト(http://www.sixapart.jp/movabletype/)から最新版(MT-3_2-ja-2.zip)をダウンロード.その際にはTypeKeyを取得しないといけない.登録そのものはすぐに終了する.
3.ダウンロードしたファイルをローカルのディレクトリで解凍し、Perlの実行環境にあわせ調整
・適当な場所にファイルを解凍するのは簡単にできた.
・Pealの実行環境はxreaはデフォルトのまま(/usr/bin/perl)なのでとくにいじる必要はない
4.環境設定ファイル (mt-config.cgi) の内容を実行環境にあわせ調整
・これが一番大変だった.
4.1 まず,mt-config.cgi-originalというファイルの名前を,mt-config.cgiに変更.
4.2 その上でmt-config.cgiを環境に合わせ変更する.ちなが変更したのは以下の点である.
4.2.1 CGIPath (28行目) に、Perlスクリプトを保管するディレクトリパスを設定
これは,実際にMT本体を導入するパスを設定する.たとえばhttp://userID.s00.xrea.com/hoge/など
今回はMovableType 3.2にアップグレードを参考に,以前利用していたのとは別のディレクトリにインストールすることにしよう.
<注>うちでは,この通りやるとうまくいかなかった.http://tinasite.net/hoge/と指定し直したらうまくいった.
4.2.2 データベース・サーバーへのアクセス情報を設定
ちなはMySQLを利用しているので,35行目以降のコメントをはずし,設定しておく.(< >内は仮の文字列です)
ObjectDriver DBI::mysql
Database
DBUser
DBPassword <********>
DBHost localhost
4.2.3 StaticWebPath (93行目) に、CGIPathで指定したパスにmt-staticを追加
とあるが無視.
4.2.4 TempDir (211行目) に、Movable Typeが生成するテンポラリー・ファイルの保存場所を指定
これはそのまま,コメントをはずしておく.
4.2.5 PublishCharset (272行目) に、Movable Typeが生成するHTMLファイルのキャラクターセットを指定
PublishCharset utf-8
4.2.6 利用の環境にあわせ、他の項目もカスタマイズ
・117行目 SendMailPathを設定
SendMailPath /usr/sbin/sendmail
5.FTPプログラムでインストール先に転送
なぜか転送が途中で切れたりすることも・・・
とりあえずアップロード終了後,属性の変更をする.cgiで終わるファイルの属性を700に,config.cgiを604に設定.
6.システム・チェックプログラム (mt-check.cgi) で実行環境を確認
その後セットアッププログラムを実行.なんかするするとアップデートしてしまいました.なんだか簡単だったなぁ.
これでトラックバックスパムなどが減ればいいんだけど.
・参考にしたサイト
Movable Type 3.2 導入手順
χ:XREAにMovable Type 3.2を導入
MovableType 3.2にアップグレード
とりあえず今日の作業はここまで.スパムブロックとか,テンプレートの変更はまた後日行うことにしよう.というか,来てくれた人にはまだ何がどう変わったかすら分からないと思う.MTのバージョン表示も2.661のままだし(笑
このサイトは,MTの2.661で運営されているが,そろそろ3.2にアップデートしたいなと思っている.そんなわけで,まずは情報収集から始めよう.
ちなはxreaを使っているので,そこでのアップデートの方法を中心に.
Chitatopops: Movable Type:2.661 → 3.2
http://chitatopops.net/archives/2006/01/24/2661_to_32.php
xreaでアップデートするも失敗,新規インストールしたときの記録.
さて,果たしてアップデートを終えるのはいつになることやら・・・
最近のスパマーの動静として,コメントではなくトラックバックでスパム行為を行うというのが流行なのだそうだ.そんなわけでちなさいとでも,放っておくとエライ数のトラックバックが付いており,そのほとんどがスパマーからのものである.
これに対する根本的解決法はあまりなさそうなので,ひたすらしこしこと消していくしか方法がない.ちなさいとでは,以前コメントスパム対策を行った際,編集画面にコメントを表示させ,一気に消すという改造を行ったが,今回もそれが大いに役立ちそうである.
この時点で,ちなさいとの編集画面では,コメントが30件表示され,トラックバックは5件表示されている状態である.5件ずつ消していてはちまちま感満載なので,それを一気に30件に増やそうという試みである.
それには,/lib/MT/App/CMS.pmを書き換えるだけでよい.281行目あたりの
$iter = MT::TBPing->load_iter({ blog_id => $blog_id },
{ 'sort' => 'created_on',
direction => 'descend',
limit => 5 });しかし,見てみると結構な数のトラックバックスパムである.11月24日が15件,23日が24件.そしてこうして消している間にも次々にトラックバックがやってくる.スクリプトを使って絨毯的にやっているのだろう.大きなサイトではこれらをどう扱っているのだろうか?
先日,コメントスパムをまとめて削除したのだが,あれから数日経ってまた大変な量のコメントスパムが投稿されていた.しかもそれにまぎれて,通りすがりさんのコメントを見落としてしまっていた!
もはやこれまでのように,ちまちまと削除していてはどうしようもない.ということで,根本的なコメントスパム対策をすることにした.
MTコメントスパム対策(Software Linkage)には,さまざまなコメントスパム対策が,その効果や副作用の度合いとともに紹介されている.そこで効果がありそうだと思ったのは,「半角英数字のみのコメントをブロックする」というもの.
難易度 2これはいい!さっそくリンク先にとんでみる.
効果 5
副作用 2(外国人が投稿できない)
今回私のとった解決方法はそれではなく・・・・
「オール英語(半角文字のみの文字列)で記入された場合のみ強制終了する」という、ブロガーにあるまじき(?)奥の手の方法なのでした(^^;;;
(略)
具体的な方法はmt-comments.cgiにちょこっと記述を追加するだけのものなのですが、ここにその具体的な記述を書いてしまうとスパマーさんに手の内を悟られてしまう恐れもあるので、それは控えさせていただきたいと思います。
そこで、日本語が含まれていないコメントは弾くという、より強力かつ日本ローカルなスパム対策がこちらです。あちこちのソースを参考にしています。
(略)
これだけで、コメント本文に日本語が含まれていないと、mt-commentsがエラーで終了するようになります。
さて,この対策がどうなるか.しばらく見守っていこう.
今日の今日まで実は,コメントスパムを放置していたちなさいとである.だって消すのは面倒くさい(すでに300件近く投稿されていた).デフォルトでは,いちいち編集メニューから該当コメントを選び,削除→再構築を行う.再構築は最後にまとめてやればいいとしても,これではあまりに効率が悪い.
そこで,編集メニュー画面からコメントスパムを一括削除(Memo Leaves)を参考にして,うっとうしいコメントスパムの削除に挑戦してみた.
いろいろ試行錯誤した結果、編集メニュー画面に出てる最近のコメントにチェックボックスをつけてDeleteボタンもつけることにした。
とりあえず暫定対処法なんで、これでいいやーということで。
さて,同じページを見ると,こんなことが書いてある.
デフォルトでは編集メニュー画面にはコメントは5個しか表示されないので、CMS.pmの263行目の
limit => 5
を10に増やしてやると効率アップ。
おぉ~(感嘆)
これでやっとあのわけのわからないコメントスパムを全部消すことができた.しかし,今回消していて感じたのは,2004年9月11日からスパムが来始め,14日から19日あたりにかけてがピークだったのだ,ということ.ちなみにひどい日(15日とか)は1日に30件以上もスパムが来ていた.でも最近はそれほど多くはない.MTを3.1にアップグレードしようかどうかまだ迷っているのだが,アップグレードも面倒くさいしなぁ.でもコメントスパムのブロックはできるんだけどなぁ...まあ,おそらく,しばらくはスパムがたまったら消す,という手動でがんばることになると思う.だって弱小サイトだからそれほど影響はないと思うし.
先ほど,リーセントトラックバックを表示する修正を行った.これだけではなく,さらに各エントリーの個別表示画面にもトラックバックを表示させるように修正を行うことにする.
参考にしたのはトラックバック表示(BLOG質問箱)である.これはとても簡単で,Individual Entry Archiveに以下のソースを追加するだけでOKであった.
<!-- トラックバック表示 -->
<MTEntryIfAllowPings>
<div class="comments-head">Trackback</div>
<MTPings>
<div class="trackback-body">
<span class="trackback-post">
<b>Title:</b> <a href="<$MTPingURL$>" target="new"><$MTPingTitle$></a><br />
<b>Excerpt:</b> <$MTPingExcerpt$><br />
<b>From:</b> <$MTPingBlogName$><br />
<b>Date:</b> <$MTPingDate format="%Y.%m.%d"$>
</span>
</div>
</MTPings>
</MTEntryIfAllowPings>
<!-- トラックバック表示終わり -->
さて,実はここで問題が発生する.先のBLOG質問箱には,こう書いてあった.
トラックバック表示がPermalinkに反映されるタイミングは、トラックバックを受けた後でそのエントリーにコメントを受けるなどしてリビルドされたときになります。
require MT::Blog;
my $blog = MT::Blog->load($blog_id);
$app->rebuild_indexes( Blog => $blog )
or return $app->_response(Error =>
$app->translate("Rebuild failed: [_1]", $app->errstr));
$app->rebuild_entry( Entry => $entry )
or return $app->_response(Error =>
$app->translate("Rebuild failed: [_1]", $app->errstr));
このサイトは弱小サイトなので,まだまだどこからもトラックバックがない.なので全然必要なさそうな機能ではあるが,もしだれかからトラックバックがあったときに困るため,リーセントトラックバックを表示させる機能を付けてみよう.
知らない間にこのサイトも,PHP化してサイドメニューのテンプレートも別に作成し,includeで表示させている.そのため,サイドメニューのテンプレートを修正すればいいようだ.ちなみに参考にしたのはカスタマイズ vol.22(G@MANIA)である.このエントリーには,トラックバックとは何か?みたいなことからいろいろと,他のサイトも紹介しながら書かれているので,一読をおすすめする(ていうか自分で書くのはめんどくさい).
さて,実際のカスタマイズ作業に入ろう.リーセントトラックバックを表示させることはどうやら簡単にできるらしいのだが,そのトラックバックがどのエントリーにつけられたものなのか,を表示させることができないようだ.そのため,専用のプラグインがあるので,早速利用させてもらう.MTの「最近のTrackback」にエントリーのTitleとPermalinkを!(一色政彦 WEB SITE)に,「MTPingedEntry」プラグインがあるので,それをダウンロードする.
解凍後,MTをインストールしたディレクトリの「plugin」ディレクトリにアップするのだが,実はいままでpluginディレクトリには何も入っていなかったことを知らなかったよ・・・まあどうでもいいけど.
その後は,テンプレートの修正.プラグインのくわしい仕様などは一色さんのサイトを見てほしいが,ちなさいとでは以下のようにしてみた.
<div class="sidetitle">
Recent TrackBacks
</div>
<div class="side">
<MTPings lastn="4">
<MTPingedEntry>
・<a href="<$MTPingedEntryLink$>"><$MTPingedEntryTitle$></a>
</MTPingedEntry><br />
├ <$MTPingBlogName$><br />
├ <a href="<$MTPingURL$>" target="_blank"><$MTPingTitle$></a><br />
└ <$MTPingDate format="%Y.%m.%d - %X "$><br />
</MTPings>
</div>
いまのところはこれで十分だろう.自分で自分にトラックバックを送って,ちょっとさみしい感じのテストを繰り返してみたから,大丈夫だと思うし.
Movable Typeで,ページのソースを表示させることが多くなった.まあそれは,MTを設置している今だけかもしれないけど,いちおう引用(ちなさいとではblockquoteタグを利用)とは区別したいと考えている.
それで,現在はpreタグを利用して表示させている.スタイルシートでpreタグの属性(?)をある程度指定しているので,エントリーにはタグを書くだけで良く,お手軽である.現在の設定は以下の通りである.なんか無駄に設定しているような気がするのはご愛敬.
pre {
FONT-WEIGHT: normal;
FONT-SIZE: 80%;
COLOR: #000000;
margin-bottom: 5px;
margin-top: 5px;
margin-right: 5px;
margin-left: 5px;
background: #DDDDDD;
PADDING-RIGHT: 5px;
PADDING-LEFT: 5px;
PADDING-BOTTOM: 5px;
PADDING-TOP: 5px;
border-style: solid;
border-color: #BBBBBB;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
}<pre>
text_1
text_2
</pre>
<表示>
と,このようになぜか一行あきで表示されてしまうのだ.よくわからないので,仕方なくエントリーに記述するときに,text_1
text_2
<pre>text_1<br />text_2</pre>と無理矢理1行で記述するしかなさそう(しばらくこれでやっている).
これ以外に,一行が長くなると表示側も大変なことになるという点.まあこれはpreタグの宿命みたいなモノだからはっきり言って仕方ないのだが,なんとか回避策はないものだろうか.これでは不便だと思い,今度はスタイルシートでcodeというスタイルを設定し,pタグと一緒に設置してみた(<p class="code">)が,スペースやタブがうまく表示されず,階層化して表示させたい場合に不都合である.次に,codeタグを使ってみたが,codeタグは基本的に「ここがソースですよ」と宣言するだけのものなので,結局問題の解決にはなっていない.いろいろなblogサイトを見てみたが,みんな結構適当にblockquoteタグを使ったり,気にせずpreタグを使ったりしていた.さて,どんな方法がいいのやら.
ここで,1行空いてしまう点について,ソースをコピーしてペーストしてみると,どうも1行空いているわけではないようだ.テキストエディタにペーストするときちんと1行空かないで表示されている.ということは,純粋に表示の問題だけ,と言うことか.ということで現在のところは,スタイルシートでline-height:100%;をpreタグに指定して,何とかごまかしている.
さらに調査をしていくうちに,こんなものを見つけた.
ウィンドウの端まで行くような英単語は改行されませんが、印刷する際に問題が生じます。そこで単語途中でも改行することが出来ます。
単語途中での改行の設定をするには、「word-wrap」プロパティにより行います。
pre {
FONT-WEIGHT: normal;
FONT-SIZE: 80%;
COLOR: #000000;
margin: 5px;
background: #DDDDDD;
PADDING: 5px;
border-style: solid;
border-color: #BBBBBB;
border-width: 1px;
line-height: 100%;
word-wrap: break-word;
}
ちなさいとを広く知ってもらうため,というよりか,来てくださったみなさんとのつながりをつくるためには,コメントの機能は結構重要だと思う.しかしMTにはコメントをつけてもそれを知るすべがあまりなかったように思う.
そのため,トップページに,最近つけられたコメントを表示する機能はないか,と探していたところ,リーセントコメント+コメント日付(BLOG質問箱)にその方法が載っていたので早速試してみた.
コメントが付いた最新のエントリー5本を表示し、それぞれのエントリーごとに最新のコメント4本までをコメント日付を付けて表示するようにしました。とのこと.ソースコードが載っていたので,それをMain Indexテンプレートにコピーして,ちょっと修正した.ちなさいとで使用したものは以下の通り.
<div class="sidetitle">
Recent Comments
</div>
<div class="side">
<MTEntries recently_commented_on="5"sort_order="ascend">
・<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
<MTComments lastn="4">
└ <$MTCommentAuthor$> <a href="<$MTEntryPermalink$>#<$MTCommentID$>">at <$MTCommentDate format="%Y.%m.%d"$></a><br />
</MTComments>
</MTEntries>
</div>
せっかくMovable TypeをPHP化したのだから,なにかそれらしいことをやってみたい,と言うのがきっかけだった.ちょうどGoogle AdSenseの審査に通った旨の通知が来ていたので,それを設置がてら,「include」というものを試してみようと思った.
聞けば,includeはとても便利なのだそうだ.つまり,共通部分は別のphpファイルにしておいて,各ファイルからそれを読み込めばいいと言う.Google AdSenseのスクリプトをそれぞれのテンプレートにいちいち貼り付けるのはちょっと面倒だな,と考えていたので,さっそく試してみることにした.
まずはTemplateの編集画面より,新たに「googlead.php」を作成した(新しいテンプレートを作成して,そこにスクリプトをコピー&ペースとしただけ).で,そのあと,Main Index内に
<? include"googlead.php"; ?>を書き加えた.早速トップページにアクセスしてみる.
Warning: main(googlead.php): failed to open stream: No such file or directory in index.php on line 453Warning: main(googlead.php): failed to open stream: No such file or directory in index.php on line 453
Warning: main(): Failed opening 'googlead.php' for inclusion (include_path='.:/usr/local/lib/php') in index.php on line 453
続いて,Master Archive Indexにも同様に挿入.勢い余って(?)category archivesにも挿入してみた.しかし警告が出る.何が違うのか?これはパスが違っていた.category archivesはarchivesフォルダに作成されるため,googlead.phpへのパスを./googlead.phpなどとしなくては行けないのである.Date-Based Archiveも同様に設定して成功.
最後のIndividual Entry Archiveは,ちなさいとでは年ごとにディレクトリが指定されていることから,../../googlead.phpとパスを指定して設置.
いやー,PHPってめちゃくちゃ便利だな.(includeしか使っていないけど)これを使えば,たとえばページトップに表示されているバナーなども共通に使えるだろう.でも,少し前に入れたアクセス解析のPHPスクリプトはなぜかうまくいかなかった.なんでだろ?設定のページに,同じディレクトリに置くこと,と書かれていたから,そもそもできないんだろうか?ここらへんはスクリプトが分からない自分が情けなる瞬間でもある.
MTでのスタイルシート変更を楽に(ARTIFACT -人工事実-)より.
・「Templateの編集」から「Stylesheet」を選ぶ
・「このTemplateにリンクするファイル」にStylesheetのファイル名を入力
・「インデックス・テンプレートを再構築するときにこのテンプレートを自動的に再構築する」のチェックをはずす
・SAVEする
実はちなさいとが正式に稼働するまで,別のサイトでMTを動かしながら,そこにMTの設置作業記録をアップしていた.このたびちなさいとが正式に稼働するので,そこからデータを移動させる必要があった.
やり方は非常に簡単であった.MTの総入れ替えに挑戦(風のまにまに号)を参考にして,データの移動を行った.
データの移動を行った後は,カテゴリーや不要なエントリを削除.もうすぐ目の前に,ちなさいとの正式稼働(正確には移転)が迫ってきているのを実感.
しかし,これまで華式でためてきたデータや,それ以前のデータをどうするのかまだ考えていない.やっぱりひとつひとつぷちぷちと移動させていくしかないのだろうか?
エントリーのアーカイブはデフォルトで,/archives/000001.phpなどと自動で連番がふられている.しかしこれは,データを移行する際に不具合が生じたり何かと都合が悪いらしい.そこで,いわゆる「Permalinkの変更」を行うことにした.
参考にしたのはPermalinkを変更(ぴょんぴょんおーじ-Daily PYoN2)である.
まずファイル名のフォーマットを決めなくてはならない.ちなさいとの場合は,/archives/年/月日時分秒.phpでいいだろう.これはアーカイブのURLが変わらないように(風のまにまに号)にも書かれているように,月ごとのエントリーがそれほど多くないため,1年ごとのディレクトリで十分だろうと判断したためである.このほか,キーワードをアーカイブ名にする方法も紹介されていたのだが,キーワードをいちいち考えるのが面倒なのでこれはパス(この方法についてはPermalinkを変更(Chitatopops)などを参照).
「BLOGの設定」→「アーカイブの設定」に行き,「Individual Entry Archive」の「アーカイブ・ファイルのテンプレート」欄に以下のように記述する.
<$MTArchiveDate format="%Y/%m%d%H%M%S"$>.php
そして保存し,再構築を行う...?あれ?こんなエラーが出たぞ.
Script Error
The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run this script under CGIWrap debugging. Usually, either rename or link the script temporarily to a file which ends with .cgid extension, or add a AddHandler cgi-script-debug .cgi line to your .htaccess file.
<$MTArchiveDate format="%Y/%m%d_%H%M%S"$>.phpと入力し,保存,再構築.なぜか今度はうまくいった.わけがわからん.まあいいか.
本来であればこの後,これまでのエントリがリンク切れにならないようにしなくてはならないのだが,エントリがまだ全然無い新生ちなさいとなので,そんな心配は全然しなくてもよいのであった.
さて,この作業が終わったら,次は日ごと,月ごとのアーカイブの設定を変えなくてはならない.現在は日ごとのアーカイブは/archives/2004_02_24.phpなどとなっていて,月ごとのアーカイブは/archives/2004_02.phpなどとなっている.それらの保存場所をそれぞれの年ごと(/archives/2004/0224.phpなど)に変更するのだ.
しかしこの作業に何の意味があるのだろうか?とふと疑問に思った.じつはあまり意味なし?本当ならば,Permalinkを/archives/年/月/日/とかにしておいて,日ごと,月ごとのアーカイブがそれぞれのディレクトリのindexファイルとして機能するようにするのがその目的なんじゃないか?そう考えると,ちなさいとでのこの作業は不要ということになる.年ごとのアーカイブはまた別らしいし.
ということで,今回の作業はこれで終わる.なんかえらく長かった気がするが,まあ気のせいだろう.
カテゴリを日本語名で表示する(BLOG質問箱)を参考に設定した.なお,HINAGATAを用いていることから,同じサイトのカテゴリ分類の作り方についてはすでにできているものとして考え,割愛した.
これも基本的には<$MTCategoryLabel$>を<$MTCategoryDescription$>と入れ替えるだけである.いつものようにMain IndexとCategory Archive,Date-Based Archive,Individual Entry Archiveの該当部分を書き換える.今回はMain Indexが2か所,それ以外は1か所の書き換えであった.
新しいエントリーを投稿すると,投稿者の名前が表示されるのだが,これが「ログイン時のユーザ名」になってしまっている.なんとか「ちな」と表示させたくて調べてみると,どうやら「ニックネーム」を表示させることができるようだ.
投稿者名をニックネームにする(a sweet room :: Blog)を参考に設定してみる.
基本的には,テンプレートに書かれている「$MTEntryAuthor$」を「$MTEntryAuthorNickname$」に修正すればよい.書き換えるテンプレートは,Main Index;Category Archive;Date-Based Archive;Individual Entry Archiveの4つ.早速作業にかかる.
最初の3つのファイルは順調に書き換えられた.それぞれ一つずつ変換する場所があり,手打ちで直していった.ところが,Individual Entry Archiveにはそれらしき表示がないではないか!
まあ,HINAGATAの3ペインのテンプレートを導入したときに,ちなは何も考えないで導入したのだが,それに記入されてなかっただけだろう.実際に個別アーカイブ・ファイルも確認してみたが,やっぱり投稿者の欄がなかった.ここからはデザイン上の話にもなるんだろうが,ちなは個別アーカイブにも投稿者や投稿時間などを入れたかったので,ここはテンプレートを書き直してみる.
Posted by <$MTEntryAuthorNickname$> at
<a href="<$MTEntryPermalink$>"><$MTEntryDate format="%X"$></a> /
次に取り組んだのは,これもまた大きな大きな山場であろう,デザインの変更である.いろいろ調べていくと,どうやら「テンプレート」を配布しているサイトがいくつかあるようだ.たとえばすちゃらかCSS素材集とかHINAGATAとか.
そのなかでも,HINAGATAの評価が高いのでサイトを見てみた.ちょうど今はiNTERNET magazine+で公開されていて「公開出張中」ということになっている(2月29日まで).公開されているのは3カラム,2カラム,写真用の3種類のテンプレート.ぱっと見なかなか良さそうだった3カラム(ひな形三段)というのを試してみることにした.
mt.cgiから「Templateの編集」で該当テンプレートを書き換えていく.小心者のちなは,オリジナルは別に保存しておいた.準備万端である.書き換えた後は保存し,再構築をする.
・・・あれ?再構築できないってエラーが!
ちょっと焦って,オリジナルファイルと書き換えたテンプレートファイルを見比べるも,何がどう違うのかすらわからなくてあっけなく断念.わらにもすがる思いでHINAGATAを調べると・・・答えはこんなところにありそうだった.
この設定(「BLOGの設定」→「アーカイブの設定」:該当箇所にチェックを入れる)をした後,再構築に再挑戦.その結果,見事に成功することができた.他のテンプレートも書き換えると,見事に新しいデザインのちなさいとが!
もちろんこのままでは「いかにも」なサイトになってしまうため,もう少しフォントなどを変えてみる必要はありそうだが,それでも第一歩としては上出来である.かなりほおをゆるませっぱなしのちなであった.
いろいろなサイトをまわっていると,URLが○○.htmlではなくて○○.phpとなっているサイトを見かけることがある.これは,MTをPHP化したものであるとのこと.MTをPHP化する方法は至って簡単である.
Movable TypeのPHP化(Zakimi::Blog)を参考に,ちなさいとのMTのPHP化を行ってみよう.
基本的な考え方は,MTで生成されるhtmlファイルの拡張子を.htmlから.phpに変更するというものである.
まず,mt.cgiにアクセスして,「テンプレートの編集」へ.ここで,Main Indexの出力ファイル名を「index.html」から「index.php」に変更する.
続いて,Master Archive Indexの出力ファイルも同様に「archives.php」に変更し,再構築する.
続いて,個別ページの変更を行う.今度は「BLOGの設定」→「ウェブログの設定」に行き,「アーカイブの設定」の「アーカイブ・ファイルの拡張子」を「html」から「php」に変更する.そして保存・再構築を行う.
最後に,FTPでいらなくなったindex.htmlファイルを削除.これでPHP化は終了である.あっけないほど簡単に終わってしまった.
ところで,いまいちPHPについてはよくわかっていないちなであるが,そもそもPHP化させるとどんなメリットがあるのだろう?(もちろんメリットがあるからPHP化するんだろうとは思うが).
Movable Typeで今すぐできるウェブログ入門(greenplastic.net)やArchive内のファイルの拡張子を.phpにする。(Hasta Pronto.com)などを参考にまとめてみると・・・
・PHPスクリプト(拡張子を.phpにする必要がある)が利用できる(PHPで書かれたカウンタやアクセス解析が利用可能)
・includeタグが利用可能になり,別のファイルを埋め込むことができる(ヘッダやフッタを別ファイルにして各ファイルに埋め込んでおけば,変更の時楽だしディスク容量も有効に利用できる)
・動作が軽くなる(実際になんかシャキッとしたような気もする.とくに再構築時)
なるほどね.そういう意味では,最初にPHP化をしておいて正解なわけだ.後からだと過去ログがhtmlで残っているため,それらをどう取り扱うか考えなくてはならない.
ふぅ,これで大きな仕事が一つ終わった感じである.今までの作業をまとめてみよう.
・独自ドメインを取得し,サーバ領域を確保
・Movable TypeをUTF-8に変換してインストール
・Movable TypeのPHP化
そして残された課題は・・・?
・投稿者をニックネームで表示させる
・アーカイブ・ファイルの保存方法→月・年によってディレクトリで管理
・MTのカテゴリーに日本語を使用する
・Amazonアソシエイト、Google AdSenseについて
・旧サーバよりデータ移行
・リンクをクリックしたときに基本的に新しいウインドウを開くようにする設定
・エントリー編集の際,BとかIとかのボタンがあるけど,それの拡張(しかしmacでは利用不可.残念)
・デザインの選定
・分割再構築の方法(負荷減少のための)
・pukiwikiの設置
Download file
ファイルをアップした
PHP化して初の投稿です.
はたしてうまくいったのだろうか?
今日はMTの設定を行うことにした.pukiwikiはまだ難しそうだというのと,はやくちなさいとの形だけでも作りたかったためである.
まず参考にしたのはXREAでMovableTypeを運用する際の注意(ARTIFACT -人工事実-)である.ここを見ながらドメインの設定を行った.こうすれば,コメント機能が動かない不具合が回避されるらしい.まあよくわからないが,とりあえず設定するだけしてみる.
しかしDNSに反映されるまでには1,2日かかるから,ここで作業は放置されることになるのだった・・・
その間に,MTの設定だけしてしまえないかな?
この作業を行ったのはMacOS X上だったので,windowsでの作業を念頭に書かれているみらのさんのサイト「Movable Type 日本語化手順」は役に立たなかった.仕方なくいろいろ探すと,こんなページを発見.日本語パッチを配布しているみらのさんのサイトのこのページから行けます.
あと,OS X上でパッチを当てる作業については,「Mac OS X で Movable Type 日本語化パッチ(SLICE CHEESE)」
を参照.ちなはパッチを当てた後に見つけたのだが・・・
ちなみに,パッチ時のlogは以下の通り.
locate user$ patch -p1 < MT.utf8.patch
patching file lib/MT/App/CMS.pm
patching file lib/MT/App/Trackback.pm
patching file lib/MT/ConfigMgr.pm
patching file lib/MT/L10N/ja.pm
patching file lib/MT/Mail.pm
patching file lib/MT/default-templates.pl
patching file lib/MT.pm
patching file mt-check.cgi
patching file styles.css
patching file tmpl/cms/cfg_prefs.tmpl
locate user$
mt.cfg
・198行目くらいにある、# NoHTMLEntities 1のコメントをはずす
・次に306行目あたりの# PublishCharset Shift_JISのコメントをはずし,Shift_JISをUTF-8に変更する
・14行目 CGI Pathは「http://hogehoge.net/mt/」に。
・50行目 StaticWebPathは「BLOGの設定」の「公開URL」を基準に設定する。このサイトの場合、「http://hogehoge.net/mt/」なので「/mt/」に。
・データベースの設定を,ファイルの後ろの方に付け足す.
ObjectDriver DBI::mysql
Database アカウント名
DBUser アカウント名
DBSocket /var/lib/mysql/mysql.sock
・mt-db-pass.cgiにMySQLのパスワード(アカウントパスワードと同じ)を書き込む。純粋にパスワードのみ。,mt.cfgとmt-db-pass.cgiは外部から読まれないように属性は600にする。
さて,これをサーバにアップすることにしようかな.
パーミッションは,実行ファイルは700に設定.フォルダについてはよくわからなかったのでそのまま.で,archivesフォルダを作成.
それから,メインの(?)作業.緊張の一瞬.mt-load.cgiへのアクセスを行う.ずらずらと何か出てきて,「Done loading initial data! All went well.」の表示が!これでなんとかうまくいったようだ.意気揚々とmt-load.cgiとmt-check.cgiを消してしまおう.
そしてついに,mt.cgiへアクセス.
感動の一瞬である.瞬く間に日本語化を終えたちなは,やっと一服できたのであった.あとは適当にやればできそうだもんね.
てなことで今日はここまで.今後ははーとのblogなどを参考にして作ってみよう.
・Value Domainから,独自ドメインの取得を行った.クレジットカードを利用.
・管理画面より,MySQLデータベースの「作成」を行った.(PostgreSQL は何もしていない)
MTのカテゴリーに日本語を使用する場合はこちらを参照.
http://www.mylog.jp/blogs/q-box/archives/000494.html
XREAでMovableTypeを運用する際の注意
http://artifact-jp.com/mt/archives/200305/xreamt.html
ドメインの設定方法によりコメントがうまく働かないとのこと.でも人によってはうまくいくらしい.
はじめはValue Domainのやり方でやるべきか.
XREAにてMovableType
http://asys-lab.com/base/archives/000006.php
UTF-8化するにはローカルでパッチを当てる必要があるようだ.
でも基本的には,以下のサイトのように自力で日本語化→パッチが王道のような気がする・
Movable Type 日本語化手順
http://209.204.217.175/readme/
この労力にははっきり言ってただただ脱帽.
それから,Amazonアソシエイト、Google AdSenseについては
http://asys-lab.com/base/archives/cat_net_incm.php
を参照.なかなかおもしろそうである.道理で最近,Amazonの本を紹介しているサイトが多いわけだ.
あと,やっておきたいこと
・リンクをクリックしたときに基本的に新しいウインドウを開くようにする設定
・エントリー編集の際,BとかIとかのボタンがあるけど,それの拡張
・pukiwikiはUTF-8で設定できるのか
・デザインの選定
・データの移行
・分割再構築の方法(負荷減少のための)
trackbackってよくわからないや.
エントリーというのが,記事のことらしい.
だから,新しい記事を書くというのは,「新しいエントリーを作成する」ということである.
ところで,エントリー中にURLを埋め込みたいのだが,どうすればいいんだろう?
いちおうらしいスイッチがあったのでいじってみたのだが.(コメントは無事に埋め込めた.しかし,改行しておかなかったので,日本語も含めてリンクされてしまうというまぬけなことになってしまった)
http://www.yahoo.co.jp/
mail@xxx.domain.com
うまく反映されているだろうか?
追記ってなんだろう?
http://www.yahoo.co.jp/
とかできるんかな?
せっかくXREAにアカウントをとることができたので,さっそくMTを使ってみることにする.
ちょうどXREAには,MTの設置方法についての説明ページが用意されているので,それに沿ってやればいいようだ.
http://sb.xrea.com/showthread.php?&threadid=6757
インストールは非常に簡単に終わった.
その後,初期ユーザ名とパスワードでログインする.あたらしいユーザ名とパスワードを設定し,さらに日本語が表示されるように設定を変更.で,ここまではうまくいった.
しかしこの後が問題である.いったいどうすればいいんだろうか.なんとなく書き込みとかはできたけど・・・
とりあえず,
http://xreafaq.com/mt.html
を参考にしていろいろ試してみた.
まずはindexファイルを生成するディレクトリとアーカイブをおくディレクトリが必要らしい.まあ当たり前と言えば当たり前か.
それを早速つくり,MTの「BLOGの設定」画面でそれを指定する.
ついでに「時間帯」も日本時間にしておこう.
で「保存」をクリック.すると,「ウェブログの設定を保存しました 再構築すると、変更をサイトに反映することができます」という緑色のダイアログが出てきた.「再構築」のところだけクリックできるようになっているぞ.まあたぶんそこをクリックすりゃいんだろうな,と思ったので,早速クリックしてみる.
さらに再構築しますか?ダイアログが出てきたが,かまわず再構築を実行する.
で確認すると,なんときれいな画面が出てきているではないか!
以前に投稿した文もきれいに整形されて表示されているし.
これで,MTの第一歩がやっと踏み出せた,というところか.かなりうれしい.
Movable Typeの魅力ってなんだろう?まだまったく触れたことのない世界.いまはとにかくわかることから一つずつこつこつと積み上げていくしかない.てなことで,作業用のリンク集を作ってみた.今後参考になるだろうか.
Movable Type 日本語化手順:
http://rebecca.ac/milano/mt/readme/
MovableTypeで行こう!: インストール アーカイブ:
http://cheebow.sub.jp/docmt/archives/cat_21.html
Movable Type Documents:Translation:
http://www.cyberoz.net/city/as/translation/MT/
でね。: Movable Type設定メモ:
http://www.plecom.org/blog/archives/000009.html
すちゃらかCSS素材集: MTのブログスタイルの変え方:
http://www.sucharaka.jp/blog/archives/000239.html
BLOG質問箱:
http://www.mylog.jp/blogs/q-box/archives/cat_blog_setup.html
Movable Type 取説:
http://kompeito.org/~takayama/mtdoc-jp/mtmanual.html
ARTIFACT −人工事実− | Movable Type作業メモ
http://artifact-jp.com/mt/archives/200401/mtmemo0122.html
実は,PukiWikiにもちょっと興味をひかれている.
FrontPage - WikiRoom:
http://www.wikiroom.com/?FrontPage
PukiWiki.org
http://pukiwiki.org/index.php?FrontPage
教育ではこんな取り組みが.
Learning Life Blog: blogを授業に! Archives:
http://learning.blogs.com/life/blog/index.html
で,今日やったことは,とにかく,XREAの方法に従ってインストールをしてみた.さて,どうなることやら?