メニュー 閉じる

WEB で公開中のWordPress サイトをローカル環境で再構築する。

WEB で公開しているWordPress(以降、WP)で作成したブログサイトをローカル環境にて再構築する手順を検証しています。

目的は、WP サイトのバックアップの内容に問題がないかの確認を兼ねつつ、検証環境も作ることです。

再構築に必要なので、準備するもの。

  • WordPress がインストール可能な環境のサーバー
    • Apache、PHP、データーベース などのWP 動作に必要なものがインストールされている。
      (新規でWP をインストールして動けばOKだと思います。)
  • 再構築するWP サイトのバックアップデータ
    • WP のインストールフォルダ
    • データベースのエクスポートデータ

再構築の手順

  • WordPress インストールフォルダのコピー
  • データベースのインポート
  • wp-config の編集
  • (必要に応じて)Apache の設定など

WordPress インストールフォルダのコピー

ダウンロードしたWP インストールフォルダをApache のドキュメントルートに設定されているフォルダ以下へ移動。

この時、サイトURLが「localhost/フォルダ名」になります。

データベースのインポート

新規でデータベースを一つ作成し、インポートタブからバックアップしたファイルをインポートします。

新規作成をクリックし、データベースを作成するの画面で、データベース名と、照合規則を入力(WEB サイトのものに合わせればいいと思います。)し、作成ボタンをクリックします。

新規作成したデータベースを選択して、インポートタブをクリック。

デフォルトだとインポートできるファイルの最長(最大値)が2M しかないので、以下の設定をしてファイルサイズを変更します。
(サイズ的に足りている、既に拡張済み、最初から大きい、という場合は不要な手順です。)

※インポートするファイルサイズが上限(最長)より大きい場合は、php.ini ファイルを編集して最大の値を変更して下さい。

php.ini ファイルで下記の設定値を変更します。

#php.ini
post_max_size = ***M
upload_max_filesize = ***M

ファイルサイズの問題がクリア出来たら、気を取り直してインポート。

ファイルを指定してOK すると、選択したインスタンスにテーブルがインポートされます。

URL の変更

WP サイトのURL をローカル向けのURL に変更します。

また、大概のWEB サイトはSSL 接続なので、ローカル環境がSSL 接続に対応していないのなら、ここでWP サイトのURL を「HTTPS」から「HTTP」へ変更して非SSL 接続への変更が必要になる(・・・はず。)という訳です。

この場合、SSL 接続じゃないとダッシュボードにアクセスできないので、データベースの値を直接変更して、サイトのURL を変更してしまいましょう。

ちなみにSSL 接続にすれば、URL を直打ちしてダッシュボードにアクセスし、URL を変更することが出来ます。

データベース上でURL の値が保存された箇所は、下図のようにサイトのURL を検索することでとあっさりと見つかると思います。

ダブルクリックすると値が編集できますので、ダブルクリックしてローカル向けのURL に変更します。

まずは、「HTTPS」を「HTTP」に変更します。
 →非SSL 化されます。

次に、アドレスの部分を修正。

デフォルトでは、
「<Apacheインストールフォルダ>\htdocs」フォルダ が、
「http://locahost」のURL になるので、htdocs 直下にWP インストールフォルダをコピーした場合、
「http://locahost/<WP インストールフォルダ名>」
がサイトのアドレスになります。

私の場合は、「http://localhost/zapping_backup」になりますね。
「localhost」は自分自身を指すURL なので、自分以外の他のローカル上の端末からこのサイトにアクセスしたい場合は、localhost の部分をホスト名に変更します。
例えば、http://localserver.co.jp/zapping_backup こんな感じで。

データベースの参照情報の変更。

コピーしたWP のインストールフォルダ内にある、wp-config.php の下記の設定値をローカル環境に合わせて編集します。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
 /** WordPress のためのデータベース名 */
 define('DB_NAME', 'local-db'); データベースのインポート先
 /** MySQL データベースのユーザー名 */
 define('DB_USER', 'sqladmin'); インポートしたデータベースにアクセスできるユーザー
 /** MySQL データベースのパスワード */
 define('DB_PASSWORD', '**********'); 同パスワード
 /** MySQL のホスト名 */
 define('DB_HOST', 'localhost'); MySQL のインストール先による。

php.ini にて、mbstring を有効化します。
その他のphp の設定もレンタルサーバーの設定と合わせると良いと思います。

Apache を再起動。

この時点でサイトのトップは閲覧可能、ダッシュボードにアクセス可能。になると思います。

早速、WP サイトへアクセスしてみましょう。
ローカル環境はWEB から切り離した状態で検証しないとうっかりWEB 上のサイトにつながったりしますので、ご注意ください。

ただし、パーマリンクが「日付と投稿名」だと記事が見れない、ページ遷移できないという、現象が起きるかもしれません。(環境に依存する問題なので。)
簡単な対策としては、パーマリンクを「基本」に設定することで解決すると思います。

パーマリンクの問題

以下は、私の環境でそれが起きた時の対処内容のまとめです。
パーマリンクを基本以外で使用したい場合は、参考になるかもです。

現象

パーマリンクが「日付と投稿名」だと記事が見れない、ページ遷移できない。

見られない(日付と投稿名)
localhost/zapping_backup/2020/12/16/where-is-share-folder-in-linux-centos/

見られる(基本)・・・ID による参照
localhost/zapping_backup/?p=11883

ID による参照では問題ないところを見ると、URL の変換の問題か、URL がデータベースに書き込まれているか、です。

投稿名については、書き込まれているのを見つけましたが、以前のURL が書き込まれている様子は見当たりません。

調べていくうちに、浮かんできたのが以下の2つ。

Apache のhttpd.conf の設定「AllowOverride」を「all」に設定する。

mod_rewirte の導入。

モジュールが同梱されていることは確認したので、httpd.conf でrewrite_module を有効化する。
大体のモジュールは同梱されていて助かりますね。

LoadModule で有効化する。
コメントアウトしてあるだけなので、削除するだけです。

最後に、Apache を再起動。
ブラウザのキャッシュも消した方がいいかもです。

日付と投稿名のURL で、記事が見られるようになった。

Posted in backup, WordPress

1件のコメント

  1. ピンバック:[WordPress] バージョンの更新や、プラグインのインストールができない場合の対処法。 - .zapping

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です