| 取扱説明書 | 吉見直人(管理人) | お便り | Nucleus CMS Japan |

2007年08月10日

XREA PlusにNucleusを移転させた手順

[ 投稿者 : fratdrive ブログ : [ f ]雑記系 カテゴリー : Nucleus ]

shuzaiya.comからここfratdrive.netへの移転が無事に完了しつつあるので、今回の作業手順を以下に。

移転を決めた理由は、サーバーリソースの食いすぎ対策。2001年からスペンサーネットワークの共有サーバーを使い、frat.jp(とfratship.com)に加えマルチドメインでshuzaiya.com(Nucleusのブログサイト)を運用していましたが、Nucleusのコメントとトラックバックを狙ったスパムに加え、frat.jpの掲示板に─その多くはすでに投稿不可なのにもかかわらず─たくさんのPOSTリクエストが来ていて、サーバーへの負荷が高かった模様。

なのでドメインごとにサーバーを分け、分散運用することでサーバーへの負荷を軽減できると考えました。また、スパムなアクセスの追跡から逃れるためにドメインも変えることに。

まずは移行先の検討。複数サーバ運用によるコスト↑を防ぐため、当然ながら格安レンタルサーバーへ。XREAはバリュードメインも使っているし、いくつかのドメインでサーバーの運用もすでにしていたので最有力候補でしたが、いちおう他の候補も検討。といってもロリポップさくらインターネットだけですが。ぐぐってみると、ロリポップは初心者には良いかもしれないけれどもあまり評判が良くないということでさっさと候補落ち。XREA Plusとさくらの一騎打ちになりましたが、接続制限数に若干の不安があるもののやっぱXREA という結論。少なくとも、XREAから乗り換える理由が見つからなかったので。

サーバー移転手順については、Nucleus(JP)フォーラム内のこちらこちらの記事を、XREAへの設置方法については、「Nucleusをインストールする [XREA] - Nucleusだとか」を参考にさせていただきました。

では移転作業に。あらかじめドメインを取得、サーバー利用方法のマニュアルを見ながらfratdrive.netサーバーを開設。データベース(MySQL)を有効にして、phpMyAdminを設置。すぐにlogディレクトリに phpmyadminフォルダができました。

※htaccessによるBASIC認証にはXREAパスワードの最初の4桁を。phpMyAdminのログインには設定したデータベースのパスワードを使います。

次に、shuzaiya.comのスキンを書き換えました。Google AdSense、アフィリエイト、Amazon.co.jpアソシエイト、Google Analytics、track feedなどのコードをいったん外したほうが良いと思ったからですが、結果的にはこの作業は必要なかったようです(事前によく調べましょう)。

shuzaiya.comのphpMyAdminをつかってデータベースのエクスポートをします。このエクスポート&インポートの作業がいちばんの曲者です。ぼくはよくわからないままにやったのでところどころひっかかりました。

パターン1:phpMyAdminにログイン、データベースを選択する前に「エクスポート」をクリック、次の画面でデータベースを選択し、「ファイルで保存する」にチェックを入れて実行ボタンを押すと、圧縮なしの場合、localhost.sqlというようなファイル名になります。

パターン2:phpMyAdminにログイン後にまずデータベースを選択、次の画面で「エクスポート」をクリック、全テーブルを選択してエクスポートすると、データベース名.sqlというようなファイル名になります。中味はlocalhost.sqlとほぼ同じです。ぼくはどちらかというとこちらのsqlファイルを使うことをおすすめします。

localhost.sqlは、頭に、
CREATE DATABASE `データベース名`;
USE データベース名;
というのが入るのですが、XREAの管理画面でデータベースを先に作ってからその中味(テーブル)を移植するには、この命令が邪魔をしてエラーになります。
ただ、localhost.sqlでもこの2行を削除すれば問題ないと思います。

なお、ファイルサイズが小さいSQLファイルが保存される場合もあるので、エクスポートは何度かやってファイルサイズや中味を確認したほうがいいでしょう。また、中味を確認するためにも圧縮なしでエクスポートしたほうが良いと思います。

また、エクスポートの前にオーバーヘッドを改善しておくといいかもしれません(⇒こちらなど参照)。

SQLデータのDLが終わったら(順番はどっちが先でもかまいませんが)、shuzaiya.comにFTPでアクセスして、サーバーのデータ全体をまるごとダウンロードします。shuzaiya.comはmediaディレクトリがかなり大きいので、けっこう時間がかかりました。(なぜか途中でひっかかってしまって困りました)

ダウンロードしたファイルの一部に修正を加えます。config.phpとか、ぼくが使っているfancy URL系のphpファイルも、URLの部分を書き換えます。
なお、XREAサーバーの絶対パス(フルパス)ですが、例えばpublic_htmlの直下にあるindex.htmlは、
/virtual/userID/public_html/index.html
となります。userIDの部分はご自分の設定に書き換えてください。

それが終わったら、いよいよXREAサーバーへの移植です。

まずSQLデータのインポート。fratdrive.netのphpMyAdminにログイン、データベースを選択して、右の「インポート」から「テキストファイルの場所」でSQLファイルを指定して「実行する」をクリック。これでインポートは成功するはず。エラーになったら、SQLデータの頭に余計な命令文がないかどうかチェックしてください(前述)。

※インポートがうまくいったら、旧サーバーのphpMyAdminとの間で、テーブル数と、各テーブルのレコード数およびサイズを確認しておくといいと思います。

次にfratdrive.netサーバーにFTPでNucleusのファイル群を全部アップします。
ぼくはこのとき、index.phpだけはアップせず、かわりにダミーのindex.htmlをアップしました。

パーミッションを確認、必要に応じて変更します。『Nucleusでつくる!最強のブログサイト』を参考に以下。

config.php 444(新規インストールでは666ですが)
mediaディレクトリ以下のディレクトリ 777
skinsディレクトリ以下のディレクトリ 777
skinsディレクトリ内の全ファイル 666
plugins/blacklist以下のディレクトリ cacheとsetting 777
plugins/blacklist以下の全ファイル 666
それ以外のディレクトリ 755
それ以外のファイル 644

Nucleusをインストールする [XREA] - Nucleusだとか」を参考に、Nucleusを設置するディレクトリにおいた.htaccessに以下の設定を(EUC-JP版の場合)。
php_flag register_globals Off
php_value default_charset EUC-JP
php_value mbstring.language Japanese
php_value mbstring.internal_encoding EUC-JP
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output pass
そして、nucleusディレクトリの .htaccess には、以下のようにセーフモード対策の記述を。
<Files media.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
そのあとでindex.phpをアップ、ダミーのindex.htmを削除。index.phpのパーミッションは644。

これでトップページが表示されるようになったはず。

次いで、fratdrive.netのNucleus管理画面にログイン。各ブログ設定、グローバル設定、プラグイン設定などでURLを変更。

サイトの動作確認。ぼくはここで、かつて苦労して入れたサムネイル生成プラグインのNP_PopupImageNetPBMがうまく動いていないことに気づきました。サムネイルができないのです。

pluginsディレクトリにNP_PopupImageNetPBM.phpをcgiとして動作させる記述(上記セーフモード対策のと同様)を書いた.htaccessを入れても駄目。

パーミッションを変えても駄目。

どうやらプラグインの問題というよりnetpbmが動作していない模様。

これまではSourceForge.netの、netpbm1.1-gallery1.0-linux2.2-redhat6.2-intel.tgz でうまくいっていたのですが。

netpbm_gallery-1.4-pl2-linux-intel.zip⇒だめ
netpbm_gallery-1.4-pl2-linux-alpha.zip⇒だめ

your system is running "Linux," you can generally assume you want the linux-intel binaries, not linux-alpha
Installing an Image Processing Library - Gallery Codex
…ということだから、linux-alphaじゃなくてlinux-intelだと思うんだけど。。。

NP_PopupImageNetPBMをあきらめました。サーバーが違うからだろうという以上のことはぼくにはわかりません。Netpbm home pageとかを拙い英語力で読む限りでは、Source Packageからサーバーに適したパッケージを作れればいいみたいですがそんなこと無理。

PopupImageは、Image Magick版が最初で、次にその改良版であるPopupImageNetPBM(ぼくがこれまで使っていたもの)が生まれ、さらにそれを受け継いでPopupImageGD2、ということなので、shuzaiya.comではcgiだったせいか使えなかったGD2版を導入してみる(XREAはGDはphpで使えることも確認)。

NP_PopupImageNetPBM.phpを削除して、NP_PopupImageGD2.phpをインストール、オプションで
Apply popup behaviour also to 〜
を「はい」にしたら動いた。brタグが1つ多い以外はNP_PopupImageNetPBMと同じ動作だ。"Image"でサムネイルなしの仕様もなぜか使える。これで解決。

「Google ウェブマスター ツール」にfratdrive.netを追加、サイトマップを追加(サイトマップはプラグインNP_GoogleSitemapを使用)。

スキンからいったん消した、Google AdSense、アフィリエイト、Amazon.co.jpアソシエイト、Google Analytics、track feedなどのコードを戻します。
…前述の通りこの作業は不要だったようです。Google AdSenseは、
新しいサイトに AdSense コードを導入する場合、、新たにアカウントを開設したり Google に連絡する必要はありません。
といっているし、A8アフィリエイトも
広告素材の貼り直しなどは必要ありません。
だし、Amazon.co.jpアソシエイトは
同じアカウントに複数のWebサイトを登録してください。アクセスおよびセールスはすべて単一のアカウントからきたものとみなされます。
だし、Google AnalyticsについてはUA-1186684-*(*は数字)の数字部分だけ異なるコードを貼り付ければよかった。track feedはshuzaiya.comのアカウントを削除して再登録。それからGmapのAPIキーも取得しなおしました。

自分のやってる他サイトからのリンクをshuzaiya.comからfratdrive.netに変更。

ドメインの変更に加え、その前にやったブログ整理にともない無効化したリンクがアイテムやコメントにたくさんあるので、データベースを直接書き換えることに。
phpMyAdminでSQLファイルをエクスポート、アイテムやコメント部分のURLをひととおり書き換えてインポート。…エラー。
あれれ。いったんテーブルを削除して再インポート。エラー。
で、頭にあった
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
これを削除したら成功。これは前のサーバーからエクスポートしたSQLにはなかったから、XREAのphpMyAdminのエクスポート設定の問題なのかな。

※「アイテムへのリンクを挿入するプラグイン NP_znItemLink」を試してみましたが、別ブログへのリンク指定がうまくいかない(例:diary→aboutへのリンクがdiary→diaryになってしまう)ので断念。このへんがスマートにできるといいよなあ。

XREAサーバーでの動作確認が終わったら、旧サーバーのデータを削除します。FTPでshuzaiya.comのデータを削除。phpMyAdminでSQLデータも削除しておきましょう。

、旧サーバーには移転を記したindex.htmとcssファイル、それに404.htmと.htaccessをアップ。
※このあたりのことはこちらなどを参照してください。

指定した秒数後に指定したURLに自動でジャンプする"refresh"は使わず、移転先へのアクセス方法を記した記述にしました。

(最後に)
XREAでサーバーリソースは果たして大丈夫かという不安はあります。ちょうどCORESERVER.JP(コアサーバー)というサーバーが始まったことだし、そちらへ移転をするかもしれません。にしても、
私は最近(というかかなり以前から)ブログソフトウェアを個人的に運用するコストが高まり続けていて、いずれアマチュアユーザの手に負えなくなるだろうと思っています。
Movable Type 4ベータテスト - Ogawa::Memoranda
だとか、
このままいくとサーバインスール型のブログウェアってなくなっちゃうのかもしれません。
Nucleusと負荷管理 - NP_cles()
だとか。。

いつまでもつだろうか。。。

⇒この記事をふくむカテゴリー [ Nucleus ] もどうぞ。
at 18:40:32 | この記事のURL |


トラックバック

このアイテムのトラックバックURL:
http://fratdrive.net/about/item_956.trackback

このエントリにトラックバックはありません
もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。

コメント

コメントはありません

コメント記入



プレビュー

ブログ内新着記事

コメントの設定を変更しました - [ f ]雑記系
画像ポップアップウィンドウ変更 - [ f ]雑記系
レンタルサーバー移転(さくらスタンダード→CORESERVER「CORE-B」) - [ f ]雑記系
ふらっとどらいぶネットにメール購読機能をつけました。 - [ f ]雑記系
NP_CustomURL導入記録 - [ f ]雑記系