Movable Type 3.X 再構築時のエラー

先日この Blog でもご報告しましたように、Blog のタイプを Movable Type 2.661 から Movable Type 3.151-ja (日本語版)に変えたところ、Blog の再構築時に下記のようなエラーが表示されるようになってしまいました。

Prototype mismatch: sub Params::Validate::validate_pos vs (\@@) at /home/mt/extlib/Params/ValidatePP.pm line 139.
Prototype mismatch: sub Params::Validate::validate vs (\@$) at /home/mt/extlib/Params/ValidatePP.pm line 370.

エラーが表示されるだけで、特に不都合はないのですが、少し気になってネットで検索しましたところやはりありました。
Google の検索結果
どうもサーバにインストールされている Perl のバージョンが古いせいのようです。

■ Perl のバージョンアップ

FreeBSD 4.X RELEASE ではベースシステムで、Perl5.005_03 がインストールされています。FreeBSD 5.X RELEASE では、ベースシステムで Perl がインストールされていませんので、必要な場合、ports より別途インストールします。

うちのサーバは、FreeBSD4.11 なので、使用している PerlPerl5.005_03 です。それでまたみゅさんのサイトのパールの更新のページを参考に、Perl のバージョンアップをしてみました。

とりあえずうちの FreeBSD4.11 サーバでは Perl は ports からのインストールではないので、単に ports よりインストールできる最新のものをインストールしてみました。
# cd ports /usr/ports/lang/perl5.8
# make install clean
# rehash
# use.perl port
# perl -v

とすると、
This is perl, v5.8.6 … と出てきます。
でもって
# use.perl system
# perl -v

とすると、
This is perl, version 5.005_03 …
と切り替わります。

この後 Blog の再構築をしてみると、上手く行ったらしくエラーが出なくなりました。しかし喜んでいたのもつかの間、うちのレンタル web アルバムを利用されている方から、レンタル web アルバムの編集画面がサーバエラーになって入れませんとメールで言われました。『う?ん、これはどういうことか…?。』とりあえず use.perl system のコマンドで元のバージョンに戻して急場をしのぎました。

■ ImageMagick の再インストール

ネットのサイトには色々な便利なサービスをしてくれているところがありまして、わたしのサイトもそのようなサイトになればといつも思っているのですが…(^^;)、Perl文法チェックツールを提供してくれているところがあります。そこでレンタル web アルバムのソースをチェックしてみたところ、どうも use Image::Magick という部分がエラーの原因のようです。多分 ImageMagick の中の Perl と連携している部分のソースの中に、新しい Perl にリンクされていないソースがあるのではと考えました。それで一度 ImageMagick 自体を
# cd /usr/ports/graphics/ImageMagick
# make deinstall
# make clern

し、もう一度
# use.perl port
でサーバ機の Perl を新しいものにした状態で
# make reinstall
してみたところ、reinstall 中に盛んに found perl5.8.6 といったソースが表示され、新しい Perl との連携が上手く行ったようです。レンタル web アルバムも、問題なく使えるようになりました。

新しく FreeBSD4.11 で web サーバを作る時には、初めに Perl のバージョンアップをしてから、ImageMagick のインストールをすれば、何の問題もないということです。m(^^)m

※ みゅさんのページの「Perlに依存するportsが入っている場合」の意味が今ひとつよく理解できないでいますが、このことなのでしょうか…。(^^;)

charset=utf-8 で作られたサイトの文字化け

最近地方自治体のホームページなどで charset=utf-8 で作られたものが増えてきているように感じる。新しいパソコン、WindowsXP などでは何の問題もなく表示されるのですが、古い Me でも SE でもない頃の word98 を使っている Windows98 などでは文字化けして読めない。

わたしの住んでいる市のホームページも最近リニューアルして charset=utf-8 で作られたサイトになった。そのスタイルシートには、
font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",
"Osaka","Geneva","Monaco","Georgia","Times New Roman",
"Helvetica","MS Pゴシック",sans-serif;
と指定してある。わたしの古い Windows98 では見事に文字化けして読めない。

しかし同じ charset=utf-8 で作られている自宅サーバの解説サイトで有名な "「鷹の巣」の自宅サーバー" さんはちゃんと読める。そのスタイルシートは、
font-family: 'MS Pゴシック', Osaka, sans-serif, 'MS UI Gothic'; だ。

どうも "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro" 辺りの指定が関係しているのではないか。試しに charset=utf-8 の html ファイルを作って、スタイルシートにこのフォントだけ抜かして指定すると、charset=utf-8 で作った html ファイルでも文字化けは起こらない。しかし、この書体はフリーでは配布されていないので、購入しないとインストールできない。

わたしの家にも WindowsXP はある。それで C:\windows\font の中を比べてみた。色々あるフォントの中で、XP の方だけにある Arial Unicode MS というフォントが目に止まった。『はは?ん、Unicode ね。これいいかも。(^^;)』と思ってコピーし、 Windows98 の C:\windows\font にペーストしてみた。

あははははは、上手く行きました。見事に文字化けが解消しました。お悩みの方、お試しあれ。(^^;)

sendmail の root 宛のメールを転送

FreeBSD の場合 OS をインストールすると、MTA(Message Transfer Agent)として sendmail が既にインストールされています。CGI などの sendmail 機能などは、rc.confsendmail_enabl="NO" となっていれば使えます。メールを受信するなど本格的にメールサーバとして使うとなると、sendmail_enabl="YES" にしてもっと細かい設定が色々必要になってきます。
sendmail_enabl="NONE" とすると sendmail 機能も使えなくなるようです。

最近はメールサーバを作ろうとする人の多くが、qmailpostfix を利用されているようにも思うのですが、sendmail の sendmail 機能だけを使っているサーバ機で、毎日の root 宛のセキュリティーなどに関するメールを自分がいつも使っているメールアドレスに転送する方法を説明します。

設定は簡単です。/etc/mail/aliases の 19 行目辺りに、
# root: me@my.domain
と書かれた部分がありますから、この me@my.domain の部分に転送したいメールアドレスを書き込んでコメントアウトを外してあげます。その後 newaliases というコマンドを叩いてあげると、同じディレクトリ内にある aliases.db の内容が更新されて有効になります。

参考URL
http://x68000.q-e-d.net/68user/unix/pickup?%2Fetc%2Faliases
http://x68000.q-e-d.net/68user/unix/pickup?newaliases

WWWCOUNT インストール時の注意点?

サーバにしていますコンピュータは四六時中つけっ放しのため、2台を半年ごとに交代させて休ませています。休ませている間に点検・清掃を行います。1台は CPU Pentium Ⅲ 550MHz メモリー 640MB HDD 約 53GB の DELL Optiplex GX1。もう1台は CPU Pentium Ⅲ 500MHz メモリー 384MB HDD 約 40GB DELL PowerEdge 1300/500 です。

一昨晩その交代をしました。引越しが順調に行って喜んでいたら、WWWCOUNT というソフトを入れ忘れていました。ports からインストールしたらいつまで経っても表示されません。「う?ん困ったな???」 (^^;)

だんだん理由が分って来ました。それは最近 apache のオーナを nobody から www に変えたことが原因でした。www に変えたのは apache を suEXEC で動かそうと試した時にしたのですが、結局色々な人にユーザとして貸し出したりしない時は、suEXEC は使い勝手が悪いと分り止めました。その時の apache のオーナ変更がそのままになっていという訳です。

WWWCOUNT はオーナが nobody でインストールされるんですね。それで動かなかったのです。chown コマンドで全て www のもにしたら表示されました。でもその時外は大分明るくなって来ていました。(^^;)

WWWCOUNT のインストールで参考にさせて頂いたサイト
http://freebsd.sing.ne.jp/FreeBSD/14.html

WWWCOUNT の使い方
※ ただしインストール時の設定により、使える機能と使えない機能とがあります。
/wwwcount/wwwcount.html