wordpressサーバーの移転をしたメモ
サーバーを新調したので、古いサーバーで稼働中のwordpressを新サーバーへと移転した。
備忘録。
ついでにPHP、MySQL、Apacheを最新のものに変えた
大した作業はしてない。 ざっくりまとめると、
- 移行元 wordpress本体(wordpress-X.X.X-ja.tar.gzで展開されるディレクトリ)をごっそり移行先にコピー
- 移行元 DBをエクスポート
- 移行先 wordpress本体を展開
- 移行先 DBをインポート
やったこと
下準備
とりあえず移行元のwordpressを管理画面から最新に更新
移行先DBにwordpressで使ってたDBユーザーを作っておく
(アカウントの設定はwp-config.phpに書かれてる )
wordpressファイルの移行
wordpress本体をrsyncで移行先にSSH転送
(DocumentRoot長いからとりあえず/var/www/wordpressてことにする)
//移行元で実行 $ sudo rsync -avz /var/www/wordpress SSHユーザー名@ホスト名:/var/www/
※rsyncはコピー元PATHの末尾の"/"があるかないかで挙動が変わるから注意
Command Technica:はじめてrsyncを使う方が知っておきたい6つのルール (1/2) - ITmedia エンタープライズ
DBの移行
mysqldumpでDBをエクスポート&SCPで移行先にdumpを転送
移行元で実行
$ /usr/local/mysql/bin/mysqldump -u root -p wordpress > wordpress.dump $ scp -P /tmp/wordpress.dump SSHユーザー名@ホスト名:/tmp
DBをインポート
移行先で実行
$ /usr/local/mysql/bin/mysql -u root -p wordpress < /tmp/wordpress.dump
あとはhttp経由で移行できてるか確認
エラー
お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。
PHP7からMySQL拡張が利用できなくなり、wordpressではMySQLi拡張を使用するらしい
mysqliを有効にしてphp再インストール&apache再起動
$ sudo /usr/local/apache2/bin/apachectl stop $ cd /usr/local/src/php-7.0.1 $ make distclean $ ./configure --with-pdo-mysql=/usr/local/mysql \ --with-mysqli=/usr/local/mysql/bin/mysql_config \ --with-apxs2=/usr/local/apache2/bin/apxs \ --enable-mbstring \ --without-gd \ --with-zlib \ --with-curl $ make $ sudo make install $ sudo /usr/local/apache2/bin/apachectl start
確認したらちゃんと動いてた。
オワリ