1.023world - ヤドカリパークとマリンアクアリウム -

海洋の仕組みと細菌・微生物から学ぶマリンアクアリウムサイト

1.023world Facebook

結果 Oh! Life (旧ブログ)

懲りずに書いてみたりする結果オーライな日記

WordPress ME2.2.1からWordPress 2.7.1へ移行

WordPress

現在、当サイトではブログに WordPress を利用させてもらってます。
しかし、ふと気づけば、もう随分古いバージョンになってますなぁ。
たった1年半で世の中すっかり置いてけぼりです。

今使ってるバージョンは ME2.2.1 。
最新版は 2.7.1。
えらいこっちゃ。

実は僕のブログはテンプレート以外にコアファイルも独自にあれこれ弄っているため、それが積もり積もって正直もう訳が判らなくなって来てます(曝)
もう、この際スッキリしたい!!

と言うわけで、昨日からシコシコ移行作業にとり掛かりました。
が、何かと手間が掛かったので、備忘録を残しておきますぜ。

今回の移行に際しての要望、問題点など。

  • ブログのURLは変更したくない /blog/
  • 簡単にアップグレードと言う訳にはいかないっぽい
  • 公式の引っ越し手順はイヤだ (新旧共にファイルが残るっぽい)
  • 画像を月別にディレクトリ分けしたい (これはサーバーの問題でした)

で、色々と作業手順などシミュレートしてみたところ、以下のような手順となった。

  1. まず画像を月別で管理できるように、PHPの動作モードをCGIモードに変更
    (SAFEモードだとPHPの動作に色々と制限が出るらしい)
  2. WP最新版を一旦別名ディレクトリでインストール (適当に /weblog/ とした)
  3. テンプレート等の調整 (独自の編集点以外は基本的にME2.2.1用のままで通った)
  4. 旧WPからデータをエクスポート
  5. 画像もフォルダ分けして /weblog/wp-content/uploads/ へ事前アップ
  6. エクスポートしたXML内の各 <img> タグ部を月別の画像パスになるよう適宜修正
  7. 新WPへインポート (オプションの「添付ファイルのインポート」はオフで)
  8. 管理パネルで必要な設定を済ませ、 /weblog/ にて表示テスト
  9. サーバーのデータベース管理(phpMyAdmin、DB WebAdmin等)を開いて、wp_options > option_value > ブログURL/weblog から /blog に変更
  10. 旧WPの /blog/ を一旦別名へリネーム (適当に /blog0/ とした)
  11. 新WPの /weblog/.htaccess内の /weblog 部分を /blog/ に書き換え
  12. 新WPの /weblog//blog/ へリネーム
  13. /blog/wp-admin/ へアクセスし、上手く認証できるか確認 (上手くいった)
  14. 設定画面で、WP URL、ブログURL、共に /blog/ となるよう編集
  15. /blog/ で新WPが表示されれば移行完了
  16. 必要ならば、/blog0/ の方もデータベースの値を /blog0/ に編集すれば、/blog0/wp-admin/ にログインできるし、用が済んだら削除もできる

以上で無事WordPress2.7.1にお引っ越しできました!
やっぱし新しいモノは良いですね♪

心配だったPHPのCGI動作モードも、特に重い様子もなく快適。
むしろ早く感じたくらい(?)

ちなみにこっちが旧WP ME2.2.1

20090226wpme221

で、WordPress 2.7.1

WordPress 2.7.1

まだ詳しく触ってないけど、色々と革命的な進化を遂げているっぽい。
画像は今流行のFLASHベースで複数枚まとめてポイッとアップロードだし、
ビジュアルエディタのタグ形成もかなり良くなったっぽい。(以前はショボかった)
だけど見栄えにこだわりすぎて?ちょっと重い気が。。。

ま、これから色々弄ってみて、また何か感動があればご報告しますです。

こちらのエントリーもどうぞ♪

Safari 4 beta を公開

Safari

アップルから Safari 4 beta が公開されたので、早速 Windows XP マシンへインストールしてみました。
それまでは Safari 3.2 for PC を使ってましたが、もうバージョン繰り上げなんですね。ごくろさまです。

さて、インストールを終え起動してみると、「これまたUI がガラッと変わったなぁ。。。」と言う印象。
しばし操作に悩んだりしたものの、ブラウザのツールバースペースを極力減らし、少しでもウェブ表示スペースを確保しようと言う狙いは称賛に値しますね。
このタブの攻め方はなかなかのアイデアですなぁ。

・・・と思って見てたら、あり?
フォントがクリアタイプじゃなくなってるっ!?

Safari 3.2 までは、いかにも Macマシンの如く、Winでも綺麗で滑らかなフォントが楽しめたんですが、バージョン4 では廃止になったのかしらん??

で、ブラウザの設定を覗いてみることに。
(Safari 4 beta の設定画面は、ブラウザ右上の歯車アイコンの「Preferences」から)

Windows Standard

なんと。
Appearance タブの Font smoothing 欄に「Windows Standard」なるものが出現。
そして Safari 4 beta では、デフォルトでコレが選択されていると言う訳。
ほほう。
せっかくのクリアタイプフォント機能も、Windowsユーザーには不評だったと言うことか(汗)

が、あくまでも僕は Safari のクリアフォントファンなので、この設定を変更。

Best for CRT

おぉ。クリアフォントだ♪
にじんで見づらいと言う方もいらっしゃいますけど、僕はなんか好きなんだなぁ~。
柔らかくて目にも優しい感じです。

ちなみに僕はまだ家中 Windows XP ですが、Vista ではもう OS 自体でクリアフォントでしたっけ? 記憶違いかな?

ところで、今回の Safari 4 beta の特筆すべき特徴(独断)も紹介。

  1. ウェブ標準プロジェクトの Acid 2Acid 3 の両方のテストに合格
  2. JavaScriptの処理速度が Firefox 3.0 の1/4、IE 7 の 1/40 (爆)

Acid をクリアしてるあたりさすが今時のブラウザだと言えますが、JavaScript等の処理スピードもかなりご自慢のようです。
ま、IEとは比べること自体間違いですが(爆)、Firefox や Google Chrome よりも早いと言うのは、とても素晴らしいですね。
ちなみにアップルサイトの方で各社ブラウザのパフォーマンス比較が掲載されていますが、一部 Firefox の処理時間に掲載ミス?があるようです。
SunSpider JavaScript タブの Windows 選択時の Firefox 3.1 beta 2 の値)
Safari 対 Firefox について、グラフを信頼するなら僅かの差ですが、値を見ると3倍近い開きがあります(苦笑)
ま、どっちにしても Safari が早いんですがね。

こちらのエントリーもどうぞ♪

IP Lookup

昨年リニューアルした新掲示板「BBSちゃんぷる」ですが、最近スパム投稿が目立ってきたので、スパム判定分の投稿リクエストは拒否するように変更しました。
例のいじわるな晒しモン遊びも面白かったんだけど。。。汗
その代わりスパム判定分については、今後のためIPやホストをスパムデータとして蓄積すべく、中でこっそり記録するようにしました。

そこで、IPやホストだけじゃなく、ロケーションも取れたら管理しやすいのになぁ、と思って調べていたら、便利なAPI を見つけました。

IP Address Lookup - www.hostip.info

アメリカのサービスですが、フォームによるIP解析以外に、API 版 も提供されています。
精度は完全ではありませんが、実際に試してみたところ特に不満は無し。
なによりフリーなので文句のつけようがありません(汗)

今回はこのAPI を使って、スパムの発信源をおよそ検討つけることにしました。
で、ここ最近網にかかったスパムデータはこんな感じ。

最近のスパムリスト例

DATE FROM IP HOST
2009/02/23 15:47:00 IT 212.123.**.** static-212-123-**-**.clienti.tiscali.it
2009/02/23 09:15:05 CN 218.206.**.**
2009/02/22 15:04:20 XX 79.99.**.** srv**.swis.nl
2009/02/22 00:23:31 XX 88.216.**.** eth-54-84.marsatas.lt
2009/02/21 13:54:43 JP 220.15.**.** softbank220015****.bbtec.net
2009/02/21 11:05:55 XX 116.11.**.**

一部伏せ字で自主規制(笑)

FROMの列が今回 hostip.info のAPI から取得した地域名です。
ちなみに判定できなかった場合はXXが返ってきます。

hostip では用途によってAPI もいくつか用意されていますし、API からのレスポンスにもいくつかの返り値があるので、好みのAPI・値を利用するといいでしょう。

API の利用例 (IP to XML の場合)

リクエストURL : http://api.hostip.info/?ip=12.215.42.19
レスポンスXML :
<?xml version="1.0" encoding="ISO-8859-1" ?>
<HostipLookupResultSet
 version="1.0.0"
 xmlns="http://www.hostip.info/api"
 xmlns:gml="http://www.opengis.net/gml"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.hostip.info/api/hostip-1.0.0.xsd">
 <gml:description>This is the Hostip Lookup Service</gml:description>
 <gml:name>hostip</gml:name>
 <gml:boundedBy>
  <gml:Null>inapplicable</gml:Null>
 </gml:boundedBy>
 <gml:featureMember>  <Hostip>
   <gml:name>Sugar Grove, IL</gml:name>
   <countryName>UNITED STATES</countryName>
   <countryAbbrev>US</countryAbbrev>
   <!-- Co-ordinates are available as lng,lat -->
   <ipLocation>
    <gml:PointProperty>
     <gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326">
      <gml:coordinates>-88.4588,41.7696</gml:coordinates>
     </gml:Point>
    </gml:PointProperty>
   </ipLocation>
  </Hostip>
 </gml:featureMember>
</HostipLookupResultSet>

www.hostip.info/use.html より

僕はシンプルな <countryAbbrev> 要素の値を使いました。
その他、 <countryName>UNITED STATES</countryName><gml:name>Sugar Grove, IL</gml:name> も使い道がありそうですね。

ちなみに取得方法は、掲示板から直接ソケットで通信し、返ったXMLをパースしてます。
パースと言っても欲しいとこだけ正規表現で抜いてるだけですけどね(汗)
たとえば、

(join("",@socket)) =~ /<countryAbbrev>(.*?)</countryAbbrev>/;
my $from = $1;

みたいな。

こちらのエントリーもどうぞ♪