Amazon EC2/S3を使ってみる(3)
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のデータ移行はスムーズに行くことが判明したのでよかったよかった。