Amazon EC2/S3を使ってみる(3)

(2)の続き

MYSQLのインストール

  • yum install mysql-server
  • /etc/my.conf の[mysqld]と[mysql]にdefault-character-set = utf8 追加
  • /etc/rc.d/init.d/mysqld start で起動
  • mysqladmin -u root password 'XXXXXX' でパスワード設定して
  • mysql -u root -p でログインして
  • grant all on *.* to username identified by 'password'; でユーザ作る

PHPのインストール

  • ソース落としてきて、今使ってるベースでconfigure。
  • ./configure --enable-mbstring --enable-mbstr-enc-trans --enable-mbregex --enable-zend-multibyte --with-pgsql --with-apxs2=/usr/local/apache2/bin/apxs --enable-trans-sid --with-curl --with-mysql --with-gd --with-zlib-dir=shared --with-jpeg-dir=shared --with-freetype-dir=shared --enable-gd-native-ttf --enable-gd-jis-conv
  • エラー見ながら足りないパッケージを適宜入れる
  • yum install libxml2-devel
  • yum install curl-devel
  • yum install libjpeg-devel
  • yum install libpng-devel
  • yum install mysql-devel
  • yum install postgresql-devel
  • んで make → make install

Wordpressその1

  • MYSQLへログインしてdatabase作っておく
  • create database DBNAME;
  • 現行nog.jp鯖のDBはwordpressとその他でDB分けているわけですが、逆にオーバーヘッドが大きいため今回は1DBでいくこととする。
  • wordpressはダウンロードしてきて展開
  • wp-config-sample.php 編集して wp-config.php を保存
  • /wp-admin/install.php をブラウザでアクセスしてガイダンスに従ってればインストール完了

phpmyadmin

  • データ移行するのにテーブルとか確認するのはやはりGUIだろ、ということでphpmyadminをインストール
  • http://www.phpmyadmin.net/home_page/downloads.php から落として展開してWebアクセスするのみでインストール完
  • 現行のサーバでは結構苦労した記憶あるんですが、進化しててびっくり。
  • 一応動くけど、mcryptが無くというエラーメッセージが出るので入れる
  • yum install libmcrypt-devel でパッケージ入れる
  • phpのオプションを変えてインストール。
  • ./configure --enable-mbstring --enable-mbstr-enc-trans --enable-mbregex --enable-zend-multibyte --with-pgsql --with-apxs2=/usr/local/apache2/bin/apxs --enable-trans-sid --with-curl --with-mysql --with-gd --with-zlib-dir=shared --with-jpeg-dir=shared --with-freetype-dir=shared --enable-gd-native-ttf --enable-gd-jis-conv --with-mcrypt
  • make;make install

wordpressその2

  • データ移行のテスト
  • テーブル構造自体は基本的に変わっていないようなので、旧サーバからエクスポート→新サーバへデータ挿入することとする
  • phpmyadminで旧サーバ wp_posts をSQLフォーマットでエクスポート
  • DB内はEUC-JPで扱ってたわけですが、エクスポートしたらUTF-8で出てくるのね
  • エディタで適当な件数に絞ってインポートしてみる
  • DBには格納されるけれども、ブラウザで確認すると表示されない…
  • 何が違うのかと見比べるとpost_type列の使い方が違う模様。
  • ということで、 update wp_posts set post_type='post' とかSQLを投入して表示できるようにする
  • あとはwp_commentsも移行すれば一応形にはなる模様
  • テーマとかプラグインとかは適当に切り貼りして移行。特に自作プラグインは怪しいロジック満載なので、今後erogmap/ラノベマップ移行後に再検討とする

ってなところで今回はおしまい。予想外にwordpressのデータ移行はスムーズに行くことが判明したのでよかったよかった。