ブログを引っ越す。

この間うち(先々週くらい?),Toypark.inのサーバがよく落ちていたので,日本語ブログも,自鯖に引っ越しちゃおうかなと考えた。

よし,海の日あたりの連休でやっつけようと思っていたのだが,結局今日までかかってしまった。参ったね。で下記の手順で引っ越したわけだけど,11.あたりにからすごーくてこずった。最終的に,14.での結末になったわけだけど,どうもRewriteがうまくいっていないように思う……

  1. 使用しているプラグインをすべて停止する。
  2. 何かバグがあるかもしれないので,テーマを「o6asan」から,3.0デフォルトの「twentyten」に変更。
  3. サイトからログアウトし,phpMyAdminでデータベースにアクセス。
    wp_statpressとwp_similar_posts以外のテーブルをエクスポート。1M弱だった。
  4. エクスポートした****.sqlをテキストエディタで開き,o6asan.toypark.inをo6asan.com/BLOG-Jに変更。toypark.inで使っていたデータベース名を,新サイトで使用するものに変更。
    テーブル接頭辞をデフォルトのwp_から使用予定の**_に変更。

    wp_usersのuser_loginをデフォルトのadminから******に変更して,****.sqlを閉じる。

  5. 自鯖のphpMyAdminでMySqlにアクセスし,WordPressで使用するデータベースを作成。
  6. wordpress-3.0-ja.zipを解凍して,できたファイルをすべて自鯖の予定の場所にアップロード。
  7. 自鯖のWordPressのホームディレクトリにアクセス。ウィザードに従ってwp-config.phpを作成。インストールを続けるが,「ようこそ」ページのパスワードは旧サイトのままで行うこと。ここを変えると旧データベースからエクスポートしたファイルが使用できない。
  8. インストールが完了したらひとまず,ログインしてみる。
  9. twentytenがバージョンアップされているというメッセージが出ていたので,WordPress上で自動更新。ログアウト。
  10. wp-config.phpを開いて,内容を確認。
  11. 管理画面の一般設定で,カスタマイズ。パーマリンク設定を/%category%/%postname%/に変更する。自鯖のrewrite設定を変える必要があった。ひとまず,ログアウト。
  12. 自鯖のphpMyAdminでデータベースにアクセスし,データをインポート。インポートの前にすべてのテーブルを空にすること。ログアウト。
  13. 自鯖のWordPressにログイン。
  14. パーマリンク設定の/%category%/%postname%/がどうしてもうまく働かないようなので,あきらめてデフォルトで運営することにした。自鯖のrewrite設定を元に戻した。
  15. あと,いろいろプラグインとかナンチャラを元に戻した。

でもって,近頃ToyParkのサーバ落ちないんだけど……早まったかな?まっ,いいか。

  • 追記:
    パーマリンク設定の件ですが,今(27日午後9時),大変初歩的なミスに気づきました。
    httpd.confの設定がAllowOverride Noneになっていました。これじゃあ.htaccessが効くわけないです。Allにしたら,当たり前ですが,うまくいきました。全く記憶にないのですが,自鯖なので,.htaccessを使うまいとどこかでNoneに変えたようです。
    WordPressの日本語フォーラムでも迷惑をかけてしまいました。
    show555さん,ありがとうございました。m(_”_)m
  • 追記2:
    引越してから,Baiduspider君の量がものすごいです。WordPressを新規インストールしたので,User-Agentのアクセス拒否を,.htaccessに入れてませんでした。で,思い出して,libwww-perlともども拒否することにしました。以下の通り。  (※)以下のをコピペして使おうと思うかた,コピペすると”が2バイトに化けますので,打ちなおしてください。

    1. <IfModule mod_setenvif>
    2. SetEnvIfNoCase User-Agent “libwww-perl” ng_ua
    3. SetEnvIfNoCase User-Agent “baidu” ng_ua
    4. Order allow,deny
    5. Allow from all
    6. Deny from env=ng_ua
    7. </IfModule>

アクセス制限。

先日,梅の実(今日の落下分)で書いたように,ブログページへのbotがあまりに激しいので,共通するユーザーエージェントで制限して見ようと思って,.htaccessに以下を追加して見た。

SetEnvIf User-Agent “libwww-perl” ng_ua
Order allow,deny
Allow from all
Deny from env=ng_ua

効果あるだろか。

追記:
先日,Casper_Cell Parijatah sronoをググッたときはあまり情報がなかったんだけど,今日.htaccessを変更してから,libwww-perlで調べたら,かなり前から報告のあるphpライブラリの悪用方法のようですね。「変更前に調べろよ」と,突っ込まれそうですが,サーバ初心者なので……(苦笑)
http://gigazine.net/index.php?/news/comments/20070410_libwww/
http://www.hazama.nu/t2o2/archives/002711.shtml
本当は,マルスクリプト内の用語で弾くべきなんだろうけど,それはもう少し勉強してからにします。今のところ,ユーザーエージェントで’libwww-perl’を名乗ってるのはスパムばかりなので,前記の.htaccessで大丈夫そうです。

パーマリンク設定。

パーマリンク設定を変更し,/%category%/%postname%の構造にしました。

これに伴う作業として,.htaccessを作って,これに改行コードLFで下記の行を記載し,
ルート・ディレクトリにアップしました。パーミッションは604です。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

無事に,URL構造が変わりましたので,ToyParkのサーバでは,Apacheのmod_rewriteが
使えるようです。