WordPress 別サーバへ移行

クラウド環境のWordpressをテスト用に手持ちのLINUX環境へ移行した。
トップページは表示されるがサブページを表示できない(404エラー)で苦労したので、備忘として残します。

■基本的な移行について
1. DB
 【移行元】
 元のDBを丸ごとエクスポート。
 phpMyAdminを使う場合、DB一覧から対象DBを選択してエクスポートを実行する。
 createとinsertで構成されたsqlを出力することができる。
 【移行先】
 DBを作成する。移行元と同じ名前でなくてもOK。ユーザも作成するがこちらも元と異なってもOK。
 【移行実施】
 テーブル内に元サイトのドメインが入っているので、エディタで編集。
 例えば元ドメインが「hogehoge.com」でこれを「192.168.1.1」に変更するといったこと。
 秀丸やらさくらエディタでsqlファイルを開いて一括変換するのが楽。
 移行先DBに対して、エクスポートしたsqlを丸ごと実行。
 MySQL Workbenchやmysqlコマンドを使う場合には「use DB名」をまず実行しましょう。
 
2. 各種ファイル
 【移行元】
 移行したい対象テーマをディレクトリごと圧縮する。圧縮することで属性もそのまま移行できる。
 【移行先】
 特に準備なし。
 【移行実施】
 圧縮したファイルを解凍する。解凍先はWordpressの構成による。
 一番シンプルなのはhttpdのホームディレクトリ直下。
 /var/www/html といった感じ。

3. 設定などの変更
 【ドメイン置換】
 DB同様にドメインを編集する。
 これも秀丸やさくらエディタのGrep置換を利用すると楽にできる。
 【wp-config.php】
 新DBの接続情報を書き換える。
 プロキシを使っている環境では、それも追記すること。
 【パーマネントリンク対応】
 ここで見事にはまった。トップページはなんなく表示できるが、内部リンクページが表示できない。
 LINUX環境移行前にPC上のWordpressでは何も意識せずに正常動作していたので、個別ファイルではなくLINUXに絡む問題というあたりはついた。
 その1:.httaccessの属性変更
  乱暴だが「chmod a+w .httaccess」を実行。状況変わらず。
 その2:移行先ディレクトリの属性変更
  同じく「chmod a+w 移行先ディレクト」を実行。状況変わらず。流石にサブディレクトリにまで書き込み権限を与えるのは怖くて、そこまでは実施せず。
 その3:http.conf編集
  最終行に以下の設定を追加。wordpress部分は環境にあわせて。
  
   AllowOverride All
  

  状況変わらず。そもそもPCではこの設定を行っていないのであまり期待していなかった。
 その4:対象ディレクトリのオーナー変更
  ここまでのLINUX上での作業は root で行っていた。普通に考えたら、httpdが参照する場所のオーナーはapacheだよね、ということに気が付く。
  chown -R apache.apache /var/www/wordpress
  これをやったら見事に成功。
  プラグインも引き継がれているらしい。
 
基本は大切に、という教訓です。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください