VMwareの最近のブログ記事

MOVABLE TYPE Ver4.2.2jp から WordPress 3.0へのデータ移行その3です。
最終回は移行データのリンク変換や画像データの移行になります。

今回のタスクを整理します。
 1、MOVABLE TYPEで格納されている画像データを含むBlogディレクトリの移行
 2、移行データのリンク変換、オーナー・パーミッション変更
 3、WordPressでxmlファイルをexport、ファイルのリンク修正
 4、WordPressでxmlファイルのimport
 5、最終確認

1.Blogディレクトリの移行
前回確認したサイトURL、サイトパスを確認します。
 サイトURL:http://blog.volv.jp/memo/
 サイトパス:/virtual/volv/public_html/blog.volv.jp/memo/
となっていました。
今回の移行はBlogの全データ移行なので、memoディレクトリ全てを移行します。

XREAのサーバへログインし、/virtual/volv/public_html/blog.volv.jp/memo/
ディレクトリをtarコマンドで纏めます。
 > cd /virtual/volv/public_html/blog.volv.jp
 > ll -d memo
 drwx---r-x  26 xxxx hpusers 3000 2010-07-07 14:06 memo
 > tar cf memo.tar ./memo
 > ll memo.tar
 -rw-r--r--   1 xxxx hpusers 67112960 2010-07-09 11:26 memo.tar

tarで纏まりましたので、VM上のWordPress環境へFTPやSCPで転送します。
転送先ディレクトリは /var/www/wordpress になりますので、転送したファイルを展開します。
 # pwd
 /var/www/wordpress
 # ll memo.tar
 -rw-r--r-- 1 root root 67112960  7月  9 11:26 memo.tar
 # tar xf memo.tar
 # ll -d memo
 drwx---r-x 26 11436 20000 4096  7月  7 14:06 memo
これでBlogディレクトリの移行は完了です。

2.リンク変換、オーナー・パーミッション変更
WordPress上に移行してきたmemoディレクトリ配下にあるhtml、xmlファイルに対してリンク変換を実施します。
手作業変換だと手間なので、以下のようにsedコマンドをシェル化します。
【linkconv_html.sh】
#!/bin/sh
cd "$1"
find . -follow -type f -name "*.html" | while read html; do
cp $html $html.bak
sed -e "s/blog.volv.jp/192.168.117.130\/\wordpress/g" $html.bak > $html
done

【linkconv_xml.sh】
#!/bin/sh
cd "$1"
find . -follow -type f -name "*.xml" | while read xml; do
cp $xml $xml.bak
sed -e "s/blog.volv.jp/192.168.117.130\/\wordpress/g" $xml.bak > $xml
done

シェルを実行します。
 # cd /var/www/wordpress
 # sh ./linkconv_html.sh
 # sh ./linkconv_xml.sh
 # cat memo/index.html       ←念のためcatコマンド等で確認します。
 # cat memo/atom.xml
次にオーナー・パーミッションを変更します。
 # chown -R apache:apache memo
 # chmod -R 705 memo
 # ll -d memo
drwx---r-x 26 apache apache 4096  7月  9 12:05 memo
 
3.WordPressのデータExport、修正
あと一息です
VM上のWordPressでBlogデータのexportを行います。
WordPressの管理画面から【ツール】→【エクスポート】を選択します。
wp_install17.jpg
全項目で「すべての~」を選択して【エクスポートファイルをダウンロード】をクリックします。

次にexportしたxmlファイルをメモ帳や秀丸エディタ等で開き以下のように全置換します。
wp_install26.jpg
次にWordPress上にアップロードされている全「投稿」「カテゴリ」「タグ」を削除します。
【ダッシュボード】→【投稿】・【カテゴリ】【タグ】の各リンクをクリックして削除してください。
wp_install23.jpg
最終的にこの状態にします。(カテゴリに1エントリ残るのは初期項目なので無視してください。)
wp_install25.jpg
4.WordPressのデータimport
最後の作業です。
WordPressからexport、修正してきたxmlファイルを再度importします。
【ツール】→【インポート】をクリック、【WordPress】を選択し
【ファイルを選択】からxmlファイルを指定します。
wp_install27.jpg
【ファイルをアップロードしてインポート】をクリックします。

wp_install28.jpg
無事importが完了しましたら最終確認に進みます。

5.最終確認
では、最後の〆として確認をしてみます。
確認方法は前回と同じくBlogのベース部分とリンク・画像リンクの確認です。
wp_install31.jpg
まずはうまくいっています。
wp_install29.jpg
左下のリンク部分を確認してください。
WordPressのサーバアドレスを参照しに行っているのがわかります。
wp_install30.jpg
画像へのリンクも問題なし。移行が完了しました。


最後に。
今回の移行検証では、WordPressの環境構築はもちろんですが、VM環境の構築からCentOS5.5のインストール、LinuxのMWインストールやちょっとしたツールのインストール、各種設定までとかなり幅広
く行いました。
最近は実機を触った作業から遠ざかっていたので、参考になる事も多くかなり勉強になりますね。

1から環境を作って何かを動かしたり調べたりするというのは
本当に重要だなぁと、再認識しました。

MOVABLE TYPE Ver4.2.2jp から WordPress 3.0へのデータ移行その2です。
今回はBlogのベースになる部分のデータ移行をメインとしています。

まず、今回のタスクを整理します。
 1、MOVABLE TYPE上のBlogデータのexport
 2、(1.)で実施のexportデータを検証環境で構築したVM上のWordPressへimport
 3、WordPressの状態確認(Blogのベース部分やリンクの状態確認)

では、早速作業に入ります。
1.MOVABLE TYPEデータのexport
始めに現在運用されているMOVABLE TYPEの状態を確認します。
タブ選択から【設定】→【公開】を指定します。
wp_install03.jpg

サイトURL、サイトパスが移行の際に重要になるのでこちらを確認します。

次に念のためBlogデータのバックアップを取得します。
タブ選択から【ツール】→【バックアップ】を指定します。
wp_install04.jpg
zip圧縮で分割せずにバックアップを実施します。
wp_install05.jpg
PC上にバックアップデータ(zip形式)が保存されます。

次に本題のexportを実施します。
タブ選択から【ツール】→【エクスポート】を指定します。
wp_install06.jpg

PC上にexportデータ(txt形式)が保存されます。
これでexport作業は完了です。


2.WordPressからMOVABLE TYPEのexportデータのimport
http://192.168.117.130/wordpress へアクセスし、
WordPressの管理画面からadmin権限でログインします。
wp_install07.jpg
メイン画面であるダッシュボードから【ツール】→【インポート】を選択します。
wp_install08.jpg
【Movable TypeとTypepad】を選択し、インポートツールをインストールします。
wp_install09.jpg
【今すぐインストール】を選択し、インストールを開始します。
wp_install10.jpg
【プラグインを有効化してインポートツールを実行】を選択し、インポートツールを起動します。
wp_install11.jpg
【ファイルを選択】をクリックし、MOVABLE TYPEからexportしたtxtファイルを選択して
【ファイルをアップロードしてインポート】をクリック。importを実施します。
wp_install12.jpg
MOVABLE TYPEのユーザ情報をimportしようとするので、
そのまま引き継ぐようにデフォルト状態で【submit】をクリックします。
wp_install13.jpgall doneで問題なくimportが完了しました。


3.WordPressの確認
さっそくWordPressの状態を確認する為、
http://192.168.117.130/wordpress へアクセスしてみます。
wp_install14.jpg
Blogのベース部分はうまくimport出来ています。

ですが、内部リンク(画像や他記事)が元BlogのURLを参照しています。
画像左下のリンクを確認すると、
wp_install15.jpg
wp_install16.jpg
これでは現在運用しているBlogサイトを閉鎖してしまうとリンク切れになってしまいます。。


今回は、export→import→確認までの基本的なデータ移行を記事にしてみましたが、とくに技術的な問題もなく作業が出来ると思います。
私も最初はこの段階で作業は終了と思っていたのですが、次回記事にする予定のリンク変換や画像データの移行が出来ないと移行の意味がほとんどありません。

次回最終回は。リンク変換や画像データの移行がメインになります。


今回から3回にわたって、社内Blogを掲載している現在稼働中のMOVABLE TYPE Ver4.2jp環境からVPSサーバ(CentOS5) & WordPress3.0jaへのデータ移行の検証を報告します。

移行に当たっての大まかな流れとしては、
1、VMWare上でWordPressの検証環境の構築
2、稼働中のMOVABLE TYPE上のblogデータをexport、画像等のデータ転送
3、検証環境上で稼働させたWordPressで(2、)で実施したexportデータのimport、パーミッション調整
4、パーマリンク等の修正作業
5、確認
としています。


さて、まずは今回使用した検証環境を以下に紹介します。


【使用PC】
IBM Thinkpad x60
CPUCore2 : 1.6GHz
Memory : 2GB
HDD : 200GB
OS : Windows 7 Ultimate

【移行元環境】
XREA : Linux2.6(Free Web Hosting環境)
Apache : 2.2
PHP : 5
MySQL: 5.1.20-beta
MOVABLE TYPE : 4.2.2jp

【移行先環境】
VMWare : 7.0.1
ゲストOS : CentOS5.5(サーバパッケージをインストール)
仮想CPU : 2CPU
仮想メモリ容量 : 1024MB
仮想HDD容量 : 32GB
IPアドレス : 192.168.117.130(仮 社内イントラネットIPアドレス)
ホスト名 : localhost


※ VM環境作成やLinuxインストールの手順は他記事で詳細が出ているのでそちらを参照ください。

【移行先MW環境】
httpd.i386 : 2.2.3-43.el5.centos
httpd-manual.i386 : 2.2.3-43.el5.centos
ant-apache-bcel.i386 : 1.6.5-2jpp.2
ant-apache-bsf.i386 : 1.6.5-2jpp.2
ant-apache-log4j.i386 : 1.6.5-2jpp.2
ant-apache-oro.i386 : 1.6.5-2jpp.2
ant-apache-regexp.i386 : 1.6.5-2jpp.2
ant-apache-resolver.i386 : 1.6.5-2jpp.2
php.i386 : 5.1.6-27.el5
php-cli.i386 : 5.1.6-27.el5
php-common.i386 : 5.1.6-27.el5
php-ldap.i386 : 5.1.6-27.el5
php-mysql.i386 : 5.1.6-27.el5
php-pdo.i386 : 5.1.6-27.el5
mysql.i386 : 5.0.77-4.el5_5.3
mysql-server.i386 : 5.0.77-4.el5_5.3

※ 上記MWのインストールは全てyumで実施しています。

Wordpress : 3.0ja


1.Webサーバの準備(apache)
 apacheの環境設定を実施するのでhttpd.confを3項目修正

 # cp -p /etc/httpd/conf/httpd.conf httpd.conf_org
 # vi /etc/httpd/conf/httpd.conf

 まずはDocumentRootを変更します。
  変更前: DocumentRoot "/var/www/html"
  変更後: DocumentRoot "/var/www"

 次にCGI関連の設定を変更します。
  変更前:
  Options Indexes FollowSymLinks

  変更後:
  #Options Indexes FollowSymLinks
  Options Includes ExecCGI FollowSymLinks

 最後にアクセス関連の設定を変更します。
  変更前:
  AllowOverride None
  変更後:
  #AllowOverride None
  AllowOverride All

 変更が終了したらapacheを再起動します。
  # /etc/rc.d/init.d/httpd reload


2.DBの準備(mysql)
 mysqlのDB作成やユーザ作成はターミナルから手作業で実施。
 環境によってはphpmyadminで作成しても良いと思います。
 今回の検証では、

 DB名: TESTvolv
 ユーザ名: TESTuser
 パスワード: TESTuser

 として作成しました。

 始めにmysqlの起動、自動起動設定を行います。

  # ps -ef | grep mysql     ←mysqlが起動していない事を確認します。

  # /etc/rc.d/init.d/mysqld start

  MySQL を起動中:                                            [  OK  ]

  # chkconfig mysqld on

  # chkconfig --list mysqld

  mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

 mysqlにログインし、DB領域を作成します。
  # mysql -u root -p
  Enter password:     ←パスワードを入力(mysqlインストール直後はnonpassです)
  mysql> CREATE DATABASE TESTvolv;
  mysql> SHOW DATABASES;
  +--------------------+
  | Database |
  +--------------------+
  | information_schema |
  | TESTvolv |        ←TESTvolvのDBが作成されている。
  | mysql |
  | test |
  +--------------------+

 次にユーザを作成します。
  mysql>
GRANT ALL ON TESTvolv.* TO TESTuser@localhost IDENTIFIED BY 'TESTuser';

  mysql> SELECT user FROM mysql.user;
  +----------+
  | user |
  +----------+
  | root |
  | |
  | TESTuser |        ←TESTuserが作成されている。
  | root |
  | |
  | root |
  +----------+
  mysql> SHOW GRANTS FOR TESTuser@localhost;
  +----------------------------------------------------------------------------------------+
  | Grants for TESTuser@localhost |
  +----------------------------------------------------------------------------------------+
  | GRANT USAGE ON *.* TO 'TESTuser'@'localhost' IDENTIFIED BY PASSWORD    '3e7947093688c8f0' |
  | GRANT ALL PRIVILEGES ON `TESTvolv`.* TO 'TESTuser'@'localhost' |
  +----------------------------------------------------------------------------------------+
  ↑TESTuserにTESTvolvへの権限が付与されている。


3.WordPressのインストール

 WordPress日本語サイトよりモジュールをダウンロードします。

 FTPもしくはSCPでサーバ上へモジュールをアップロードします。

  アップロード先ディレクトリは apacheのDocumentRootで指定した /var/www です。

 アップロードしたファイルの展開、アクセス権の設定を行います。

  # cd /var/www

  # unzip wordpress-3.0-ja.zip    (今回はzipモジュールをダウンロードしています)

  # ll

  drwxr-xr-x 5 root    root        4096  6月 22 23:49 wordpress

  # chown -R apache:apache wordpress

  # ll

  drwxr-xr-x 5 apache  apache      4096  6月 22 23:49 wordpress

 WordPressの環境設定ファイルの編集を行います。

  サンプルファイルをconfigファイルとしてコピーします。

  # cp -p /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php

 DB接続の設定3箇所を変更します。

  # vi /var/www/wordpress/wp-config.php

 まずはデータベース名を変更します。

  変更前:

  define('DB_NAME', 'database_name_here');

  変更後:

  define('DB_NAME', 'TESTvolv');

 次にデータベース接続パスワードを変更します。

  変更前: 

  define('DB_USER', 'username_here');

  変更後:

  define('DB_USER', 'TESTuser');

 最後にデータベース接続パスワードを変更します。

  変更前:

  define('DB_PASSWORD', 'password_here');

  変更後:

  define('DB_PASSWORD', 'TESTuser');

 変更が終了したらブラウザでインストーラにアクセスします。

wp_install001.jpg
 必要項目を入力して「WordPressをインストール」をクリックし、インストールは終了です。

wp_install002.jpg
インストールまでの感想を少し。
WordPress自体のインストールはLinuxやUnixを少し触れた機会があるくらいのレベルで問題無いと思うのですが、Apacheの設定やDB設定までWordPress環境を一通り作るとなると、ある程度の知識が必要になってくると思います。
個人利用でBlogサイトを構築する事はあまりないと思うのですが、興味のある方はチャレンジしてみてはいかがでしょうか。

次回はデータ移行部分がメインになります。


最近、仕事でVCBという物に触れる機会がありました。
中々面白い機能だったのでVCBについて書いていこうと思います。


VCBとはVMware社が提供しているVMware Consolidated Backupという
ESXServer環境での仮想マシンのバックアップソリューションです。
VCB自体にはバックアップ機能は無く、VCBに対応したバックアップソフトウェアと
組み合わせてて使用することで仮想マシンのバックアップを実行出来ます。

 


ここまで、vSphere ESX4.0 on Mware Workstation環境上で

VMware FTの為にクラスタやVMware HAを設定しました。

 

がしかし、いざVMware FT!! と設定をやろうとしたところ、

「VMware FTをおこなう為の条件が揃っていません(英文)」といった内容のエラーが検出される...

 

いろいろVMware FTに必要な要件を調べてみても、

共有ディスク、VMotion、ネットワーク、ライセンスなどの条件はクリアされてる...  


カスタム検索