2006年03月25日
更新停止
今日でこのblogの更新を停止します。理由については以前にも何度か書いているとおり、引っ越し&会社の研修で満足にネットが利用できない状況が続くためというのと、就職というのが止める区切りとして丁度いいタイミングだからです。blogの形式にしてから2年半、それ以前の日記も含めると7年間も続いたわけで(途中抜けもありましたが)、飽きっぽい私の性格から考えるとちょっと信じられない思いです。
これから先ひょっとすると更新を再開することや、別のblogを書き始める可能性もあるかもしれませんが、今のところは全くの白紙です。それでは、またどこかでお会いできることを祈りつつ、これにて終了とさせて頂きます。
投稿者 sai : 01:23 | コメント (9) | トラックバック
2006年01月23日
自宅サーバからメールデータを移行
引っ越し前に自宅サーバを手放すことにしました。以前にも一度書いたとおり、現在は自宅サーバを運用するメリットがほとんどないというのがその理由です。
サーバにはここ5年分のメールデータが格納されているため、これをメインのPCに移す必要があります。常用しているメーラはBeckyなので、mbox形式にしてやればインポート可能です。問題となるのはサーバのメールボックスがMaildir形式であるということ。mbox形式からMaildir形式への変換は事例が多く様々なツールがあるのですが、はたして逆の変換を行うツールなんてあるものか……。と思いきや意外と簡単に見付かりました。qmailにmaildir2mboxというそのものずばりのツールが付属しているようです。早速portsからqmailをインストール。
maildir2mboxの使い方ですが、事前に以下の3つの環境変数を設定する必要があります。
- MAILDIR 変換元のMaildirディレクトリ
- MAIL 変換先のmbox形式のファイル
- MAILTMP 作業用の一時ファイル
% setenv MAILDIR /home/hoge/Maildir/
% setenv MAIL /home/hoge/mbox
% setenv MAILTMP /home/hoge/mailtmp
後はコマンドを実行するだけ。実行後にはMaildirのファイルが削除されてしまうので、事前にバックアップを取っておきます。
% /var/qmail/bin/maildir2mbox
こうして作成したmboxファイルをBeckyでインポートしたところ、ばっちり読むことができました。これで心おきなくサーバの処分ができます。
投稿者 sai : 04:00 | コメント (0) | トラックバック
2005年09月04日
アクセス解析を設置
サーバの移転に伴って悩んだのがアクセス解析をどうするかということです。以前は自宅サーバだったのでディスク容量を気にすることなくapacheのログをずっと保存しておいて、それをWebalizerで解析していました。XREAでもapacheのログは保存できるので、それを定期的に取得して自前で解析してもいいんですが、できればXREAサーバで行って楽をしたいところです。
XREAでは標準で用意されているアクセス解析があり(analog 6.0を使用)、これなら何も設定することなく利用可能です。しかし、機能的にちょっと満足できない部分がありAccessAnalyzerを使うことにしました。ユーザ登録後、タグ発行を行うと以下のような設置用のタグが取得できます。
<SCRIPT LANGUAGE="JAVASCRIPT"><!--
var ID="123456789";
var AD=0;
var FRAME=0;
// --></SCRIPT>
<SCRIPT LANGUAGE="JAVASCRIPT" SRC="http://j1.ax.xrea.com/l.j?id=123456789"></SCRIPT>
<NOSCRIPT><A HREF="http://w1.ax.xrea.com/c.f?id=123456789" TARGET="_blank"><IMG SRC="http://w1.ax.xrea.com/l.f?id=123456789&url=X" BORDER="0"></A></NOSCRIPT>
MovableTypeのメインページのテンプレートを開いて、<BODY>タグの後にこれを貼り付ければ設置は完了です。無料で利用できる代わりに広告が表示されますが、その位置はADの値を変更することで変えることができます。私の場合は右下に表示するためにAD=4としています。
投稿者 sai : 02:52 | コメント (0) | トラックバック
2005年09月03日
新しいサーバ&新しいドメイン
ここ数日作業を行っていたサーバ移転&ドメイン名変更が無事終了し、こうして新しい環境でサイトの更新をスタートすることができました。見ての通り、新しいドメイン名は「wombat.jp」です。このドメイン取得の顛末はこちらに書いたとおりで、前からサイト名である「WOMBAT」の汎用jpドメインが欲しいな〜と思い狙っていました。そんなわけで当サイトをブックマークされている方は「http://www.wombat.jp」に変更をお願いします。
ちなみに以前のドメイン&自宅サーバでの運用はリダイレクトしている都合上、しばらくは続ける予定です(一ヶ月くらい?)。
投稿者 sai : 01:36 | コメント (0) | トラックバック
.htaccessでリダイレクト
サーバの移転&ドメインの変更に伴ってURLが変わってしまったわけですが、このままだと検索エンジンからのアクセスは旧URLに行ってしまいます。そこで.htaccessを使って旧URLから新URLにリダイレクトさせるようにしました。
.htaccessの記述をアーカイブファイル毎に一つ一つ作成するのは大変なので、MovableTypeのテンプレートを使って楽をします。MTの管理画面から[テンプレート]→[新しいインデックス・テンプレートを作る]を選択し、以下のようなテンプレートを作成します。
[テンプレートの名前]は何でもOK。[出力ファイル名]は後から.htaccessに変更した方が安全かも。肝心の[テンプレートの中身]は以下の通り。
Redirect permanent /wombat/index.html http://www.wombat.jp/index.html<MTArchiveList archive_type="Individual">
Redirect permanent /wombat/archives/<MTEntries><$MTEntryID pad="1"$>.html</MTEntries> http://www.wombat.jp/archives/<$MTArchiveDate format="%Y/%m/%d/%H%M%S"$>.html
</MTArchiveList><MTArchiveList archive_type="Daily">
Redirect permanent /wombat/archives/<$MTArchiveDate format="%Y_%m_%d"$>.html http://www.wombat.jp/archives/<$MTArchiveDate format="%Y/%m/%d/"$>index.html
</MTArchiveList><MTArchiveList archive_type="Monthly">
Redirect permanent /wombat/archives/<$MTArchiveDate format="%Y_%m"$>.html http://www.wombat.jp/archives/<$MTArchiveDate format="%Y/%m/"$>index.html
</MTArchiveList><MTArchiveList archive_type="Category">
Redirect permanent /wombat/archives/cat_<$MTCategoryLabel dirify="1"$>.html http://www.wombat.jp/archives/categories/<$MTCategoryLabel dirify="1"$>.html
</MTArchiveList>
こうしてできた.htaccessによって、旧URLから新URLに以下のようにリダイレクトされるようになりました。
◇トップページ
http://www.redmagic.org/wombat/ → http://www.wombat.jp/
◇個別アーカイブ
http://www.redmagic.org/wombat/archives/エントリーID.html →
http://www.wombat.jp/archives/YYYY/MM/DD/hhmmss.html
◇日別アーカイブ
http://www.redmagic.org/wombat/archives/YYYY_MM_DD.html →
http://www.wombat.jp/archives/YYYY/MM/DD/index.html
◇月別アーカイブ
http://www.redmagic.org/wombat/archives/YYYY_MM.html →
http://www.wombat.jp/archives/YYYY/MM/index.html
◇カテゴリーアーカイブ
http://www.redmagic.org/wombat/archives/cat_カテゴリ名.html →
http://www.wombat.jp/archives/categories/カテゴリ名.html
投稿者 sai : 01:15 | コメント (0) | トラックバック
2005年09月02日
XREAへのサーバ移転
MovableTypeのImport/Export機能を使ってサーバの移転を行いました。やり方は以下の通り。
(1)自宅サーバからExport
自宅サーバのMTの管理画面から[読み込み/書き出し]を選択し、エントリーをファイル(mt.html)に書き出します。
(2)mt.htmlの編集
サーバの移転と同時にドメイン名も変更しますので、それに合わせてアーカイブパスの文字列を変更します。
変更前: http://www.redmagic.org/wombat/archives/
変更後: http://www.wombat.jp/archives/
(3)mt.htmlの文字コード変更
XREAサーバの文字コードに合わせて、mt.htmlの文字コードをEUCに変更します。
(4)XREAサーバにImport
XREAサーバのMTをインストールしたディレクトリ(/public_html/x/mt)下にimportディレクトリを作成し、そこにmt.htmlをアップします。
次にMTの管理画面から[読み込み/書き出し]を選択し、[エントリーの投稿者を自分にする]にチェックを付けて[エントリーの読み込み]を行います。これでmt.htmlからエントリーを読み込んでくれ、存在しないカテゴリーについては自動的に作成してくれます。
これで後はエントリーの読み込みが終わるまで待つだけ……と思いきや、途中でエントリーの読み込みが終了してしまうというトラブルが。仕方ないので読み込みが成功した部分をチェックして、その部分を削除したmt.htmlをもう一度アップして[エントリーの読み込み]を実行。この作業は3回繰り返してようやく2000個のエントリーの読み込みが完了しました。
(5)サイトの再構築
エントリーを読み込んだだけではアーカイブファイルは作成されませんので、[サイトの再構築]からすべてを再構築します。自宅サーバでは数十分かかるこの作業、XREAサーバではどんなものかと思ったらものの数分で終了しました。サーバのスペック(下表)を考えれば当然のことかもしれませんが、この結果を見ると自宅サーバでMTを使う気にはなれませんね。自宅サーバのハードウェアを更新する予定がない以上、やはり自宅サーバはLAN内のサービスに限定するという方針は正しかったようです。
自宅サーバ | XREAサーバ | |
CPU | VIA Eden ESP 5000(533MHz) | AMD Athlon 64 3500+(2.2GHz) |
メモリ | 1GB | 2GB |
投稿者 sai : 01:45 | コメント (0) | トラックバック
2005年09月01日
個別アーカイブのファイル名
MovableTypeの個別アーカイブのファイル名はデフォルトでは自動的に振られるIDによって決められています。IDはサーバの移転などでImport/Exportを行った際に変わってしまう可能性があり、これではPermalinkとして使うことなど到底できません(MTのImport/Export機能ではなくDBのバックアップ/リストアを行えば可能ですが)。そこで、ファイル名をIDではなく投稿日時から決定するよう変更しました。
やり方は簡単で、MTの管理画面の[ウェブログの設定]→[アーカイブの設定]を選択し、デフォルトでは空欄のアーカイブ・ファイルのテンプレートに変更を加えるだけです。2005年8月31日の1時18分35秒に投稿されたエントリーであれば、ファイル名は"archives/2005/08/31/011835.html"となるよう以下のように設定しました。
<$MTArchiveDate format="%Y/%m/%d/%H%M%S"$>.html
ついでにカテゴリー別アーカイブの方にも手を加えて、ファイル名が"archives/categories/カテゴリ名.html"となるようにしました。
categories/<$MTCategoryLabel dirify="1"$>.html
コメントが投稿できない
引き続きXREAに設置したMTの動作を確認していたところ、エントリーにコメントを投稿しようとすると以下のようなエラーが発生してうまくいかないことが分かりました。
エラーが発生しました:No entry_id
きっとこれもFAQなんだろうと、XREA SUPPORT BOARDで検索してみるとあっさり発見。mt.cfgのCGIPathの設定が"http://ID.サーバー名/x/mt/"とXREAのサーバのままだったのが不味いらしく、これを独自ドメインのものに変更したところ、コメントが投稿できるようになりました。
2005年08月31日
NetPBMでpngファイルのサムネイル作成
XREAサーバに設置したMTの動作を確認していたところ、pngファイルをアップロードしたときに問題が発生しました。以下のようなエラーが表示されてサムネイル画像が作成されません(元ファイルのアップロードは問題なし)。
file not found: /usr/bin/topnm at /virtual/ユーザID/public_html/x/mt/lib/MT/Image.pm line 126
調べてみると、どうもFAQだったようでサムネイル作成に使っているNetPBMがデフォルトでpngをサポートしていないのが原因とのこと。解決策は簡単で、lib/MT/Image.pmの120行目を以下のように書き換えるだけです。
変更前: my %Types = (jpg => 'jpeg', gif => 'gif');
変更後: my %Types = (jpg => 'jpeg', gif => 'gif', png => 'png');
ちなみに自宅サーバではNetPBMではなくImageMagickを使っていたのでこの問題には気づきませんでした。
2005年08月30日
XREAサーバにMovableTypeを設置 その2
MTがうまく動かない件ですが、結局「環境変数 SERVER_PROTOCOL が HTTP/... を返す環境で使用する」という解決策を取ることにしました。 要は自動挿入される広告が問題なので、広告が入らない環境下にMTを再インストールするわけです。XREAでは広告のせいでうまく動かないCGI等への救済策として、"x"という名前のディレクトリ内では広告が入らない仕様になっていますので、これを使わせてもらいます(当然ながら外部に公開するページはちゃんと広告が表示されるようにしないと不味いです)。
そんなわけでMTを再インストール。まずは先にインストールしていた/public_html/mt以下を削除。次にinstall_mt3.cgiのMT運用ディレクトリ($DIR_MT)を以下のように変更します。
$DIR_MT = "x\\/mt";
後は前と同じようにサーバにアップしてスクリプトを実行するだけですが、その前に一点だけ注意。このスクリプトでは深い階層のディレクトリを自動的に作ってはくれないので、事前に/public_html/xを作成しておく必要があります。
これで無事MTのインストールは完了。今度はちゃんと管理画面にログインすることができました。次はデータの移行をどうするかを考えないと。
2005年08月29日
XREAサーバにMovableTypeを設置
XREAのサーバにMovableTypeを設置してみました。ありがたいことにMTを自動で設置するためのCGIを提供してくれているので、それを使ったやり方を試すことにしました。
(1)DBの用意
XREAの管理画面からデータベースを選択して、MySQLのDBを作成します。PhpMyAdminもインストールできるようですが、とりあえず今のところは使わないので放っておきます。
(2)MovableTypeをダウンロード
シックス・アパートのサイトからMTの最新版(3.171)をダウンロードします。zipではなくtar.gzの方で、ファイル名は"MT-3[1].171-full-lib-ja.tar.gz"です。
(3)自動設置CGIをダウンロード
http://www.xrea.com/files/install_mt3.txt
上記URLからMTの自動設置CGIをダウンロードします。
(4)自動設置CGIを設定
install_mt3.txtに記述されている以下の項目を編集します。
$UID = "sample";
$DBUID = "sample";
$DBPS = "abcdefghijk";
$USV = "s101.xrea.com";
$DIR_MT = "mt";
$FILE_MT_TGZ = "MT-3[1].151-full-lib-ja.tar.gz";
$DIR_MT_TGZ = "MT-3.151-full-ja";
$FILE_MT_TGZと$DIR_MT_TGZはこの場合、こんな感じになります。
$FILE_MT_TGZ = "MT-3[1].171-full-lib-ja.tar.gz";
$DIR_MT_TGZ = "MT-3.171-full-ja";
サーバにアップする前にinstall_mt3.txtをinstall_mt3.cgiにリネームしておきます(アップした後でも構いませんが)。
(5)MTと自動設置CGIをサーバにアップ
FTPでサーバにファイルをアップします。ファイルの配置はこんな感じ。
/MT-3[1].171-full-lib-ja.tar.gz
/public_html/install_mt3.cgi
install_mt3.cgiのパーミッションを700に変更します。
(6)自動設置CGIを実行
http://ID.サーバー名/install_mt3.cgiにアクセスしてcgiを実行します。既に独自ドメインと関連づけてあればhttp://www.ドメイン名/install_mt3.cgiでもOK。
うまくいけばこのような画面が表示されるはずです。後は初期ユーザー名、パスワードでMTの管理画面にログインするだけです。install_mt3.cgiは不要なので削除しておきます。
これでMTの設置は完了! ……のはずだったんですがうまくいきません。初期ユーザー名、パスワードで管理画面にログインしようとすると、「ページを表示できません」。何じゃこりゃとよくて見てみると、URLが"http://www.ドメイン名/mt/mt.cgi"ではなく、"included://www.ドメイン名/mt/mt.cgi"になっていることに気づきました。調べてみると、どうもMT3.17ではXREAが自動的に挿入している広告の影響でこうなってしまうとのこと。
MovableType3.17 アップグレード
こちらのサイトで解決策を紹介してくれていました。さて、どうしたものか。
2005年08月27日
XREAの無料サーバ
ホスティング先をどこにするか悩んで色々と調べてみましたが、XREAの評判がなかなか良さそうです。料金は12ヶ月契約で2400円(月額200円)と格安ですし、サーバの仕様はディスク容量が1GBと十分、DBもMySQL/PostgeSQLが利用可能と言うこと無し。
VALUE DOMAINでドメインを取得していると無料(且つ容量は50MBで広告あり)でXREAのサーバを使うことができるので、まずはそちらで試してみることにします。VALUE DOMAINのサーバー利用方法に従って、 サーバーアカウントの登録・管理・購入ページから「無料ウェブアカウントを取得」を選択。
ユーザ名を入力、サーバを選択して登録。これでサーバは用意できたので、次にドメインとサーバを紐付けます。
DNSの設定を変更。自動設定から先程登録したサーバを選択すると、自動的に設定フィールドにそのサーバ用の設定が反映されるので保存します。次にサーバ側の設定を行います。
XREAの管理メニューからドメインウェブを選択し、ドメインを設定。これでドメイン名でアクセスすればXREAのサーバに繋がるようになりました。後はMovableTypeを入れてみて、サーバの性能がどの程度のものなのか確かめるとしましょう。
2005年08月26日
新しいドメインの使い道
以前に取得したドメインの使い道を決めました。このサイトを自宅サーバでの運用からホスティングサービスでの運用に切り替えると同時に、ドメイン名も新しいものに変更することにします。自宅サーバでの運用はメンテナンスが楽だというメリットはあるものの、閲覧者の方から「たまに繋がらない」という話を聞き及び、やはり外部に置いてしまった方が無難かな〜と考えたためです。自宅サーバはファイルサーバ兼メールサーバとしてLAN内で活用する予定です。
次はどの会社のホスティングサービスを利用するかが問題です。以前に使っていたコバルトエイドはディスクの容量が100MBと少ないですし、何よりDBが使えないのが致命的。さて、どこにしたものか。
2005年08月02日
新たにドメインを取得
当サイトは独自ドメインで運用しているわけですが、新たに一つドメインを取ってしまいました。このドメイン、まだ内緒ですが以前から狙っていたものです。元々とある会社が保有していたもので取得は無理だろうと諦めていたんですが、いつの頃からかそのドメインが使われなくなっている(アクセスしても404)のを見つけて、これならひょっとすると次の更新はされないかもと期待していました。その期待に違わずドメインは期限切れを迎えたため、早速取得したというわけです。
まだそのドメインを使って何をやるのかというのは決めていませんが、このサイトを移転しようかな〜とも考えています。まぁ、それにかかる労力を考えると計画倒れになるかもしれませんが。
2005年07月27日
Value DomainのダイナミックDNSサービス
このサイトは自宅サーバでダイナミックDNSサービスを利用して運用しています。これまでJSpeedが提供しているダイナミックDNSサービスを使っていたんですが、どうもこの会社の先行きが怪しい。トップページには「ジェイスピードは2005年3月1日をもって営業を停止いたしました」と案内されていますし、「今後はダイナミック DNS以外のサービスを順次停止し、2005年末をもって全てのサービス を停止させていただきます」とのこと。一応ダイナミックDNSについては2006年以降も継続するらしいですが、ちょっと不安です。そんなわけでJSpeedは止めて、Value DomainのダイナミックDNSサービスを利用することに決めました。
まずはネームサーバをJSpeedのものからValue Domainの上位レジストラであるeNomのものに変更します。だから正確にはValue Domainのサービスというより、eNomのサービスを利用することになります。
eNomのダイナミックDNS機能は標準で有効になっているので、後はIPアドレスの情報を更新するだけです。更新にはDiCEを使うことにします。本当はサーバから更新するようにした方がいいんですけど。
これでダイナミックDNSは問題なく利用できるようになりました。Webサーバはそれでいいとして、自宅ではメールサーバを立ち上げていないのでこのままではredmagic.org宛のメールが受信できません。そこで、これまたeNomが提供しているメール転送機能を使って、全てのメールをぷららのメールアドレスに転送するよう設定します。
こんな感じでJSpeedに依存した運用から無事移行することができました。本当はeNomのサービスを使うのではなく、XREAのサービスを使った方がいいのかもしれませんが。
2005年07月25日
ドメインの移管完了
ドメインの移管が完了しました。Value Domainのドメイン移管手順には「通常、移管が完了するまで1-2週間掛かります」と書かれていたので、この早さにはちょっとびっくりです。
以下に申請に関わる手続きを書いておきます。
- 7/22の夜、Value Domainのドメイン移管申請ページから申請。
- 申請から十数分後、Value Domain(DigiRock)から"Domain Transfer Request for ドメイン名"という件名のメールを受信。"If you WISH TO PROCEED with the transfer, you must respond to this message by using the following URL"ということなので指定URLにアクセスして、"I Approve"を選択してsubmit。
- 7/24の朝、移管元レジストラCyber Tradingの上位レジストラであるTucows/OpenSRSから"Transfer Away request has been received for the domain ドメイン名"という件名のメールを受信。メールに返信する必要はなく、「Wed Jul 27 11:39:17 2005までにご連絡がない場合は、移管手続を行います」とのこと。メールにはTransfer Keyが記載。
- 7/24の午後、Cyber Tradingのドメイン移管申請ページから前述のメールのTransfer Keyを用いて申請(Transfer Key受理後5日以内に処理をしないと移管処理を完了できないとのこと)。
といった手続きを行ったところ、7/24の夜にValue Domainのサイトで確認すると移管作業が完了していました。WHOIS情報をチェックすると有効期限もちゃんと1年間延びていましたので(移管申請時に1年分の料金を支払い済み)、これでばっちりです。後はぼちぼちValue Domainの機能を使いこなしていきましょう。
2005年07月23日
ドメインの移管申請
昨日ドメイン移管に必要なAuth-Codeを問い合わせたCyber Tradingから返事が返ってきました。それによるとAuth-Codeはドメイン管理コントロールパネルから確認できるとのこと。ありゃ、一応昨日その画面で確認して見つからなかったから問い合わせしたんですが。半信半疑でもう一度確かめてみると、追加情報というところにありました……。こちらの確認不足ということで、ちょっと恥ずかしいです。
何はともあれAuth-Codeが手に入ったのでValue Domainでドメインの移管申請をしました。移管申請ページでドメイン名とドメインの種類(org)、Auth-Codeを入力して申請完了。後はValue Domainの方で移管作業が行われるので、こちらは移管の承認確認メールが届くのを待ってそれに承認すればいいはずです。
2005年07月22日
ドメインの移管に挑戦
本サイトのドメイン"redmagic.org"ですが、取得したのが2001年の9月。それ以来毎年1年ずつ更新を行ってきて、今年ももうすぐその時期がやってきます。始めはそのまま更新しようとしていたんですが、金額を見てちょっと考えてしまいました。今使っているレジストラはCyber Tradingというところで、料金は年額2,400円。決して高いというわけでもないですしサービスに不満があったわけでもないんですが、年額990円という格安のVALUE DOMAINにドメインを移管することにしました。
といっても初めてのことでどうやっていいのか分かりません。VALUE DOMAINのヘルプを見ると、とりあえず新しいレジストラに移管申請をするところから始めればいいようです。ただorgドメインの移管申請には認証鍵(Auth-Code)というのが必要とのこと。これは現在のレジストラから取得しなければいけないようなので、Cyber Tradingのサポート宛にその旨メールを送ってみました。その到着を待って申請をしてみることにします。さてさて上手くいくでしょうか。
2005年03月02日
MTのトラブル
ここ数日Movable Typeの調子が悪くて困っていました。具体的にはファイルをアップロードしようとすると、サイズが0 bytesと表示されてうまくいかないのです。この問題は、手間がかかるもののftpでアップして凌いでいました。しかし、この他にもトップページのコメントが表示されないという不具合も発生。
さすがにこれは放置しておけんということで調査を開始しました。初めはMTのスクリプトが壊れたんじゃないかと思って、似たような事例がないかと調べていたんですが該当なし。となると、ApacheやMySQLの問題か? それだと原因を突き止めるのが大変そうで嫌だな〜。
しかし、何気なく打ち込んだ一つのコマンドによってあっさりと原因が判明しました。
chinensis# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 516568 41778 433466 9% /
/dev/ad0s1h 45176940 668254 40894532 2% /home
/dev/ad0s1f 1032142 122 949450 0% /tmp
/dev/ad0s1g 10322414 4395808 5100814 46% /usr
/dev/ad0s1e 1032142 951692 -2120 100% /var
procfs 4 4 0 100% /proc
見ての通りでお恥ずかしいのですが、/varがあふれていました。DBは/var/db/以下にあるので、/varがいっぱいではMTの動作に問題が起きるのは至極当然ですね。
/dev/ad0s1e 1032142 497648 451924 52% /var
慌てて不要なファイルを消して空きを作りました。残りの大半はApacheのログなので、ログローテーションの設定もそのうち行わないと不味いかな。
2005年01月26日
MTにスパムメールを送信してしまう脆弱性
Movable Typeにスパムメールを送信してしまう脆弱性
見つかった脆弱性は、「メール通知」を設定しており、「MailTransfer」の設定値が「sendmail」の場合に発生する。
「メール通知」を使っていない私には無関係なもので一安心。というか、そもそもうちのサーバではSendmailを止めてしまっているからメールを送りようがないんだった。
2004年12月01日
PHPが動かない
HINAGATA Photoを諦めて別のフォトアルバムスクリプトを使ってみることにしました。Coppermine Photo Galleryというのがなかなか良さそうなので試してみます。必要な環境はPHP、MySQL、GD(またはImageMagick)で、すべて揃っています。ダウンロードページからcpg1.3.2.zipを落としてきて、適当なディレクトリに展開。install.phpスクリプトを実行したところ、以下のようなエラーが出て止まってしまいました。
Fatal error: Call to undefined function: preg_split() in /usr/local/www/data-dist/mt/photo/install.php on line 21
これはひょっとするとPHPがうまく動いていない? そういえば思い当たることがありました。前にXOOPSを試してみたことがありましたが、最近になって当時作ったサイトにアクセスしてみたところ、真っ白なページしか表示されないのです。使うつもりもなかったので放置していましたが、あれってPHPが動いていないのが原因な気がします。
サーバダウン+PHP崩壊=… (Baskets)
調べてみると、こんなページが見つかりました。どうやらFreeBSDのPHPのports構成に大幅な変更が加わったことによるようです。/usr/ports以下を見てみると、確かにlang/php4-extensionsなんてmeta-portができています。何かのportsのバージョンを上げるときに一緒にPHPのバージョンも上がってしまった、けれど拡張機能は別のportsになってしまっているのでインストールされなかった、というのがありそうですね。
そんなわけで、php4-extensionsをインストールします。インストール後に/usr/local/etc/php.iniのextension_dirを"/usr/local/lib/php/20020429"に書き換えて完了。これでinstall.phpが正常に動作するようになりました(XOOPSも)。疲れたので、続きはまた今度。
2004年11月28日
.htaccessでアクセス制限
HINAGATA Photoで作ったフォトアルバム、他の人から見られないようにアクセス制限することにします。一番簡単なApacheのBasic認証で行います。以下のような.htaccessファイルをアクセス制限するディレクトリに置くだけです。パスワードは外部に非公開の/usr/local/www/.htpasswdに記述しておきます。
AuthUserFile /usr/local/www/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
Require valid-user
これでバッチリと思いきや、アクセスしてみると"Internal Server Error"。ん? 何でユーザ名とパスワードすら聞いてこないんだろう。.htaccessの書式は間違っていないしな。ひょっとして大本のApacheの設定の問題だろうかと調べてみるとビンゴでした。httpd.confのAllowOverrideがNoneのままでした。こんな基本的なミスを犯すとは、恥ずかしい……。NoneをAllにしてからアクセスすると、ちゃんとダイアログが表示されてアクセス制限できました。
HINAGATA Photoを試してみる
茨大OB定例会もかれこれ13回を数えたわけですが、せっかく撮った写真を公開しようかと思います。Webでフォトアルバムを作るためのツールを調べてみると、HINAGATA Photoというのがなかなか良さそうです。MovableTypeをベースとしているので、私のように既に導入している環境には持ってこいです。
セットアップ方法は凄く簡単です。普通に「新しいウェブロクの作成」を行ってから、テンプレートを書き換えてやるだけ。カテゴリ名を日本語表記するために、$MTCategoryLabel$を$MTCategoryDescription$"で書き換えるといったちょっとしたカスタマイズを行って完成。早速試してみたわけですが、これは日々写真をアップして更新していくならいいんですが、手元にある沢山の写真をアップするという目的には向きませんね。MTをベースとする以上当たり前のことなんですが。う〜ん、どうしよう。このまま使うためには手間がかかりますし、かといって別のツールを探すのも面倒ですし……。
2004年11月27日
コメントスパム対策
海外からのコメントスパムにうんざりしてきたので対策を取ることにします。色んな方法がありますが、手っ取り早い「半角英数記号しか含まないコメントは却下」という手段を採用。きままにポロポロさんのコメントスパム ひらがな対策を参考に、mt-comments.cgiに手を入れます。
試してみたところ、英数字だけのコメントでは"Internal Server Error"になりました。もちろん日本語が入っていれば問題なく書けます。というわけで、もしコメントを下さる奇特な方がいれば日本語でお願いします。
2004年11月26日
ちょっとだけカスタマイズ
MT3.1にしてから、以前と使い勝手が変わってしまった部分があるので、ちょっとだけカスタマイズします。
◇URLボタンでのリンク作成時に"target=_blank"を自動的に付加する
以前にもやったことなんですが、アップグレード時に上書きしてしまったので再設定します。簡単に済むかと思ったら前に修正したedit_entry.tmplからinsertLink関数が消えてしまっています。JavaScriptなので、どこかのjsファイルにあるんだろうと予測を付けてみたらビンゴ。mt.jsの中にありました。前回同様、修正を加えて完了です。
◇画像リンクに"border="0"を自動的に付加する
これはMT2.6では手を加えなくとも最初からそうなっていたはずなんですが、3.1ではなぜ変わってしまったんでしょ。ググってみると、あっさりと対処策を発見。これでバッチリです。
デザイン変更
今日このサイトを見た人なら一目瞭然ですが、デザインを一新しました(Dr.blogのテンプレートを使わせてもらいました)。元々がMTのデフォルトテンプレートだったのに加え、1年以上も同じデザインで飽きてきたので、思い切ってがらりと変えてみましたが如何でしょう。
気が向いて、またいつ変えるともわからないのでスクリーンショットを残しておきます。
こちらが以前のデザインで、
こちらが新しいデザイン。
2004年11月25日
アップグレード後の再構築に失敗
「後はもう少し様子を見て」なーんて書いた後で、早速トラブってしまいました。アップグレードの後、念のためサイトの再構築を行おうと実行したところ、
Can't loc at /usr/local/www/cgi-bin/lib/MT/Template/Context.pm line 1900
こんなエラーが。「Can't loc at」というのは多分「Can't locate」のことだと思いますが、なぜかこんな風に表示されました。
アップグレードで行った作業はほとんどないので、それを一からチェックしていったところファイルの上書きがうまくいっていないものがいくつも見つかりました……。上書きは慎重にやらなきゃと思って手作業で行ったのが間違いの元でした。バックアップはしてあるんだから、全部一発で上書きすればこんなことにはならなかったんですよね、反省。
改めてファイルをすべて上書きコピーし直したところ、無事に再構築することができました。一時は、前のバージョンに戻すはめになるのかと、冷や冷やものでした。
MT3.1にアップグレード
おそらく誰も気づいていないと思いますが(当たり前か)、MovableTypeのバージョンを2.64から3.11にアップグレードしました。2.xでこれといった不都合もなかったんですが、いい加減サイトのデザインでも変えようかとテンプレートを探していたところ、3.x用のものが多かったので、じゃあバージョンを上げてみようかな〜と。
アップグレードを行う前にまずはバックアップ。/usr/local/www/以下をコピーしておくのと、MySQLのデータをmysqldumpコマンドを使ってダンプします。
> mysqldump -u root -p rootpass mtdb > mtdb.dump
準備ができたところでMTのサイトからアップグレード用のファイルをダウンロードしてきます。それを適当なディレクトリに展開した上で、アップグレード手順に従って2.xのファイルに上書きします。後はアップグレードスクリプトをmt-upgrade30.cgi、mt-upgrade31.cgiと順に実行するだけ。と、ここで問題発生。mt-upgrade30.cgiを実行したところ、下記のようなエラーが出ました。
Upgrading your databases:
Running 'alter table mt_blog add blog_require_comment_emails tinyint'An error occurred while upgrading the schema:
Access denied for user: 'mtuser@localhost' to database 'mtdb' on alter table mt_blog add blog_require_comment_emails tinyint at /usr/local/www/cgi-bin/mt-upgrade30.cgi line 360.
そういえばMT用ユーザ(mtuser)にalterする権限を与えていませんでした。権限を再設定します。いっそのこと"all privileges"にしちゃった方が楽なんですけど。
mysql> grant select,insert,update,delete,create,create temporary tables,alter on mtdb.* to mtuser@localhost identified by 'password';
この上で、改めてアップグレードスクリプトを実行したところ今度はばっちり。念のためmt-upgradecheck.cgiで確認すると、"Upgrade seems to have been successful."。後はもう少し様子を見て、問題ないようならデザインの変更に取りかかるとしましょう。
2004年10月27日
メールが来ない
最近メールが来ないな〜と思っていたんですが、たまにはそういうこともあるだろうとそれほど深く考えていませんでした。ところが、bk1に注文を行った後の確認メールが届かないので、さすがにこれはおかしいと気付きました。
で、原因を調べたところ単純なものでした。先日ちょっとした手違いでサーバを再起動したのですが、その後でfetchmailを立ち上げるのをうっかり忘れていました。。。imapdは自動起動するようにしていたもので、メーラからimapサーバに接続することが可能だったのが発見を遅らせていたようです。これを機にfetchmailも自動起動するように設定しておこうかな。
2004年09月24日
WOMBAT 1周年
そういえばこのサイトを始めたのが去年の9月22日なので、1周年を迎えたことになります。WOMBATの前身のSaitoSightが3年半以上続きましたので、日記を書き続けてかれこれ5年近くになりますか(途中抜けてますが)。軽い気持ちで始めたので、まさかここまで長く続くとは夢にも思いませんでした。
まぁ、それを言ったら5年前の私には就職して、退職して、大学院に戻ってくるなんてことも想像すらつかなかったでしょうね。当時の日記を読み返してみると、それなりに忙しいなりに毎日楽しい日々を過ごしていたようで、昔に戻りたくなります。あ〜、こんなことをいってもどうしようもないんですけど、ストレートに大学→院と行けてればなぁ。
今後このサイトをどうしていくかってことも色々と考えてはいるんですが、なかなかいい案がありません。HTMLの手打ちからMovableTypeを使う形態に移行して、更新作業はだいぶ楽になったんですが、それとは反して中身が薄くなったように思います。さすがにスパッと更新を停止するというのも惜しいのですが、このままダラダラと続けていくのもどうかという気がします。もともと自分の備忘録代わりに始めたようなものなので、今の形がいいとも思えないんですよね。う〜ん、どうしたものかな……。
2004年05月31日
XOOPS導入
前々から気になっていたXOOPSに手を出してみることにしました。
XOOPSを動かすのに必要な環境は、
WWWサーバ: Apache(1.3.xx)を特にお薦めします
データベース: MySQL3.23.xx(将来的にはPostgreSQL等にも対応予定)
PHP: PHP4.0.3 以降 (4.1.1以降を推奨)
ということなので、既にApacheとMySQLは入っているのでPHPを入れるだけで整います。
portsからwww/mod_php4を入れた後、XOOPS公式サイトからコアパッケージを落としてきてその中のhtmlディレクトリをApacheのドキュメントルート以下に配置します。後はinstall.phpを実行すればいいはずなのですが、Fatal errorが発生してしまいます。ググってみると、同じようなエラーが出た人はportsではなくpackageからPHPをインストールして解決しているのを発見しました。そういう解決の仕方は嫌なのですが、とりあえず真似して一旦アンインストールしてpackageから入れ直してみたところ……やっぱりダメでした。
と、ここで変なことに気づきました。PHPを入れ直したときにApacheを再起動していたのですがどうもそれに失敗しているようです。"apachectl configtest"を実行してみると、libphp4.soが必要としているlibexpat.so.4が存在しないと怒られてしまいます。/usr/local/lib以下を見てみると確かに該当するファイルがありません。またまた短絡的な解決策ですが、libexpat.so.5へのシンボリックリンクを作成して凌ぐことにします。こんなことを繰り返してると依存関係が矛盾してくるんだよなぁ。
これで無事にinstall.phpが動作するようになり、XOOPSのインストールが完了しました。「約5分でインストール」というのが売り文句になっていますが、確かに一度やって慣れてしまえばそのぐらいでできそうです。DBに全く触ったことがないという人は挫折しそうですが……。
2004年05月09日
URLボタンと引用ボタン
久々にMTをカスタマイズしてみました。とはいっても大したことではなく、こちらのページを参考にしてURLボタンを押してリンクを作成すると自動的にtarget="_blank"が付くようにしました。これでリンクをクリックすると別ウィンドウで開かれるようになります。
もう1つはこちらのページを参考にして、blockquoteタグで引用するボタンを付けました。こちらはこのページを見ている人には全く関係ない話ですね。
2004年05月05日
サーバトラブル
誰も気づいていないでしょうが、昨日(5/4)の0時から1時間ほどこのページが見られない状態になってました。原因を調べると、名前解決できていないようなのでDDNSサービスを利用しているJ-SPEEDの問題かと考えていたらやはりそうでした。
2004年5月4日0:00〜1:00までの間、回線業者の機器トラブルによりサーバに接続出来ない状態が発生いたしました。お客様には大変ご迷惑をおかけしまして申し訳ございませんでした。
月々250円ですから仕方ないですかね……。誰かがセカンダリDNSを使わせてくれるんなら、自前でDNSを用意するんですけど。
2004年05月04日
SpamAssassinの導入
毎日何十通と届くSPAMが鬱陶しいので、対策ツールを導入することにしました。ベイジアンフィルタを使ったスパムフィルタにはBogofilterやbsfilter、SpamAssassinなどがありますが、今回はSpamAssassinを使ってみることにします。
まずはportsからSpamAssassin(p5-Mail-SpamAssassin-2.63_1)をインストール。
# portinstall p5-Mail-SpamAssassin
/usr/local/etc/rc.d/spamd.shの記述に従って/etc/rc.confに以下の設定を追加します。
spamd_enable="YES"
続いて、SpamAssassinの設定ファイルを用意します。全ユーザ向けの/usr/local/etc/mail/spamassassin/local.cfかユーザ個別の~/.spamassassin/user_prefsの2通りがありますが、どうせ私しか使う人間はいないので前者でいくことにします。TLECさんのところからユーザ定義ファイルをダウンロードして
それをlocal.cfとして使用します。
spamdを起動します。
# /usr/local/etc/rc.d/spamd.sh start
サンプルを使ってSpamAssassinの動作を確認してみます。
% cat /usr/local/share/doc/p5-Mail-SpamAssassin/sample-spam.txt | spamc
% cat /usr/local/share/doc/p5-Mail-SpamAssassin/sample-nonspam.txt | spamc
前者の場合には、SPAMメールと判定されて
X-Spam-Level: **************************************************
X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on chinensis.redmagic.org
X-Spam-Flag: YES
X-Spam-Status: Yes, hits=1001.4 required=7.0
といったヘッダが付加されます。後者の場合はX-Spam-StatusがNoとなります。
無事SpamAssassinの動作を確認できたところで、最後にprocmailのレシピを変更します。
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOGFILE=$MAILDIR/procmaillog
LOCKFILE=$HOME/.lockmail:0fw
*!^X-Spam.*
|/usr/local/bin/spamc:0:
* ^X-Spam-Status: Yes
$MAILDIR/.Spam/
これはメールをSpamAssassinに渡してSPAMかどうかの判定を行い、X-Spam-StatusがYESであればSpamディレクトリに振り分けるというものです。
導入してしばらく様子を見てみましたが、今のところ間違えることもなくSPAMを分類できているようです(誤認するようであればsa-learnコマンドを使って学習させることができます)。
2004年05月03日
IMAPサーバ構築
前々から画策していたIMAPサーバの構築をGW中に行うことにしました。今までは複数のプロバイダのメールをサーバのSylpheedで受信・管理していましたが、それだと他のクライアント、特にメインで使っているWindowsマシンからの扱いが不便です。そこで、IMAPサーバを立ち上げ、どのクライアントからでも同じようにメールを扱えるようにしました。最終的にはLAN外、大学からも自宅のメールを読めるようにするのが目標です。
IMAPサーバにはcourier-imapを使用することにしました。portsからインストールした後、/usr/local/etc/courier-imap/以下に設定ファイルを用意します。既にhoge-distという名前で雛形があるので、"cp hoge-dist hoge"としてコピーするだけです。最後に起動スクリプト(courier-map-imapd.sh)からimapd(SSL非対応)を立ち上げます。自動起動するよう、/usr/local/etc/rc.dにコピーしておきました。
# cd /usr/local/etc/courier-imap/
# cp authdaemonrc.dist authdaemonrc
# cp imapd.dist imapd
# cp imapd.cnf.dist imapd.cnf
# cp imapd-ssl.dist imapd-ssl
# cp quotawarnmsg.example quotawarnmsg
# cd /usr/local/etc/rc.d/
# cp courier-imap-imapd.sh.sample courier-imap-imapd.sh
# ./courier-imap-imapd.sh start
順番が前後しますが、IMAPサーバを動かす前にメールボックスを用意しておく必要があります。courier-imapはMaildir形式を使用しますが、ホームディレクトリでmaildirmakeを実行すれば作成されます。ただ、私の場合はこの方法を使わず、既存のメールボックスをMaildir形式に変更して用いることにしました。今まではSylpheedを使用していたため、メールボックスはMH形式を用いていました。これをMaildir形式に変換する方法を探していたところ、mh2Maildirというそのものずばりのスクリプトを発見。これは楽でいいやと思いきや、私の環境ではエラーが出てうまく動きません。そこで、muttを使用して変換を行いました。IMAPサーバの構築よりもここでの変換の方がよほど手間がかかりました……。
これでIMAPサーバが立ち上がったはずですので、telnetで143に繋いで動作を確認。無事に動いているようですのでWindowsからもBecky!を使って試してみたところ、こちらもOK。
LAN内で使う分にはこれだけの設定で構わないのですが、外部から利用することも考えてCRAM-MD5認証を行うようにします。最初にcourier-imapをインストールしたときにはそのことをすっかり失念していたので、改めて"WITH_CRAM=yes"のオプションを付けてコンパイルし直しました。続いて/usr/local/etc/courier-imap/imapのIMAP_CAPABILITYを以下のように編集します。
IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 IDLE"
次に認証を行うためのユーザデータベースを作成します。
# userdb hoge set home=/home/hoge mail=/home/hoge/Maildir uid=1001 gid=1001
# userdbpw -hmac-md5 | userdb hoge set hmac-md5pw
# makeuserdb
これでCRAM-MD5での認証を行ってくれるはず……なのですがなぜかうまくいきません。エラーを見た限り、認証ではじかれているようなのですが、よく分かりません。原因が気になりますが、まだやることが残っているのでひとまずはplain textでの認証でいくことにしました。
残すは、プロバイダのメールボックスからのメールの取得です。定番のfetchmail+procmailを使うことにしました。どちらもports一発インストールして、まずはfetchmailでのメール取り込みの設定。ホームディレクトリの.fetchmailrcに以下のように設定しました。
set daemon 300
set nobouncemail
set postmaster hogedefaults
protocol pop3
uidl
no rewrite
no mimedecode
mda "/usr/local/bin/procmail"poll POPサーバ1
user ユーザ名1
password パスワード1poll POPサーバ2
protocol apop
user ユーザ名2
password パスワード2
デーモンモードで動かすか、cronで定期実行させるか悩みましたが、とりあえずデーモンで。
最後にfetchmailで取り込んだメールをprocmailで振り分けます。ホームディレクトリの.procmailrcに以下のように設定しました。
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOGFILE=$MAILDIR/procmaillog
LOCKFILE=$HOME/.lockmail
procmailのレシピは分かりにくいので、今のところは何もしないことにします。
これでIMAPを使ったメール環境構築は終了です。あー、疲れた。
2004年04月12日
ファイルサーバ構築
このサイトを公開しているPCは現在Webサーバとしてしか使っていないのでHDDが無駄に余りまくっています。せっかく24時間稼働させているんだから、もうちょっと活用させてあげようということで、ファイルサーバにすることにしました。
といっても大したことをしたわけではなく、sambaを入れただけです。portsからja-samba-2.2.8a.j1.1_5をインストールして、smb.confを適当に設定。swatはあんまり好きじゃないので使いませんでした。
後はsambaを起動するだけですが、inetd経由にするか単体のデーモンとして動かすか。とりあえず前者でいくことにして、inetd.confを修正して、inetdを再起動。これでWindowsからファイルサーバとして利用できるようになりました。
2004年04月02日
サーバ復旧のお知らせ
引っ越して3日目、ようやくWebサーバが復旧しました。とはいってもLAN内からしか見えてないので、外部から見ることができるか心配なのですが。
3/30〜4/1の分に関しては、ぼちぼち書いていきますのでお待ちを。
2004年03月29日
サーバ停止のお知らせ
引っ越し作業に伴って3月29日夜からWebサーバを停止する予定です。ついでにDNSの方も色々といじる予定なので、しばらくは不安定な状況が続くかもしれません。4月2日ぐらいにはまともな状況にしたいと思いますので、しばしお待ちを。
2004年02月22日
サーバOSのアップグレード
気が向いたのでサーバOSをFreeBSD4.7から4-STABLEである4.9にアップグレードしてみました。手順は改めて書くまでもないのですが、CVSupで4-STABLEのソースを取得した後、
# mergemaster -p
# make buildworld
# make buildkernel KERNCONF=HOGEHOGE
# make installkernel KERNCONF=HOGEHOGE
再起動後を行い、新しくインストールしたカーネルで問題ないようなら、
# make installworld
# mergemaster
再び再起動してこれで完了です。CPUが非力なためbuildworldでかなり時間を取られたものの、無事にアップグレードできました。
ついでにApacheのバージョンも1.3.28から1.3.29に上げました。
2003年11月01日
ADSL
昨日の夕方、ASAHIネットの工事があったらしく、ADSL接続が切れてしまった。ルータの設定で自動接続するようにしているので、すぐに回線は繋がったのだけど、当然ながらIPアドレスが変わってしまった。このサイトは自宅サーバでDynamicDNSサービスを利用して運用しているので、IPアドレスが変わってしまうと繋がらなくなってしまうのだ。というわけで、昨日の16時過ぎから深夜にかけてアクセスできなくなっていたはず。
こういうことのないように、定期的にIPアドレス情報を更新するようにcronで設定していたはずなのに、うまく動いていないのかな。今度設定を見直してみよう。
2003年10月19日
完全ファンレス
サーバ用PCから妙なノイズが出るようになったので調べてみることにした。ノイズの発生源として考えられるのは、HDDとケースファン。他にファンの類はないから、この2つのどちらかであることは間違いないはず。
電源が入っていないと分からないので、稼働中のPCのケースを恐る恐る外して中を見てみる。耳を近づけてみると、ノイズはケースファンから出ているらしい。試しにファンを外側から指で押さえてみると、ノイズがするたびにファンが振動するのが分かる。これでめでたく犯人は見つかったものの、どう対処したものだろうか。ひとまず電源を落としてファンを取り外してみよう。
じっくり観察してみると、ファンの羽の一部が破損していることに気づいた。
なるほど〜、これがノイズの原因だったのか。それにしても、何が原因で羽が壊れるようなことになったんだろうか?
壊れてしまったファンだけど、とりあえずPCから外してしまうことにした。これでPCは完全ファンレスとなってしまうけど、最近寒くなってきたし熱暴走してしまうこともないだろう。とはいっても、このままでは危険なので、新しく静音ファンを捜して購入する予定。40mm×40mm×10mmサイズの静音ファンなんて、あるのかな。
2003年10月13日
一般公開
一般公開、というほど仰々しいものでもないけど、今まで公にしてなかったこのサイトへ旧サイトからリンクしてみた。
もともと見てる人間は少ないので、旧サイトはさっさと消してしまおう。
2003年10月06日
最近のコメント
コメントが付いたエントリーを表示するようにしてみた。あまり需要はなさそうだけど、あって困ることもないだろう。
例によってBLOG質問箱の「リーセントコメント+コメント日付」を参考に、Main Indexに記述を追加して再構築を行った。
すると、
MT::App::CMS=HASH(0x82a3c78) Use of uninitialized value at /usr/local/www/cgi-bin/lib/MT/ObjectDriver/DBI.pm line 74.
といったエラーがどばーっと表示された。あれあれ? 既に使われているサイトから貰ってきたソースだから間違いはないと思うんだけど。記述をちょっとずつ削っていって再構築を繰り返した結果、"recently_commented_on"というのが問題らしいことが分かった。
さらに調べた結果(BLOG質問箱のコメントの中で発見)、MySQLの設定の問題であることが判明。
以下の文はMySQLに移行して以来、recently_commented_on="N"が機能しない。エラーが出てしまう。というフォーラム内の一コマです。>The problem is solved.
>It was related to a MySQL permission.
>The MT user needed the right to create a temporary table.データベースに対する権限(一時的なテーブルを作成する)が必要という事なのですが、PostgreSQLでも同じ事が言えるのではないかと思っています。
な〜るほど、確かにMT用にユーザを作った時には、
mysql> grant select,insert,update,delete,create on mtdb.* to foo@localhost identified by 'hogehoge';
というように権限を設定したので、temporaryなテーブル作成(Create_tmp_table_priv)は許して
いなかった。というわけで、
mysql> grant select,insert,update,delete,create,create temporary tables on mtdb.* to foo@localhost identified by 'hogehoge';
として権限を再設定した。その後、再構築を行なったところ、今度はエラーも出ずに無事に終了。ふ〜、変なところで手こずったな。
カテゴリー表示
Main Indexを編集して、カテゴリーを表示するようにした。ついでにエントリーのタイトル横にもカテゴリーを表示してみる。デフォルトだと英語表示で、これはこれでいいのだけどやっぱり日本語だろうということで、BLOG質問箱を参考に日本語で表示するように変更。
カテゴリ名が表示されるようにテンプレートを変更して使っている人は、カテゴリ名を表示する部分に<$MTCategoryLabel$>というタグを使っているはずです。
これでは英語で付けたカテゴリ名が表示されるので、このタグを<$MTCategoryDescription$>と入れ替えます。するとCategory Descriptionフィールドに入力した日本語名が表示されます。
エントリーの一括編集
このサイトはインプレスから発売されている「Movable Typeで今すぐできるウェブログ入門」という本を参考にして作っているのだけど、ちょっとした問題が起きた。今まで投稿していたエントリーをカテゴライズしようと思って、一括編集を試みたところ「投稿の状態」が現在のエントリーの状態を反映してくれず、すべて「下書き」となってしまうのだ。これだと、一々エントリーの状態を「公開」に戻さなくてはならず、かなり面倒くさい。
こりゃ、どう考えてもバグだろうということで調べてみると、著者の方の「ウェブログ入門 サポートページ」で解決策を発見。
今回のランゲージパックに付属している ja.pm は、そのままだと、一括編集モード (PowerEdit mode) の投稿の状態 (Post Status) 表示に問題が発生します。上記ランゲージパックに付属のパッチでは自動的に修正されますが、すでに Movable Type をインストールしている方は、以下の修正を行ってください。
この通りCMS.pmに修正を加えたところ、ちゃんと「投稿の状態」が表示されるようになった。
2003年10月05日
タイトルロゴ
作り方は以下の通り。
1. リコーイメージネットの「DIGICLIPフリーフォト」から適当な画像をダウンロード。
2. 画像を適当な大きさにトリミング。
3. 画像に文字を乗せる
4. 文字の明度レベルを補正して明るくする。
5. 画像の明度レベルを補正して暗くする。
これだけで、それっぽいロゴができあがる。無償で画像を使用させてくれる太っ腹なリコーさんに感謝を。欲を言えば640×480よりも大きな画像が欲しいです。。。
2003年10月01日
カレンダーからのリンク
MTを使っていて不満に思ったこと。カレンダーの日付をクリックしても、その日のエントリーがすべて表示されないのだ。何で1つだけしか出してくれないんだろ。まさか、みんな1日に1つしかエントリーを投稿しないわけじゃないよな。
調べてみたら、ちゃんと考えてる人がいた。
カレンダーで1日まとめて表示する
参考にして修正。これで見やすくなりました。
2003年09月22日
MovableType設置
MovableTypeの設置に関する覚え書き。
【MySQL】
・MySQLをPortsからインストール
# portinstall databases/mysql40-server
ユーザmysqlは自動的に作成されている
/var/db/mydqlもmysql:mysqlで作成されている
・MySQLを起動
# /usr/local/etc/rc.d/mysql-server.sh start
・起動を確認
# ps ax | grep mysqld
24927 p8 I 0:00.03 /bin/sh /usr/local/bin/mysqld_safe --user=mysql --dat
24945 p8 S 0:09.22 /usr/local/libexec/mysqld --basedir=/usr/local --data
・rootのパスワードを設定
# mysqladmin -u root password 'RootPassword'
# mysql -u root -pRootPassword
・匿名ユーザを削除
mysql> delete from mysql.user where user="";
・リモートアクセス用のrootにパスワードを設定
mysql> grant all privileges on *.* to roor@chinensis identified by 'RootPassword' with grant;
・MT用のDBを作成
mysql> create database mtdb;
・MT用にユーザを作成
mysql> grant select,insert,update,delete,create on mtdb.* to mtuser@localhost identified by 'MtPassword';
【MovableType】
・MTの入手
MT-2.64-full-lib.tar.gzをhttp://www.movabletype.org/download.shtmlからダウンロード
・設定ファイルの編集
mt.cfgを編集
mt-db-pass.cgiを編集
・netpbmをインストール
# portinstall -r netpbm
・ImageMagickをインストール(netpbmとどちらかでよい)
# portinstall -r ImageMagick
・MT本体をコピー
/usr/local/www/data/mt-static/にimages、docs、styles.css
/usr/lodal/www/cgi-bin/に上記以外
・動作環境確認
mt-check.cgiで動作環境を満たしていることを確認
mt-check.cgiとmt-load.cgiを削除
・日本語化
日本語のLanguagePack(mt-ja.tar.gz)をhttp://www.movabletype.org/resources.shtmlからダウンロードしてインストール
Jcode-0.83.tar.gzをhttp://openlab.ring.gr.jp/Jcode/index-j.htmlからダウンロードしてインストール
・MTを実行
http://redmagicorg.ddo.jp/cgi-bin/mt.cgi
blogはじめました
長いこと日記の更新をお休みしてたけど、この度Movable Type(MT)を導入してblogとして再出発をすることにした。blogとはいっても、MTを利用してるだけで書くことは以前と変わらないだろうけど。
blogの名前は"WOMBAT"。書いてあるとおり、"Waste Of Money, Brains, And Time"の略語。直訳すれば、「金と頭と時間の無駄」ということで、俺の怠惰で浪費ばかりの日常をこれでもかというほど的確に表している。前にどこかのサイトで見つけて、いつかどこかで使ってやろうと考えていたんだけど、今回ようやく日の目を見ることができた。喜んでいいのやら、悲しんでいいのやら。