わたろぐ

仕事、読書、ガジェット、グルメ、写真、旅行など雑多な備忘

WordPressの移行メモ

自宅サーバーにて運営していたブログですが、家庭の事情でネットが切断されることが多かったり、DDNSがうまく動作してくれないことがたまにあったりで、使いたいときに使えないことが多かったので、この度レンタルサーバーを借りて、そちらに移転することにしました。

1.レンタルサーバーの申し込み

レンタルサーバーはSaaSesという所のVPSサービス、Osukiniサーバーを選びました。 2012年4月30日までは初期費用0円キャンペーン中だったので一番安い月450円のLTプランを選びました。 OSはCentOS 64bitを選びました。
SaaSes

2.WordPressのコアファイルを抜き出す

旧サーバーのWordPressのコアファイルはApacheのドキュメントルート下のwordpressディレクトリに配置してました。 このディレクトリごと、新サーバーのApacheドキュメントルート下にごっそりと移植します。 僕はあまり小難しいことはできないのでSFTPを使って、いったん作業しているローカルにフォルダをコピーした後、またSFTPで新サーバーにコピーして、ドキュメントルート下に配置しました。

3.MySQLよりWordPressのデータベースを移植する

このデータベースの移植に昨夜インストールしたphpMyAdminを利用しました。 まず旧サーバーのデータベースをエクスポート。 これでデータベースがエクスポートされ、localhost.sqlというファイルがダウンロードできます。 この.sqlファイルは、テーブルのCreate文や、Insert文などのSQLが書かれています。 このダウンロードされたファイルを新サーバーのphpMyAdminでインポートします。 ここで問題が発生。php.iniがデフォルトなので、upload_max_filesizeが2M。 先ほどダウンロードしたlocalhost.sqlは2.9M。アップロードに失敗しました。 なので、php.iniを編集。 [cc lang="bash"]

vi /etc/php.ini

[/cc] 以下の部分を編集。 [cc lang="ini"] ; Maximum allowed size for uploaded files. ; http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize ; upload_max_filesize = 2M デフォルト値 upload_max_filesize = 4M [/cc] Apache2のリスタート [cc lang="bash"]

/etc/rc.d/init.d/httpd restart

[/cc] これでアップロードでき、新サーバーのMySQLにデータベースを取り込むことができました。

4.PHPのアップデート

データの移行が完了したので、t-wata.com(新サーバー)/wordpress/にアクセスしてみました。 しかし、PHPのバージョンが古いため対応してないとのメッセージが表示されました。 移行するWordpressのバージョンは3.3。 デフォルトでインストールされているPHPのバージョンは5.1.6。

そのため、以下の方法でPHPのバージョンを5.3.3にアップデート。 PHPのアップデート

5.WordPressのデータベースの設定を変更

PHPのアップデートをしたので、再びt-wata.com(新サーバー)/wordpress/にアクセスしてみました。 するとデータベースエラーが発生して、見ることができない。 これはWordPressの設定ファイル無いの、データベースの設定項目の情報が古いままであったことが原因でした。 [cc lang="bash"]

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

[/cc] 以下の部分を編集して、設定。 [cc lang="php"] // MySQL 設定 - こちらの情報はホスティング先から入手してください。 // /* WordPress のためのデータベース名 / define('DB_NAME', '(データベース名)');

/* MySQL データベースのユーザー名 / define('DB_USER', '(ユーザー名)');

/* MySQL データベースのパスワード / define('DB_PASSWORD', '(パスワード)');

/* MySQL のホスト名 / define('DB_HOST', 'localhost');

/* データベースのテーブルを作成する際のデータベースのキャラクターセット / define('DB_CHARSET', 'utf8');

/* データベースの照合順序 (ほとんどの場合変更する必要はありません) / define('DB_COLLATE', ''); [/cc] これで再び、t-wata.com(新サーバー)/wordpress/にアクセスしてみると、無事表示されました。

6.サブディレクトリをルートディレクトリとして表示

今の設定では、ルートディレクトhttp://t-wata.comにアクセスすると、apacheのデフォルトのindexが表示されてしまうので、設定を変更。 WordPressの設定画面から、サイトアドレスをhttp://t-wata.comになっていることを確認。 そして、wordpressディレクトリ内にあるindex.phpをドキュメントルートにコピー。 コピーしたindex.phpの下記部分をWordPressの設定画面で設定したサイトアドレスに変更して保存。 [cc lang="php"] /* Loads the WordPress Environment and Template / require('./wordpress/wp-blog-header.php'); //ここを編集 [/cc] これでhttp://t-wata.comにアクセスすると、トップページが表示されるようになりました。

7.ディレクトリ所有者の変更

wordpressディレクトリの所有者がrootになっていたため、記事を投稿する際に画像のアップロードができませんでした。 そこで以下のコマンドでwordpressディレクトリの所有者を変更。 [cc lang="bash"]

chown -R apache:apache wordpress

[/cc] これで画像もアップロードできるようになりました。
とりあえず、現在の設定はここまで。 今のところ、以前と変わらず動いているようなので、大丈夫かな。