パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

Wordpress 内部チェック用サイトと公開用サイトを用意したい

追記 : 下記の方法ではうまくいかないぽい。別の方法を検討中…

あるサーバーのあるドメインの下で、Wordpress で作った内部チェック用のサイトと公開用のサイトを用意したいと思ったのだが、これが素人の小生には結構難しいことがわかった。git のリポジトリに、master とブランチでうまくやっていけたらな、と思っていたがとてもとても。一つの大きい壁は、サイトの中身はデータベース上にある、ということ。

とりあえず仮の URL http://〜/kari/ の下で、内部チェック用のサイトを公開する所まではできている。チェックが済んだ時点で、http://〜/hp/ の下で公開するようにしたい。/var/www/html/kari 以下のファイルを /var/www/html/hp へコピーしても全然駄目である。DB の中に kari/ を参照するパスが多数入っているので。

今の所、所望の結果に近いのは、(小生は DB に MySQL 使用)

  • まず、それぞれのサイト用に別々のデータベース(DB)を用意する。DB のユーザは同じでもいいっぽい。create して grant all privileges して、flush privileges する。
  • 内部チェック用サイトの DB をバックアップとしてダンプしておく(mysqldump 〜)。
  • そして、内部チェック用サイトの Wordpressダッシュボードの設定>一般で、URL を書き換えて変更を保存する。すると DB が書き換えられているらしい。この間、内部チェック用サイトはアクセス禁止。
  • この書き換えられた DB をダンプして、公開用サイトの DB にリストアする。(mysql -u root -p -D hpwp < dump.txt)
  • 内部チェック用サイトも、バックアップした DB のダンプをリストアしてもとに戻しておく。

という手順でなんとなく行けそうな雰囲気。後、.htaccess も、なんかパスが入っているので、一応書き換えておく。

ダンプしたファイルの URL を直接書き換える(文字列の置換)を試してみたが、一部、文字数もデータに含まれている所があり、うまくいかなかった。特にテーマをカスタマイズしている所は、引き継げなかった。

ただ、両方のサイトに、別々の BASIC 認証を設定したのだが、Chrome だと、両方のサイトを同時に開いていると、しょっちゅうユーザ名とパスワードの入力を要求されて、かなり面倒。別のブラウザでそれぞれをアクセスした方が良さそう。ユーザー名は変えているのだが、BASIC 認証ってそんなに面倒なのか?

しかし、正式公開の度に上記の作業をするのは面倒だなぁ。同じような事をしてくれるプラグインとかありそうなものだが(探してない…)。