サイト管理人Blog

cloudfreeで「さぁ始めましょう♪」

WordPressをローカル環境に丸ごと再現させる

2023-11-04 記載
概要 : cloudfreeサーバにあるWordPressをローカル環境内に丸ごと再現させます
Keyword : WordPress, MariaDB, FileZilla, phpMyAdmin, cloudfree,

Apacheをいれて、SSLをListenし、PHPをいれて、MariaDBをいれて、FileZillaの設定も整って。
これで表題の「WordPressをローカル環境に丸ごと再現させる」が可能になりました。

作業にかかる前に一点。
localhostでは、MySQLをPort3306、MariaDBを6603でサービスしていましたが、MariaDBを「メインのMySQL」(←ややこしい表現^^;)にしていくつもりなので、このPortを入れ替えます。

C:\pgm\mariadb\data\my.ini
[mysqld]
port=3306
[client]
port=3306

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
[client]
port=6603
[mysqld]
port=6603

それぞれのmy.iniを書き換えるだけでバッチリ入れ替わってくれました。(さすがOracle 👏)
phpMyAdminのconfig.inc.phpのPortも書き換えて接続を確認OK。

いざ作業。対象のデータベース名を”web_journal”と仮定して手順を書くと。

[cloudfree管理パネル]
上部「サーバ: localhost >> データベース: web_journal」
と対象のデータベースを選択状態にして、
→タブ「エクスポート」のボタン「エクスポート」クリック

web_journal.sql
がダウンロードされる。

※これにはCREATE DATABASEは入っていないので、事前にローカルDBに作成しておくか、
以下のSQL(サーバ全体のエクスポートで取得できるSQLの一部)を先頭に付加する。

CREATE DATABASE IF NOT EXISTS web_journal DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE web_journal;

[ローカルのphpMyAdmin]
サーバ: localhost(MariaDB:3306)
データベース: web_journal

cloudfreeサーバと同じuser/passwordでユーザーを作成し
データベースweb_journalに対して全権を与える
(phpMyAdminのconfig.inc.phpのアカウントもrootから作成ユーザーに書き換えておく)

上部「サーバ: MariaDB localhost:3306:3306 >> データベース: web_journal」
(データベースが空の状態から)
→タブ「インポート」→[参照]で”web_journal.sql”を選択して→[インポート]
ローカルのSearchReplaceDBmasterを開く。
SearchReplace:replace “web.cloudfree.jp” with “web.cloudfree.jp”
database name:web_journal
Which Tables?:all tables

コンテンツ次第だが私の場合以下の4TableがReplace対象になりました。
wp_comments / wp_options / wp_postmeta / wp_posts
Replace実行させたあと、ローカルのphpMyAdminでwp_optionsテーブルを確認すると
siteurl, home の2行は変わっていました。(当然)

DB作業は完了。次はファイル。

ローカルストレージの準備。以下フォルダを作成。
X:/xxx/ftp_home/web.cloudfree.jp/public_html/journal
※ “X:/xxx”は各自の環境

FileZillaでサーバの/public_html/journal/* を全件 ローカルにダウンロード。

MariaDBをPort3306でListenするようにしたおかげで、
“wp-config.php”は一切書き換えることなくcloudfree・localhost共通で使えます。

Apacheのhttpd.conf末尾あたりに追記してApache再起動

Alias /cloudfree "X:/xxx/ftp_home/web.cloudfree.jp/public_html/"
<Directory "X:/xxx/ftp_home/web.cloudfree.jp/public_html/">
AllowOverride All
Require all granted
</Directory>

これで
https://web.cloudfree.jp/journal/
から開けるが”web.cloudfree.jp”となるので、
.htaccessの RewriteBase がサーバと違ってしまいます。
public_html以下を\Apache24\htdocsに配置すればよいのですが、
それはWordPressだけ展開させてる場合はそれでよいとしても、
フレームワーク導入でlaravel等のpublic_htmlより上にPathをつなげるときに困ります。
よって.htaccessだけは個別に対応。

https://web.cloudfree.jp/journal/wp-admin/
を開いてみたらcloudfreeサーバと同じアカウントでログインして
クローンなサイトをローカル内で稼働させることができました。

これでWordPressの設定等で
『こんなことをしたら壊れてしまうかもしれない』
『訳分からずいじりまわして元に戻せなかったらどうしよう』
というようなことでも、すべて無かったことにできるローカルで試せるから安心です。

投稿へのコメントは コチラ(掲示板) へお願いします。

サイト管理人Blog